Java
sxfda
这个作者很懒,什么都没留下…
展开
-
java多线程设计wait/notify机制 (synchronized与对象锁)
synchronized(obj) { while(!condition) { obj.wait(); } obj.doSomething(); } 当线程A获得了obj锁后,发现条件condition不满足,无法继续下一处理,于是线程A就wait() , 放弃对象锁. 之后在另一线程B中,如果B更改了某些条件,使得线程A的condit转载 2015-03-12 18:54:53 · 607 阅读 · 0 评论 -
对象的强、软、弱和虚引用
1.对象的强、软、弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。图1为对象应用类层次。 图1 ⑴强引用(St原创 2015-05-27 14:21:15 · 364 阅读 · 0 评论 -
Pattern和Matcher详解
结论:Pattern与Matcher一起合作.Matcher类提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持. 单独用Pattern只能使用Pattern.matcher(String regex,CharSequence input)一种最基础最简单的匹配。 java正则表达式通过java.util.regex包下的Pattern类与Matcher类实现(建议在阅读本转载 2015-11-13 16:47:10 · 492 阅读 · 0 评论 -
Vector与ArrayList与CopyOnWriteArrayList区别
1. Vector & ArrayList 1) Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,ArrayList的性能比Vector好。 2) 当Vector或ArrayList中的元素超过它的初始大小时,Vector会将它的容量翻倍,而ArrayList只增加50原创 2015-11-25 17:30:10 · 4246 阅读 · 0 评论 -
String & StringBuffer & StringBuilder
String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常原创 2015-11-25 17:42:58 · 335 阅读 · 0 评论 -
Combine multiple jar into one
just extract the two jar files and recreate a new one $ mkdir tmp $ (cd tmp; unzip -uo ../jar1.jar) $ (cd tmp; unzip -uo ../jar2.jar) $ jar -cvf combined.jar -C tmp . The stuff with tmp ensures tha...原创 2019-02-27 10:54:49 · 193 阅读 · 0 评论