Java 机制
文章平均质量分 50
JamesGan96
不念过往,不畏将来.不好高骛远,不妄自菲薄.不忘初心,方得始终。
展开
-
JVM运行内存模型
JVM运行内存模型图:注意下图中的线程共享问题。 JVM运行内存分为5个部分: 1.虚拟机栈(VM Stack):是类加载器加载的类文件(字节码)的方法执行的内存模型: 当一个方法执行时虚拟机栈会产生一个“栈帧”,在栈帧中保存方法信息。方法的执行-结束过程就是“栈帧”在虚拟机栈中的一个入-出栈过程。 本地方法栈:基本类似于虚拟机栈,但是针对的对象是虚拟机本地的方法。 堆:保存对象实例,几乎所原创 2017-06-07 15:55:51 · 377 阅读 · 0 评论 -
GC垃圾回收机制
为什么要有GC: 对象的创建是在堆内存中分配的,内存的大小是一定的,不可能无限的消耗内存资源,所以对象必须有它的生命周期,生-死。 Java不同于c,在c中对象的创建有构造函数,对象的消亡有析构函数。而java采用的虚拟机自主回收,不再需要开发人员手动释放对象而产生的内存泄漏问题。 如何判定一个对象需要被回收 1.引用计数器:在jdk1.2之前,虚拟机采用在对象创建时,附加携带一个引用计数器。原创 2017-06-07 16:45:04 · 357 阅读 · 0 评论 -
堆内存的GC机制
堆内存的模型:新生代的GC 新生代:新生代分为Eden区和Survivor区,分配比例为8:2;而Survivor区又1:1分为from区和to区。这样分配的理由是,新生代中的对象存活率低,大概只有10%。 这种情况下新生区采用的GC算法是:复制算法,我们知道复制算法最大的弊端就是内存的浪费,但是在低存活率的新生区。只需要空余10%的内存进行效率高的复制算法也是划算的。在第一次GC之前,对象的创建原创 2017-06-07 17:06:12 · 451 阅读 · 0 评论 -
SPI机制的一次具体使用
对spi机制的使用在一次对schemacrawler(一个数据库元数据爬虫框架)的使用中提升了很多。 基础了解:http://blog.csdn.net/qq_33793432/article/details/73112302具体的使用: 我使用spi机制来调用不同数据库实现的分页方法。通过一个数据库类型来查找对应的实现类。 对外的接口或抽象类A 你可以在A中定义实现原创 2017-08-10 12:59:38 · 920 阅读 · 0 评论 -
SPI 服务提供接口机制
什么是J2EE? 它仅仅是一个标准,只是一个架构,它定义着大量的接口规范。 它又是 一个平台,拥有着不同开发商提供的真实实现。 怎么实现J2EE spi/Service Provider Interface 服务提供接口机制 : 当服务的提供者,提供了服务接口的一种实现之后,在jar包的META-INF/services/目录里同时创建一个以服务接口全命名原创 2017-06-12 15:32:47 · 1101 阅读 · 0 评论