java基础
文章平均质量分 69
changewang
多情总被无情扰
展开
-
synchronized锁的粒度
synchronized做代码块锁的时候,如果是使用自定义的锁,或者this对象作为锁,那么锁定的是对象,如果对于静态的对象做锁定,那么锁定的就是类了。当线程A,在操作访问锁定的对象时候, 线程B如果要进入synchronized代码块执行的时候是必须等待锁释放的。这样实际上就是将原本并行执行的代码,变为串行执行了。当然还有另外一种方式,就是使用ThreadLocal对象,存储各个线程的使原创 2012-05-30 16:55:30 · 3637 阅读 · 0 评论 -
java 基础之 范型
范型的最佳用途,就是用于实现容器类,实现一个通用的容器。该容器可以存储对象,也可以取出对象,而不用考虑对象的具体类型。在java中,范型是在编译器中实现的,而不是在虚拟机中实现的,虚拟机对范型一无所知。因此,编译器一定要把范型类修改为普通类,才能够在虚拟机中执行。在java中,这种技术称之为“擦除”(Type Erasure),也就是用Object类型替换范型。所有的范型都被替换为原创 2010-03-17 17:34:00 · 532 阅读 · 0 评论 -
java 多线程
理解java多线程,对于java内存模型的理解是必须的。 java 内存模型 ( java memory model )根据Java Language Specification中的说明, jvm系统中存在一个主内存(Main Memory或Java Heap Memory),Java中所有变量都储存在主存中,对于所有线程都是共享的。每条线程都有自己的工作内存(Working Me转载 2010-12-31 11:06:00 · 666 阅读 · 0 评论 -
ClassLoader
ClassLoader本身是一个Abstract Class,我们可以扩展ClassLoader的实现特定的load需求。java应用环境中不同的class分别由不同的ClassLoader负责加载。一个jvm中默认的classloader有Bootstrap ClassLoader、Extension ClassLoader、App ClassLoader,分别各司其职:Boot原创 2013-11-18 17:45:39 · 1577 阅读 · 0 评论