摘要: 来源:http://ifeve.com/jvm-yong-generation/ 1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没 阅读全文
posted @ 2017-05-11 11:45 Longe.D 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 什么是Cglib Cglib是一个强大的,高性能,高质量的代码生成类库。它可以在运行期扩展JAVA类与实现JAVA接口。其底层实现是通过ASM字节码处理框架来转换字节码并生成新的类。大部分功能实际上是ASM所提供的,Cglib只是封装了ASM,简化了ASM操作,实现了运行期生成新的class。 Cg 阅读全文
posted @ 2016-09-20 15:36 Longe.D 阅读(5959) 评论(0) 推荐(0) 编辑
摘要: 反射:运行时动态实例化任何一个类。 看此文章前至少对JAVA反射有一定了解... Jdk动态代理的实现就是使用了反射机制,关键代码在Proxy.newProxyInstance(ClassLoader loader,Class<?>[] interfaces,InvocationHandler h) 阅读全文
posted @ 2016-09-19 17:52 Longe.D 阅读(426) 评论(0) 推荐(0) 编辑
摘要: JAVA作用域修饰符,不写时默认为default: 外部类修饰符只能是public和default(默认值) 结合java编程思想来理解,即public体现java面向接口编程,private体现java的对象封装,protected体现java的对象继承 内部类修饰符: ○ 成员内部类:跟成员变量 阅读全文
posted @ 2016-09-19 15:19 Longe.D 阅读(4447) 评论(0) 推荐(0) 编辑
摘要: JVM内存模型图: JVM总体内存模型图: 运行时内存分为五大区域(常量池属于方法区,算所一块区域) 程序计数器PC 程序计数器(Program Counter Refister)是一块较小的内存空间,它的作用可以看作是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里(仅是概念模型,各种虚拟 阅读全文
posted @ 2016-09-05 14:45 Longe.D 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 计算机内存: 计算机CPU(central processing unit)和内存的交互是最频繁的,内存是我们的高速缓存区。用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓存用户IO等待导致CPU的等待成本。但是随着CPU的发展,内存的读写速度也 阅读全文
posted @ 2016-09-05 14:01 Longe.D 阅读(2952) 评论(0) 推荐(0) 编辑
摘要: 准备环境: 操作系统: CentOS7 64位 openjdk、jdk、ant资源下载 链接:http://pan.baidu.com/s/1o7NzZKm 密码:c8sw 依赖资源安装 openjdk version "1.7.0-internal-debug"OpenJDK Runtime En 阅读全文
posted @ 2016-09-05 11:15 Longe.D 阅读(1601) 评论(0) 推荐(0) 编辑
摘要: linux查看CPU内核信息命令:cat /proc/cpuinfo 属性说明: 阅读全文
posted @ 2016-09-05 10:38 Longe.D 阅读(3892) 评论(0) 推荐(0) 编辑
摘要: jdk1.7版本(各种小版本的源码存在一些小的差别,主要在于对key的hash计算上),对jdk1.6中的HashMap做了一些优化 HashMap概述 HashMap是基于哈希表的Map接口实现,提供了所有可选的映射操作,并允许使用null作为键值对。但是不保证映射的顺序,特别是它不保证顺序的恒久 阅读全文
posted @ 2016-08-17 17:04 Longe.D 阅读(418) 评论(0) 推荐(0) 编辑