Java
JasonAndChen
乐观自信
展开
-
Java CountDownLatch应用
Java的concurrent包里面的CountDownLatch其实可以把它看作一个计数器,只不过这个计数器的操作是原子操作,同时只能有一个线程去操作这个计数器,也就是同时只能有一个线程去减这个计数器里面的值。 你可以向CountDownLatch对象设置一个初始的数字作为计数值,任何调用这个对象上的await()方法都会阻塞,直到这个计数器的计数值被其他的线程减为0为止。 CountDownLatch的一个非常典型的应用场景是:有一个任务想要往下执行,但必须要等到其他的任务执...原创 2020-09-16 18:32:02 · 251 阅读 · 0 评论 -
检测密码是否有效,包含大写、小写、数字、特殊符号等
/** * 是否有效密码 * @param pwd * @return */public static boolean isValidPwd(String pwd) { int numasc = 0; int charasc = 0; int otherasc = 0; String v = pwd; if (0 == v.length()) { return false; } else if (v.length() < 8.原创 2020-05-24 14:08:21 · 1172 阅读 · 0 评论 -
synchronized 和 lock 机制区别
synchronized 原始采用的是 CPU 悲观锁机制,即线程获得的是独占锁。独占锁意味着其 他线程只能依靠阻塞来等待线程释放锁。Lock 用的是乐观锁方式。所谓乐观锁就是,每次不加锁而是假设没有冲突而去完成某项操作,如果因为冲突失败就重试,直到成功为止。乐观锁实现的机制就是 CAS 操作(Compare and Swap)...原创 2020-01-16 14:31:21 · 92 阅读 · 0 评论 -
文件名修改排序算法
Collections.sort(Arrays.asList(files),new CompratorByLastModified());/*** 进行文件排序时间*/private static class CompratorByLastModified implements Comparator<File> {public int compare(File...原创 2019-11-21 14:22:10 · 245 阅读 · 0 评论 -
Java虚拟机调优
Java虚拟机调优 1、背景: 如果在持久化RDD的时候,持久化了大量的数据,那么Java虚拟机的垃圾回收就可能成为一个性能瓶颈。 Java虚拟机会定期进行垃圾回收,此时就会追踪所有Java对象,并且在垃圾回收时,追中找到那些已经不再使用的对象,清理旧对象,给新对象腾出空间。 垃圾回收的性能开销,和内存中的对象数量...原创 2019-10-11 23:32:15 · 178 阅读 · 0 评论 -
GC原理
原创 2019-10-11 23:25:48 · 85 阅读 · 0 评论 -
JAVA实现自定义枚举类
系统提供的枚举public enum Color {RED("red"),GREEN("green"),BLUE("blue");private String color;Color(String name) {color = name;}public String getName() {return color;}}自己实现的...原创 2019-08-20 16:14:20 · 478 阅读 · 0 评论