Java Swing(C/S模式)特效雨滴系统界面

2023-10-09 17:10

本文主要是介绍Java Swing(C/S模式)特效雨滴系统界面,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

                   



 


调节不同参数,生成不同特效:

  





                                        ------------------界面截图--------------------- 

package org.jd.data.netty.big.window.chat.frame.ui.controller.center;
import lombok.extern.slf4j.Slf4j;
import java.util.concurrent.*;/*** 设计模式: 单例模式*  * 自定义线程池: 实现业务需求:*  * 可以获取线程池内部细节,对排查程序故障有很大的好处* <p>@Description: 自定义线程池</p>* <p>@Copyright: Copyright (c)2,023</p>* <p>@Company: 北京惠农科技有限公司</p>* <P>@Created Date :2023年03月19日</P>* <P>@version 1.0* <p>@author yh19166</p>*/
@Slf4j
public final class SSOCustomerThreadPoolExecutor extends ThreadPoolExecutor {private static final int corePoolSize = 4;private static final long keepAliveTime = 10;private static final int maximumPoolSize = 10;private static final TimeUnit unit = TimeUnit.MILLISECONDS;  // 微秒private static final BlockingQueue<Runnable> workQueue = new LinkedBlockingQueue<>(10); // 队列容量private static final ThreadFactory threadFactory = new SSOCustomerThreadFactory();private static class SSOCustomerThreadPoolExecutorHandler {private static SSOCustomerThreadPoolExecutor newInstance = new SSOCustomerThreadPoolExecutor(maximumPoolSize * 2, threadFactory);}public static SSOCustomerThreadPoolExecutor newInstance() {return SSOCustomerThreadPoolExecutor.SSOCustomerThreadPoolExecutorHandler.newInstance;}private SSOCustomerThreadPoolExecutor(int maximumPoolSize, ThreadFactory threadFactory) {super(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, threadFactory,new SSORejectedExecutionHandler());}
@Overrideprotected void beforeExecute(Thread task, Runnable r) {   Runtime runtime = Runtime.getRuntime();int cupNum = runtime.availableProcessors();// 获取可以的CUP数量long freeMemory = runtime.freeMemory(); // 空闲内存 kb;long maxMemory = runtime.maxMemory();long totalMemory = runtime.totalMemory();System.out.println("current name: " + task.getName() + " | beforeExecute 可以的CPU数量: " + cupNum + " | 空闲内存: " + freeMemory + " | 最大内存: " + maxMemory + "  | 总内存: " + totalMemory);}@Overrideprotected void afterExecute(Runnable task, Throwable t) {     System.out.println("afterExecute Thread name : " + task.getClass().getSimpleName()+ " | current thread status :" + Thread.currentThread().getState()+ " current thread id : " + Thread.currentThread().getId() + " | afterExecute poolSize : "+ this.getPoolSize() + " | threadPool task num : "+ this.getTaskCount() + " | finished task num: "+ this.getCompletedTaskCount() + " | not finished task num: " + (this.getTaskCount() - this.getCompletedTaskCount()));System.out.println("============================================================================================================================================");Runtime runtime = Runtime.getRuntime();int cupNum = runtime.availableProcessors();// 获取可以的CUP数量long freeMemory = runtime.freeMemory(); // 空闲内存 kb;long maxMemory = runtime.maxMemory();long totalMemory = runtime.totalMemory();try {System.out.println("current name: " + task.getClass().newInstance() + " | beforeExecute 可以的CPU数量: " + cupNum + " | 空闲内存: " + freeMemory + " | 最大内存: " + maxMemory + "  | 总内存: " + totalMemory);} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}System.out.println("============================================================================================================================================");}}

  





package org.jd.data.netty.big.window.chat.frame.ui.room.main;import com.sun.awt.AWTUtilities;
import org.jd.data.netty.big.window.chat.frame.ui.controller.center.SSOControllerCenterManager;
import org.jd.data.netty.big.window.chat.frame.ui.room.custom.RJButton;
import org.jd.data.netty.big.window.chat.frame.ui.room.metal.SSOSumMetalTool;
import org.jd.data.netty.big.window.chat.frame.ui.room.system.SSOSystemIni;
import javax.swing.*;
import javax.swing.border.LineBorder;
import java.awt.*;
import java.awt.event.*;/*** 窗体显示风格* * 酒店主窗体*/
public class HotelMainFrame extends JFrame implements ActionListener, MouseListener, Runnable {public static String userId;private static String puiLi;public static JLabel jLabelA;public static JLabel jLabelB;private static String clue = "   提示:  ";private static String face = "     当前操作界面 :  ";// 声明与菜单相关的组件private JMenuBar jMenuBar;private JMenu jMenu1;private JMenu jMenu2;private JMenu jMenu3;private JMenu jMenu4;private JMenu jMenu5;private JMenu jMenu6;private JMenu jMenu7;private JMenu jMenu8;private JMenu jMenu9;private JMenu jMenu10;// 来宾登录private JMenuItem jMenuItem1;private JMenuItem jMenuItem2;private JMenuItem jMenuItem3;private JMenuItem jMenuItem4;private JMenuItem jMenuItem5;private JMenuItem jMenuItem6;private JMenuItem jMenuItem7;private JMenuItem jMenuItem8;private JMenuItem jMenuItem9;// 收银结算private JMenuItem jMenuItem21;private JMenuItem jMenuItem22;private JMenuItem jMenuItem23;private JMenuItem jMenuItem24;private JMenuItem jMenuItem25;// 系统维护private JMenuItem jMenuItem31;private JMenuItem jMenuItem32;private JMenuItem jMenuItem34;// 声明与工具栏相关的组件private JToolBar jToolBar;private RJButton jButton1;private RJButton jButton2;/*private JButton jButton3;*/private RJButton jButton4;private RJButton jButton5;private RJButton jButton6;private RJButton jButton7;private RJButton jButton8;private RJButton jButton9;private RJButton jButtonA;// 声明与分割面板相关的组件private JSplitPane jSplitPaneMain;private JSplitPane jSplitPaneLeft;private JSplitPane jSplitPaneRight;//模块接口private JPanel panelMain;private JPanel bott;private JPanel jp2;private JPanel jp3;private JPanel jp4;// 主窗口左边面板private HotelMainLeftTopPanel jp1;//功能提示private String toolTip[] = {"零散宾客入住登记                      ","团体入住登记                        ","关于本软件的支持信息                    ","宾客退房结算                        ","为宾客预订房间                       ","查询营业情况                        ","为酒店固定客户设置参数                   ","设置系统的网络连接方式                   ","设置系统参数                        ","返回Windows                       "};public HotelMainFrame(String us, String pu) {super("惠农数字化酒店管理系统");// 操作员名称userId = us;puiLi = pu;// 主面板panelMain = new JPanel(new BorderLayout());// 制作菜单buildMenuBar();// 制作工具栏buildToolBar();// 制作分割面板buildSPanelMain();// 制作窗口底部信息框buildBottom();// 加入组件到主面板panelMain.add("North", jToolBar);// 加入窗口底端信息框panelMain.add("South", bott);// 加入分割面;panelMain.add("Center", jSplitPaneMain);// 加入菜单栏this.setJMenuBar(jMenuBar);// 加入监听器addListener();this.addWindowListener(new WindowAdapter() {@Overridepublic void windowClosing(WindowEvent e) {quit();}});// 设置内容面板Container container = this.getContentPane();container.add(panelMain);this.setBounds(2, 2, 1400, 800);//居中显示this.setLocationRelativeTo(null);this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);// 设置最小显示尺寸this.setMinimumSize(new Dimension(1400, 800));this.setVisible(true);// 使用自定义线程池来管理SSOControllerCenterManager serverExecutor = SSOControllerCenterManager.newInstance();serverExecutor.getExecutorService().submit(this);}private void quit() {String msg = "您 现 在 要 关 闭 系 统 吗 ?";int flag = JOptionPane.showConfirmDialog(this, msg, "提示", JOptionPane.YES_NO_OPTION);if (flag == JOptionPane.YES_OPTION) {//Journal.writeJournalInfo(userId, "退出本系统", Journal.TYPE_LG);//记录操作日志this.setVisible(false);System.exit(0);}}private void addListener() {//来宾登记jMenuItem1.addActionListener(this);jMenuItem2.addActionListener(this);jMenuItem3.addActionListener(this);jMenuItem4.addActionListener(this);jMenuItem5.addActionListener(this);jMenuItem6.addActionListener(this);jMenuItem7.addActionListener(this);jMenuItem8.addActionListener(this);jMenuItem9.addActionListener(this);//收银结算jMenuItem21.addActionListener(this);jMenuItem22.addActionListener(this);jMenuItem23.addActionListener(this);jMenuItem24.addActionListener(this);jMenuItem25.addActionListener(this);//系统维护jMenuItem31.addActionListener(this);jMenuItem32.addActionListener(this);jMenuItem34.addActionListener(this);//按键加动作监听jButton1.addActionListener(this);jButton2.addActionListener(this);/*jButton3.addActionListener (this);*/jButton4.addActionListener(this);jButton5.addActionListener(this);jButton6.addActionListener(this);jButton7.addActionListener(this);jButton8.addActionListener(this);jButton9.addActionListener(this);jButtonA.addActionListener(this);//按键加鼠标监听jButton1.addMouseListener(this);jButton2.addMouseListener(this);jButton4.addMouseListener(this);jButton5.addMouseListener(this);jButton6.addMouseListener(this);jButton7.addMouseListener(this);jButton8.addMouseListener(this);jButton9.addMouseListener(this);jButtonA.addMouseListener(this);}// 制作窗口底部信息框private void buildBottom() {JLabel jLabel1 = new JLabel("    惠 农 数 字 化 酒 店 管 理 系 统    ");JLabel jLabel2 = new JLabel("    当前操作员 :  " + userId + "                  ");jLabelA = new JLabel(clue + "请选择功能项 ...                       ");jLabelB = new JLabel(face + "惠 农 数 字 化 酒 店 管 理 系 统   ");// 给标签添加外边框jLabelA.setBorder(new LineBorder(new Color(87, 87, 47)));jLabelB.setBorder(new LineBorder(new Color(87, 87, 47)));jLabel1.setBorder(new LineBorder(new Color(87, 87, 47)));jLabel2.setBorder(new LineBorder(new Color(87, 87, 47)));// 设置底部面板布局方式为流式布局;组件基左,水平和竖直间隙为2bott = new JPanel(new FlowLayout(FlowLayout.LEFT, 2, 2));bott.add(jLabel1); // 组件显示与添加顺序有关系bott.add(jLabelA);bott.add(jLabelB);bott.add(jLabel2);}// 制作主面板private void buildSPanelMain() {// 左侧顶部的面板jp1 = new HotelMainLeftTopPanel();// 左下面板;快速通道jp2 = new HotelMainLeftBottomPanel();//  /jp3 = new HotelMainRightTopPanel();// 右下面板, 消费信息表jp4 = new HotelMainRightBottomPanel();// 声明分割面板jSplitPaneLeft = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true, jp1, jp2);jSplitPaneRight = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true, jp3, jp4);jSplitPaneMain = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, jSplitPaneLeft, jSplitPaneRight);// 设置面板的最小尺寸jp1.setMinimumSize(new Dimension(157, 450));jp2.setMinimumSize(new Dimension(157, 94));jp3.setMinimumSize(new Dimension(875, 300));jp4.setMinimumSize(new Dimension(875, 94));jSplitPaneRight.setMinimumSize(new Dimension(875, 565));// 设置分割条是否有伸缩键jSplitPaneMain.setOneTouchExpandable(true);jSplitPaneRight.setOneTouchExpandable(true);// 设置各面板的初始尺寸jSplitPaneMain.setDividerLocation(160);jSplitPaneLeft.setDividerLocation(450);jSplitPaneRight.setDividerLocation(450);// 设置分割条宽度jSplitPaneMain.setDividerSize(10);jSplitPaneLeft.setDividerSize(23);jSplitPaneRight.setDividerSize(23);}// 制作工具栏private void buildToolBar() {jToolBar = new JToolBar();//URL url1 = ClassLoader.getSystemResource("image/hotel/bar/tool/m01.gif");ClassLoader classLoader = RJButton.class.getClassLoader();String basePicPath = "image/hotel/bar/tool/"; // 后期放到配置文件中去//制作按键jButton1 = new RJButton(classLoader.getResource(basePicPath + "m01.gif").getPath(), "  个人订房  ", "零散宾客入住登记", true);jButton2 = new RJButton(classLoader.getResource(basePicPath + "m02.gif").getPath(), "  多人订房  ", "团体入住登记", true);jButton4 = new RJButton(classLoader.getResource(basePicPath + "m04.gif").getPath(), "  旅客结帐  ", "宾客退房结算", true);jButton5 = new RJButton(classLoader.getResource(basePicPath + "m05.gif").getPath(), "  预订房间  ", "为宾客预定房间", true);jButton6 = new RJButton(classLoader.getResource(basePicPath + "m06.gif").getPath(), "  营业查询  ", "查询营业情况", true);jButton7 = new RJButton(classLoader.getResource(basePicPath + "m07.gif").getPath(), "  客户管理  ", "为酒店固定客户设置", true);jButton8 = new RJButton(classLoader.getResource(basePicPath + "m08.gif").getPath(), "  网络设置  ", "设置连接方式", true);jButton9 = new RJButton(classLoader.getResource(basePicPath + "m09.gif").getPath(), "  系统设置  ", "设置系统参数", true);jButtonA = new RJButton(classLoader.getResource(basePicPath + "m10.gif").getPath(), "  退出系统  ", "返回Windows", true);// 把按键添加如工具栏/*** Appends a separator of default size to the end of the tool bar.* The default size is determined by the current look and feel.*/jToolBar.addSeparator(); // 添加分割线;就是一小段空白小区域jToolBar.add(jButton1);jToolBar.add(jButton2);jToolBar.addSeparator();jToolBar.add(jButton4);jToolBar.add(jButton5);jToolBar.add(jButton6);jToolBar.addSeparator();jToolBar.add(jButton7);jToolBar.add(jButton8);jToolBar.add(jButton9);jToolBar.addSeparator();jToolBar.addSeparator();jToolBar.add(jButtonA);// 设置工具栏不可浮动jToolBar.setFloatable(true);}// 制作菜单private void buildMenuBar() {// 实例菜单栏jMenuBar = new JMenuBar();jMenuBar.setBorder(BorderFactory.createTitledBorder(new LineBorder(Color.GRAY,1)));// 实例菜单jMenu1 = new JMenu("来宾登记");jMenu1.addSeparator();jMenu1.addSeparator();jMenu2 = new JMenu("收银结算");jMenu2.addSeparator();jMenu2.addSeparator();jMenu3 = new JMenu("系统维护");jMenu3.addSeparator();jMenu3.addSeparator();jMenu4= new JMenu("报表统计");jMenu4.addSeparator();jMenu4.addSeparator();jMenu5= new JMenu("草稿箱");jMenu5.addSeparator();jMenu5.addSeparator();jMenu6= new JMenu("回收站");jMenu6.addSeparator();jMenu6.addSeparator();jMenu7= new JMenu("消息中心");jMenu7.addSeparator();jMenu7.addSeparator();jMenu8= new JMenu("流程审批");jMenu8.addSeparator();jMenu8.addSeparator();jMenu9= new JMenu("监控中心");jMenu9.addSeparator();jMenu9.addSeparator();jMenu10= new JMenu("聊天室");jMenu10.addSeparator();jMenu10.addSeparator();// 实例菜单项jMenuItem1 = new JMenuItem("散客开单");jMenuItem2 = new JMenuItem("团体开单");jMenuItem3 = new JMenuItem("宾客续住");jMenuItem4 = new JMenuItem("更换房间");jMenuItem5 = new JMenuItem("修改登记");jMenuItem6 = new JMenuItem("房间状态");jMenuItem7 = new JMenuItem("预订管理");jMenuItem8 = new JMenuItem("电子提醒");jMenuItem9 = new JMenuItem("退出系统");jMenuItem21 = new JMenuItem("宾客结账");jMenuItem22 = new JMenuItem("合并帐单");jMenuItem23 = new JMenuItem("折分帐单");jMenuItem24 = new JMenuItem("宾客消费明细查询");jMenuItem25 = new JMenuItem("宾客退单明细查询");jMenuItem31 = new JMenuItem("网络设置");jMenuItem32 = new JMenuItem("系统设置");jMenuItem34 = new JMenuItem("数据备份");//未开发完毕的功能/*jMenuItem16.setEnabled(false);//未开发完毕的功能jMenuItem18.setEnabled(false);*/jMenuItem34.setEnabled(false);//组织菜单//来宾登记jMenu1.add(jMenuItem1);jMenu1.add(jMenuItem2);jMenu1.add(jMenuItem3);jMenu1.add(jMenuItem4);jMenu1.add(jMenuItem5);jMenu1.add(jMenuItem6);jMenu1.addSeparator();jMenu1.add(jMenuItem7);jMenu1.add(jMenuItem8);/*** Appends a new separator to the end of the menu.*/jMenu1.addSeparator();jMenu1.add(jMenuItem9);//收银结算jMenu2.add(jMenuItem21);jMenu2.add(jMenuItem23);jMenu2.add(jMenuItem23);//系统维护jMenu2.add(jMenuItem31);jMenu2.add(jMenuItem32);jMenu2.addSeparator();jMenu2.add(jMenuItem34);jMenu2.addSeparator();//加入菜单栏jMenuBar.add(jMenu1);jMenuBar.add(jMenu2);jMenuBar.add(jMenu3);jMenuBar.add(jMenu4);jMenuBar.add(jMenu5);jMenuBar.add(jMenu6);jMenuBar.add(jMenu7);jMenuBar.add(jMenu8);jMenuBar.add(jMenu9);jMenuBar.add(jMenu10);}@Overridepublic void actionPerformed(ActionEvent e) {}@Overridepublic void mouseClicked(MouseEvent e) {}@Overridepublic void mousePressed(MouseEvent e) {}@Overridepublic void mouseReleased(MouseEvent e) {}@Overridepublic void mouseEntered(MouseEvent e) {}@Overridepublic void mouseExited(MouseEvent e) {}@Overridepublic void run() {}public static void main(String sd[]) {SSOSumMetalTool.setWindowStyle(SSOSystemIni.getIniKey("Sys_style").charAt(0));HotelMainFrame hotelMainFrame = new HotelMainFrame("杨洋哥", "管理员");// 设置窗体透明度AWTUtilities.setWindowOpacity(hotelMainFrame, 0.95f);// 设置窗体透明//AWTUtilities.setWindowOpacity(hotelMainFrame, 0.51f);}}


                                           

                                               -------------特效雨滴--------------------

package org.jd.data.netty.big.window.chat.frame.ui.room.main;import org.jd.data.netty.big.window.chat.frame.ui.controller.center.SSOControllerCenterManager;import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.Point2D;/*** 左侧底部面板*/
public class HotelMainLeftBottomPanel extends JPanel implements ActionListener, MouseListener, FocusListener ,Runnable{private SSOControllerCenterManager ssoControllerCenterManager = SSOControllerCenterManager.newInstance();// 控制雨滴密度啊private volatile Point2D.Double[] pts = new Point2D.Double[2000];public HotelMainLeftBottomPanel(){this.setBackground(Color.WHITE);this.setOpaque(false); //把panel的背景色设为透明for (int i = 0; i < pts.length; i++) {pts[i] = new Point2D.Double(Math.random(), Math.random());}ssoControllerCenterManager.getExecutorService().submit(this);}@Overridepublic void actionPerformed(ActionEvent e) {}@Overridepublic void focusGained(FocusEvent e) {}@Overridepublic void focusLost(FocusEvent e) {}@Overridepublic void mouseClicked(MouseEvent e) {}@Overridepublic void mousePressed(MouseEvent e) {}@Overridepublic void mouseReleased(MouseEvent e) {}@Overridepublic void mouseEntered(MouseEvent e) {}@Overridepublic void mouseExited(MouseEvent e) {}@Overridepublic void paintComponent(Graphics g) {super.paintComponent(g);Graphics2D graphics2D = (Graphics2D) g;// 控制雨滴颜色// 随机的颜色,不超过255,在for循环中绘制for (int i = 0; i < pts.length; i++) {graphics2D.setColor(new Color((int) (250 * Math.random()), (int) (255 * Math.random()), (int) (25 * Math.random())));int x = (int) (2340 * pts[i].x);int y = (int) (1480 * pts[i].y);// 控制雨点的长度int h = (int) (100 * Math.random());//System.out.println("随机数:"+255*Math.random());// 条件不同的参数会得到不同的效果//graphics2D.drawLine(x, y, (x+y-500), y+h);graphics2D.drawLine(x, y, x, y + h); // 竖直向下//graphics2D.setColor(Color.BLACK);//graphics2D.setFont(new Font("宋体",Font.BOLD,14));//graphics2D.drawString("天空飘来两个字,那都不是事",x, y-250);}}@Overridepublic void run() {while (true) {for (int i = 0; i < pts.length; i++) {double x = pts[i].getX();double y = pts[i].getY();y += 0.1 * Math.random();if (y > 1) {y = 0.3 * Math.random();x = Math.random();}pts[i].setLocation(x, y);}this.repaint();try {Thread.sleep(100);} catch (InterruptedException ex) {ex.printStackTrace();}}}
}

这篇关于Java Swing(C/S模式)特效雨滴系统界面的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/u014635374/article/details/131870272
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/174324

相关文章

Spring Security常见问题及解决方案

《SpringSecurity常见问题及解决方案》SpringSecurity是Spring生态的安全框架,提供认证、授权及攻击防护,支持JWT、OAuth2集成,适用于保护Spring应用,需配置... 目录Spring Security 简介Spring Security 核心概念1. ​Securit

SpringBoot+EasyPOI轻松实现Excel和Word导出PDF

《SpringBoot+EasyPOI轻松实现Excel和Word导出PDF》在企业级开发中,将Excel和Word文档导出为PDF是常见需求,本文将结合​​EasyPOI和​​Aspose系列工具实... 目录一、环境准备与依赖配置1.1 方案选型1.2 依赖配置(商业库方案)二、Excel 导出 PDF

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1

spring中的@MapperScan注解属性解析

《spring中的@MapperScan注解属性解析》@MapperScan是Spring集成MyBatis时自动扫描Mapper接口的注解,简化配置并支持多数据源,通过属性控制扫描路径和过滤条件,利... 目录一、核心功能与作用二、注解属性解析三、底层实现原理四、使用场景与最佳实践五、注意事项与常见问题六

Spring的RedisTemplate的json反序列泛型丢失问题解决

《Spring的RedisTemplate的json反序列泛型丢失问题解决》本文主要介绍了SpringRedisTemplate中使用JSON序列化时泛型信息丢失的问题及其提出三种解决方案,可以根据性... 目录背景解决方案方案一方案二方案三总结背景在使用RedisTemplate操作redis时我们针对

Java中Arrays类和Collections类常用方法示例详解

《Java中Arrays类和Collections类常用方法示例详解》本文总结了Java中Arrays和Collections类的常用方法,涵盖数组填充、排序、搜索、复制、列表转换等操作,帮助开发者高... 目录Arrays.fill()相关用法Arrays.toString()Arrays.sort()A

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

如何使用Lombok进行spring 注入

《如何使用Lombok进行spring注入》本文介绍如何用Lombok简化Spring注入,推荐优先使用setter注入,通过注解自动生成getter/setter及构造器,减少冗余代码,提升开发效... Lombok为了开发环境简化代码,好处不用多说。spring 注入方式为2种,构造器注入和setter

使用zip4j实现Java中的ZIP文件加密压缩的操作方法

《使用zip4j实现Java中的ZIP文件加密压缩的操作方法》本文介绍如何通过Maven集成zip4j1.3.2库创建带密码保护的ZIP文件,涵盖依赖配置、代码示例及加密原理,确保数据安全性,感兴趣的... 目录1. zip4j库介绍和版本1.1 zip4j库概述1.2 zip4j的版本演变1.3 zip4

Java堆转储文件之1.6G大文件处理完整指南

《Java堆转储文件之1.6G大文件处理完整指南》堆转储文件是优化、分析内存消耗的重要工具,:本文主要介绍Java堆转储文件之1.6G大文件处理的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言文件为什么这么大?如何处理这个文件?分析文件内容(推荐)删除文件(如果不需要)查看错误来源如何避