
java
文章平均质量分 83
该用户昵称非法
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Guava学习笔记:Immutable(不可变)集合
不可变集合,顾名思义就是说集合是不可被修改的。集合的数据项是在创建的时候提供,并且在整个生命周期中都不可改变。为什么要用immutable对象?immutable对象有以下的优点:1.对不可靠的客户代码库来说,它使用安全,可以在未受信任的类库中安全的使用这些对象2.线程安全的:immutable对象在多线程下安全,没有竞态条件3.不需要支持可变性, 可以尽量节省空间和时间的开销.转载 2017-08-16 11:05:32 · 210 阅读 · 0 评论 -
Collections.unmodifiableList()
Collections.unmodifiableList(List<? extends T> list)) 将参数中的List返回一个不可修改的List.觉得以下这篇文章写得很好,说 明了它的应用场景。--------------------------------------------------------------------------------------在《重构——改...转载 2018-04-28 17:36:40 · 227 阅读 · 0 评论 -
java引用类型
Java对引用的概念进行了扩充,将引用分为强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)、虚引用(Phantom Reference)4种,这4种引用强度依次逐渐减弱。• 强引用就是指在程序代码之中普遍存在的,类似“Object obj = new Object()”这类的引用,只要强引用还存在,垃圾收集器永远不会回收掉被...转载 2018-04-25 11:09:32 · 225 阅读 · 0 评论 -
ThreadLocal
一:源码 package java.lang;import java.lang.ref.*;import java.util.Objects;import java.util.concurrent.atomic.AtomicInteger;import java.util.function.Supplier;public class ThreadLocal<T> {...转载 2018-03-07 11:15:10 · 209 阅读 · 0 评论 -
Interger类
1:public static int parseInt(String s,intradix)返回字符数值对应的radix进制的int值(2<=radix <= 36)2:public static Integer getInteger(String nm, Integer val)根据指定的名称得到系统属性的整数值3:public static Integer valueOf(Str...转载 2018-03-07 09:25:21 · 554 阅读 · 0 评论 -
java死锁
一:形成死锁的条件1:互斥条件;存在共享资源2:占有互斥的共享资源并等待另一个任务释放互斥的资源3:不可抢占,任务占有互斥的资源时不可被另一个任务抢占4:循环等待,一个任务占有互斥资源并等待另一个任务释放互斥资源,另一个任务等待其他任务释放互斥资源,形成循环。...原创 2018-03-07 09:24:32 · 124 阅读 · 0 评论 -
java object类
public class Object{private static native void registerNatives();static { registerNatives();}public final native Class getClass();public native int hashCode();public boolean equals(O转载 2018-01-15 10:23:42 · 169 阅读 · 0 评论 -
深入理解Java之线程池
一.Java中的ThreadPoolExecutor类二.深入剖析线程池实现原理三.使用示例四.如何合理配置线程池的大小若有不正之处请多多谅解,并欢迎批评指正。一.Java中的ThreadPoolExecutor类java.uitl.concurrent.ThreadPoolExecutor类是线程池中最核心的一个类,因此如果要透彻地了解Java中的转载 2017-08-24 13:41:12 · 209 阅读 · 0 评论 -
如何通过编程发现Java死锁
死锁是指,两个或多个动作一直在等待其他动作完成而使得所有动作都始终处在阻塞的状态。想要在开发阶段检测到死锁是非常困难的,而想要解除死锁往往需要重新启动程序。更糟的是,死锁通常发生在负载最重的生产过程中,而想要在测试中发现它,十分不易。之所以这么说,是因为测试线程之间所有可能的交叉是转载 2017-08-15 16:35:09 · 721 阅读 · 0 评论 -
Java8使用Map中的computeIfAbsent方法构建本地缓存
一、概念及使用介绍在JAVA8的Map接口中,增加了一个方法computeIfAbsent,此方法签名如下:public V computeIfAbsent(K key, Functionsuper K,? extends V> mappingFunction) Map接口的实现类如HashMap,ConcurrentHashMap,HashTable等继承了此方法,通过此方法转载 2017-08-15 11:39:43 · 7598 阅读 · 0 评论 -
java Array
转载 2017-08-17 20:50:53 · 241 阅读 · 0 评论 -
quartz文档
深入解读Quartz的原理 Quartz是一个大名鼎鼎的Java版开源定时调度器,功能强悍,使用方便。 一、核心概念 Quartz的原理不是很复杂,只要搞明白几个概念,然后知道如何去启动和关闭一个调度程序即可。 1、Job表示一个工作,要执行的具体内容。此接口中只有一个方法void execute(JobExecutionContext context) 2、JobDetailJobDetail表...转载 2018-03-07 09:25:51 · 783 阅读 · 0 评论 -
Java:String和Date、Timestamp之间的转换
一、String与Date(java.util.Date)互转 1.1 String -> Date Java代码 String dateStr = "2010/05/04 12:34:23"; Date date = new Date(); //注意format的格式要与日期String的转载 2017-08-09 16:56:27 · 205 阅读 · 0 评论 -
java序列化
1. 什么是Java对象序列化Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比JVM的生命周期更长。但在现实应用中,就可能要求在JVM停止运行之后能够保存(持久化)指定的对象,并在将来重新读取被保存的对象。Java对象序列化就能够帮助我们实现该功能。使用Java对象序列化,在保存对象时,会把转载 2017-08-09 15:21:55 · 274 阅读 · 0 评论 -
JSR303定义的校验类型
空检查@Null 验证对象是否为null@NotNull 验证对象是否不为null, 无法查检长度为0的字符串@NotBlank 检查约束字符串是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格.@NotEmpty 检查约束元素是否为NULL或者是EMPTY. Booelan检查@AssertTrue 验证 Boolea...原创 2018-12-27 17:51:54 · 288 阅读 · 0 评论