java学习
mycnice
这个作者很懒,什么都没留下…
展开
-
Java 静态变量的继承
今天在看单例模式时,《head first 设计模式》中提到了单例类的继承问题。因为单例类中的变量及构造单例的方法通常都是静态的,所以这里涉及到“静态方法与变量的继承”。以前一直没关注这些,所以今天特地写了些小程序测试下,顺便做些总结。 首先,定义一个类A如下 class A { static int a = 1; static int b = 2;转载 2015-07-27 18:34:05 · 578 阅读 · 0 评论 -
java 死锁程序
通过使用两个锁,让两个线程去交叉的获得锁 import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class DeadLock { public Lock l1 = new ReentrantLock(); public Lock l2 = new原创 2015-08-25 22:25:42 · 347 阅读 · 0 评论 -
java 源码心得
java 源码很多地方使用位运算,效率更高 对于不再使用的对象,将其应用置null,以帮助GC原创 2015-08-12 10:58:06 · 445 阅读 · 0 评论 -
JVM 基础知识
转自:http://blog.csdn.net/ithomer/article/details/9936743 一、基础概念 数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。转载 2015-08-12 09:31:23 · 363 阅读 · 0 评论 -
Hashtable HashMap 区别 Hashtable的劣势
Hashtable应尽量避免使用,单线程下可使用HashMap替代,多线程下可使用ConcurrentHashMap替代 Hashtable的实现中,大量使用了%,而不是HashMap中的位运算,性能较差,同步方面,大量方法都是synchronized,应该使用ConcurrentHashMap性能比较好 Hashtable与HashMap的区别: Hashtable是同步的原创 2015-08-06 11:18:15 · 1593 阅读 · 0 评论 -
Hashtable与ConcurrentHashMap的区别
锁分段技术 HashTable容器在竞争激烈的并发环境下表现出效率低下的原因是所有访问HashTable的线程都必须竞争同一把锁,那假如容器里有多把锁,每一把锁用于锁容器其中一部分数据,那么当多线程访问容器里不同数据段的数据时,线程间就不会存在锁竞争,从而可以有效的提高并发访问效率,这就是ConcurrentHashMap所使用的锁分段技术,首先将数据分成一段一段的存储,然后给每一段数据配一转载 2015-08-06 11:18:58 · 1598 阅读 · 0 评论 -
Lock synchronized区别
Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现; synchronized是在JVM层面上实现的,不但可以通过一些监控工具监控synchronized的锁定,而且在代码执行时出现异常,JVM会自动释放锁定,但是使用Lock则不行,lock是通过代码实现的,要保证锁定一定会被释放,就必须将 unLock()放到finally{} 中原创 2015-08-23 08:58:00 · 455 阅读 · 0 评论