JavaSe
快乐风男111
fdd
展开
-
Java8 把具有相同姓名的人放在一起集合中,并以名字为key,人员列表为value放入map中
public class StreamTest2 { public static void main(String[] args) { Person p1 = new Person("lxf", 23, "中国", '1'); Person p2 = new Person("lyf", 23, "中国", '1'); Person p3 = new Person("lxf", 24, "中国", '1'); Person p4 = n原创 2020-10-02 18:15:05 · 1052 阅读 · 0 评论 -
6个最常用的Java 工具类,每一个都十分有用
在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类。以下工具类、方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码。一. org.apache.commons.io.IOUtilscloseQuietly:关闭一个IO流、socket、或者selector且不抛出异常,通常放在finally块toString:转换I...原创 2019-10-23 09:48:55 · 2233 阅读 · 0 评论 -
JavaWeb项目使用SQLite数据库,数据文件相对路径
JavaWeb项目使用SQLite数据库,在配置数据库连接池的时候,SQLite数据文件相对路径设置。 数据库文件放在项目的resource目录下。properties 配置文件dbType=sqlitesqlServer.driverClassName=org.sqlite.JDBCsqlServer.url=jdbc:sqlite::resource:data/sql.dbsqlSe...原创 2019-08-16 10:31:18 · 1356 阅读 · 0 评论 -
Java集合类
Java中的集合类是在是太丰富了,有常用的ArrayList、HashMap,也有不常用的Stack、Queue,有线程安全的Vector、HashTable,也有线程不安全的LinkedList、TreeMap,有阻塞式的ArrayBlockingQueue,也有非阻塞式的PriorityQueue等,整个集合家族非常庞大,而且也是错综复杂,可以划分为以下几类:List实现List接口的集合...原创 2019-08-14 09:45:40 · 56 阅读 · 0 评论 -
Java丨Cmd运行Jar出现乱码问题
今天做项目的时候遇到一个很头疼的问题——无论在Java代码中如何统一编码为UTF8,在IDE中运行是完全没问题的,但打包成Jar通过Bash和CMD运行,都会出现中文乱码问题。起初是觉得Java编译时编码出现了问题,但经过几小时的排查,终于找到中文乱码问题的根源——cmd/bash默认的编码是GBK。为了防止日后再踩坑,本文记录问题的解决方案。一、设定cmd的编码为utf-8打开cmd,输入...原创 2019-08-01 14:29:06 · 3388 阅读 · 0 评论 -
Map的遍历
public static void main(String[] args) {Map<String, String> map = new HashMap<String, String>();map.put(“1”, “value1”);map.put(“2”, “value2”);map.put(“3”, “value3”);//第一种:普遍使用,二次取值Sy...原创 2019-07-23 09:00:59 · 2478 阅读 · 0 评论 -
使用关键字volatile时出现非线程安全的原因
变量在内存中工作的过程如下图所示。由上,我们可以得出以下结论。read和load阶段:从主存复制变量到当前线程工作内存;use和assign阶段:执行代码,改变共享变量值;store和write阶段:用工作内存数据刷新主存对应变量的值。在多线程环境中,use和assign是多次出现的,但这一操作并不是原子性,也就是在read和load之后,如果主内存count变量发生修改之后,线程工作...原创 2019-07-22 17:35:23 · 2934 阅读 · 0 评论 -
Java 使用LocalDate获取前一天
已经测试跨年跨月 LocalDate localDate = LocalDate.of(2019, 1, 1); LocalDate yesterday = localDate.plusDays(-1); System.out.println(yesterday.getDayOfMonth()); System.out.println(yesterday.g...原创 2019-07-22 16:45:56 · 46886 阅读 · 4 评论 -
Java -jar形式运行Jar包出现乱码问题
今天在做项目的时候需要把项目打车jar包运行,但是出现乱码问题,在idea中直接运行main是没有问题的。解决办法:java -Dfile.encoding=utf-8 -jar xxx.jar这种方法只能解决最后生成的结果中,不会出现中文乱码,但是dos显示的中文仍是乱码。目前没有找到更好的办法,有更好办法的可以留言,感谢大佬!在 java -jar 之前加上chcp 65001可...原创 2019-07-29 10:41:05 · 2962 阅读 · 0 评论 -
System.getProperty()方法大全
System.out.println(“java版本号:” + System.getProperty(“java.version”)); // java版本号System.out.println(“Java提供商名称:” + System.getProperty(“java.vendor”)); // Java提供商名称System.out.println(“Java提供商网站:” + Sys...原创 2019-07-18 21:05:56 · 2279 阅读 · 0 评论 -
sleep和wait的区别
1、sleep和wait的区别1、这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用了b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep。2、最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。sle...原创 2019-06-26 20:45:48 · 2458 阅读 · 1 评论 -
MD5加密(可用作做密码进行加密,不可逆)
废话不多说,直接上代码。jdk自带的加密工具。public class MD5Util { private MD5Util() { } public static String md5(String sourceStr) { byte[] secretBytes = null; try { secretBytes...原创 2019-06-16 10:40:58 · 2898 阅读 · 0 评论 -
JDBC简易版数据库连接池
如何实现简易版的数据库连接池1、前言如是需要自己实现数据库连接池则需要实现DataSource接口,重写getConnection()方法。在数据库连接池中最重要的环节释放连接的时候,我们不是真正的释放连接,而是把连接返回到连接池中。这里讲的池也就是一个集合,我们用LinkedList来保存连接。2、代码实现public class JdbcPool implements DataSour...原创 2019-06-19 16:50:14 · 2635 阅读 · 0 评论 -
单例模式
单例模式,最常见的就是饥饿模式和懒汉模式,一个直接实例化对象,一个在调用方法时进行实例化对象。大家见的最多的莫过于下面这种单例模式了,这种模式是懒汉模式,就是说只有你调用getInstance方法的时候,它才会创建实例。但是这种方式有个非常致命的问题就是在多线程的情况下不能正常工作。public class Singleton { private static Singleton ...原创 2019-06-18 19:52:53 · 2303 阅读 · 0 评论