Java学习笔记
国民程序员
这个作者很懒,什么都没留下…
展开
-
Java 中 StringBuffer ,StringBuilder和 String
String 长度大小不可变 StringBuffer 和 StringBuilder 长度可变 StringBuffer 线程安全 StringBuilder 线程不安全 StringBuilder 速度快 首先,String 是被 final 修饰的,他的长度是不可变的,就算调用 String 的 concat 方法,那也是把字符串拼接起来并重新创建一个对象,把拼接后的 String 的值赋给...原创 2019-07-30 18:49:15 · 120 阅读 · 0 评论 -
锁优化之缩小同步代码块,只锁数据
有时候为了编程方便,有些人会synchnoized很大的一块代码。 如果这个代码块中的某些操作与共享资源并不相关,那么应当把它们放到同步块外部,避免长时间的持有锁,造成其他线程一直处于等待状态。 尤其是一些循环操作、同步I/O操作。不止是在代码的行数范围上缩小同步块,在执行逻辑上,也应该缩小同步块。 例如多加一些条件判断,符合条件的再进行同步,而不是同步之后再进行条件判断,尽量减少不必要的进入同步...原创 2019-08-03 11:12:05 · 98 阅读 · 0 评论