Java
文章平均质量分 55
imdongrui
这个作者很懒,什么都没留下…
展开
-
使用java.util.zip包来生成压缩文件
简单总结,使用java.util.zip包来生成zip压缩文件主要有4个关键步骤: 1、定义压缩输出流,数据放入后再输出,会进行压缩; 2、放入一个文件实体,在此后直至下一次putNextEntry所有write的数据,均属于这个实体; 3、写入数据; 4、结束压缩;原创 2020-08-19 11:37:41 · 474 阅读 · 1 评论 -
Apache POI学习总结,Excel数据的导入与导出
Apache POI是一个用于支持Java程序操作Excel文件的jar包,本文介绍了如何使用poi在程序中生成Excel文件到指定路径以及读取Excel文件中的数据原创 2020-05-12 17:04:12 · 461 阅读 · 0 评论 -
阿里巴巴Java规范POJO的使用图解
原创 2020-02-11 10:47:19 · 1046 阅读 · 0 评论 -
Gson的简单使用
Gson是谷歌开发的一款Java实例与Json格式数据互相转换的工具。一、引入Gson依赖包Maven依赖<dependency> <groupId>com.google.code.gson</groupId&原创 2018-09-16 16:28:25 · 597 阅读 · 0 评论 -
使用JDBC连接数据库
本文测试程序使用MySQL数据库,不同数据库的驱动和URL格式有所差异。一、使用JDBC连接数据库的步骤加载数据库驱动//动态加载mysql驱动Class.forName("com.mysql.cj.jdbc.Driver");配置URLString url = "jdbc:mysql://localhost:3306/study?user=root&am...原创 2018-09-17 11:52:21 · 203 阅读 · 0 评论 -
Java中执行JS脚本
Java是静态语言,需要经过预先编译,所以在一些需求变动比较频繁的场景,使用起来很不方便,这个时候如果我们引入脚本来实现变动频繁的需求,就会很爽了。本文为在网友的文章基础上整理,记录在Java中执行JavaScript的方法,以此备忘。我们要执行的JavaScript脚本conwork.js:var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghij...原创 2018-12-06 23:42:40 · 2814 阅读 · 0 评论 -
基于HashMap的简易通用数据模型
在代码中我们往往会写很多的数据模型类型,然后这些数据模型中很多使用率并不高,甚至是在一个很小的细节中使用一次后再也无人问津,就放在那里吃灰。在使用这些数据模型时,往往也显得不够灵活,当数据字段增加时,需要去为数据模型增加属性,数据字段减少时往往也不会有人去删除属性。很多程序员使用HashMap来作为通用的数据模型,然而在使用会涉及大量的类型转换,使用起来十分不便,所以我基于HashMap对其进...原创 2018-12-15 12:38:00 · 367 阅读 · 0 评论 -
Java中简单使用RabbitMQ进行消息收发
需要使用的依赖包<dependency> <groupId>com.rabbitmq</groupId> <a原创 2019-01-09 13:39:45 · 16905 阅读 · 5 评论 -
配置Java环境变量
Windows中配置Java环境变量系统变量中添加JAVA_HOME,值为D:\Program Files (x86)\Java\jdk-10.0.2Path变量中添加**%JAVA_HOME%\bin;**建议添加在Path的最前面,因为如果添加在*%SYSTEMROOT%\System32*后面,在改变Java环境变量时可能系统依然会有缓存,导致环境变量切换不过来,甚至重启也...原创 2019-01-25 09:51:26 · 283 阅读 · 0 评论 -
使用Maven管理聚合项目
概述当我们的程序有多个模块组成时,我们可以使用Maven来组织聚合我们的项目。Maven聚合项目可以通过父子继承和模块聚合来实现。使用Maven来聚合项目,会有一个顶层项目,这个顶层项目并没有实际的业务功能,只是用来组织各个下级的模块项目,并且对项目的依赖插件等进行统一管理。项目结构com.study.cloud(顶层项目) com.study.cloud.eureka-server...原创 2019-01-25 16:59:13 · 704 阅读 · 0 评论 -
synchronized与Lock的简单对比分析
在Java中,要实现线程间的同步,有两种方式,一种是使用Java的关键字Synchronized,另一种是使用Lock接口的实现类,那么两种方式究竟有哪些异同,在使用时应该如何选择呢,下文对两种方式的实现机制做一个简单的分析,帮助理解和使用时抉择。synchronized与Lock的对比分析为了便于分析,我们构建一个小程序,自己构造一个Lock,然后和synchronized进行比较,解析以注...原创 2019-04-23 10:08:36 · 234 阅读 · 0 评论 -
Spring Boot中使用Spring Cache
Spring官方提供了Spring Cache在Spring Boot中的starter,所以要启动spring cache非常简便。一、导入缓存需要用到的依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-start...原创 2019-04-28 22:43:55 · 490 阅读 · 0 评论 -
Java NIO学习总结
概述Java NIO,全称Java non-blocking IO(也有说是Java New IO,个人认为前者各贴切),是Java在1.4版本时引入的一套新的IO和网络编程的API,可以作为Java标准IO的替代选择。Java BIO(Java blocking IO,即Java standard IO)是同步阻塞IO,Java NIO的引入是为了实现同步非阻塞的IO,从而提供多路(non-...原创 2019-07-26 15:04:30 · 446 阅读 · 0 评论 -
Netty学习总结
文章目录概述什么是Netty?为什么要使用Netty二不直接使用NIO?API使用使用Netty创建服务端程序一、主体代码二、childHandler三、ActualHandler使用Netty创建客户端程序一、主体代码二、handler三、ActualHandler使用Netty解决粘包问题LineBasedFrameDecoderDelimiterBasedFrameDecoderFixedL...原创 2019-09-09 13:30:59 · 228 阅读 · 0 评论 -
Java AIO知识总结
文章目录概述什么是AIO?AIO与NIO有什么区别?AIO性能比NIO更好吗?什么是epoll?AIO既然是异步的,那么如何获得操作结果?Java AIO的API使用了解CompletionHandler接口CompletionHandler源码解析completedfailedDemo基于AIO的简单时间服务Server端实现代码Client端实现代码概述什么是AIO?Java 1.7升级...原创 2019-09-09 13:36:26 · 1261 阅读 · 3 评论 -
Java中的时间运算
Java中进行时间加减计算Java中可以使用Calendar实例来进行时间的加减计算public static void main(String[] args) { Calendar calendar = Calendar.getInstance();// 获取Calendar实例 calendar.setTime(new Date());// 设置当前Calendar...原创 2018-08-16 17:56:35 · 3246 阅读 · 0 评论 -
学习Servlet
参考链接:http://www.runoob.com/servlet/servlet-tutorial.html 什么是Servlet?答:Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。简而言之就是Web服务器收到Http请求后,就让一个个Servlet...原创 2018-08-14 00:49:03 · 197 阅读 · 0 评论 -
Java创建文件并写入内容
以下代码可以创建一个文件,并使用FileWriter向文件中写入内容,若路径不存在则自动创建路径,若文件已经存在,则不再创建public void createFile() throws IOException { String filePath = "D:/a/b"; File dir = new File(filePath); // 一、检查放置文件的文件夹路径...原创 2018-08-14 23:49:15 · 31879 阅读 · 0 评论 -
使用JTable生成表格
一、首先是怎样将数据添加到表格中我们可以使用TableModel来进行数据的添加,首先我们要添加进去的数据应该是一个二维数组,即我们需要先将我们要存放进去的数据处理成二维数组,然后建立一个一维的表头数组,如:String[] colName = {"职位名称","职位描述","查询权限","考核权限","销售统计分析","权限管理","后台管理"}; 然后使用T原创 2014-06-25 22:54:47 · 659 阅读 · 0 评论 -
关于JOptionPane.showConfirmDialog()确认框的操作
加入确认框后需要对其添加验证操作才能够有效地进行原创 2014-06-24 21:57:27 · 31713 阅读 · 0 评论 -
利用ActionListener接口,让当前类自身做监听器
利用ActionListener接口,可以让当前类自身成为一个监听器,从而避免了就地实例化及内部类导致的界面凌乱,如下是一段类自身作为接口的简单代码:原创 2014-06-25 01:19:09 · 1083 阅读 · 0 评论 -
Java中通过流获取http请求体中的数据
最近一个项目需要在http传输过程中进行数据加密,则需要通过流来读写http请求的包体内容,结果发现在接收方获取到的流数据是空的,最后发现是因为没有设置请求数据内容类型的缘故,即此行代码:conn.setRequestProperty(&amp;amp;amp;amp;amp;quot;content-type&amp;amp;amp;amp;amp;quot;, &amp;amp;amp;amp;amp;quot;text/html&am原创 2018-06-21 14:38:30 · 14910 阅读 · 10 评论 -
Java读取properties配置文件
以下代码是一个简单的properties管理类,可用于获取一个properties文件中的内容/** * 管理应用配置的类 */public class PropertiesManager { private Properties properties = new Properties(); public PropertiesManager() { /...原创 2018-06-25 10:31:35 · 892 阅读 · 0 评论 -
Java DES加密和解密简单总结
DES常用加密模式: 1. ECB模式:电子密本方式 2. CBC模式:密文分组链接方式 DES加密填充模式: 1. NoPadding:算法本身不填充, 2. PKCS5Padding:Java和C#默认的填充模式,对加密数据字节长度对8取余为r,如r大于0,则补8-r个字节,字节为8-r的值;如果r等于0,则补8个字节8 3. ISO10126Padding * DES加密/...原创 2018-06-25 10:55:26 · 1838 阅读 · 1 评论 -
Java中Timer的使用
Timer是用来进行延时操作的,原创 2014-06-30 22:43:17 · 594 阅读 · 0 评论 -
Java原子操作类型AtomicInteger安全性的验证和使用
什么是原子操作类?原子操作类是Java在java.util.concurrent包中提供的线程安全的数据类型,本文以AtomicInteger的使用来说明其线程安全性。为什么我们需要使用原子操作类来进行数据操作?因为在多线程环境中,同一个变量可能会被多个线程同时修改,这样就无法保证最终的结果是我们所想要得到的结果,而原子操作类可以在不用手动加锁的情况下保证数据的线程安全。下...原创 2018-06-26 14:09:37 · 390 阅读 · 0 评论 -
lambda表达式与匿名内部类
在Java 8中,Java增加了对lambda表达式的支持,我们可以使用lambda表达式来代替匿名内部类的使用。我们在开发中最常用的匿名内部类可能就是new Runnable()了,所以我们就用它来举例:传统写法new Thread(new Runnable() { @Override public void run() { System.ou...原创 2018-07-01 11:10:48 · 1549 阅读 · 0 评论 -
Java中使用LinkedList做队列
Java中提供了Queue队列接口,可以继承此接口实现队列的数据结构,Java中提供了以下实现类,可以根据需要选择合适的队列@see LinkedList@see PriorityQueue@see java.util.concurrent.LinkedBlockingQueue@see java.util.concurrent.BlockingQueue@see java.util...原创 2018-06-26 17:43:50 · 3600 阅读 · 0 评论 -
实现一个简单的数据本地存储
在使用Java开发简单的程序时,有时需要实现数据本地存储的功能,使用oracle、mysql等专业数据库显得大材小用,也让程序看起来不够简洁,所以个人就做了一个简单的数据缓存类,可以为程序提供基础的数据缓存,数据持久化的功能。 在设计时也考虑了数据加密存储的功能,不过加密的数据类型有限,public class Cache { static { load();//初始...原创 2018-06-27 21:54:39 · 2269 阅读 · 0 评论