摘要:
BeanFactory是Spring的早期接口,称为Spring的Bean工厂,ApplicationContext是后期更高级接口,称之为Spring容器 ApplicationContext,在beanFactory基础上进行了扩展,如监听功能、国际化功能。而beanFactory更像是底层be 阅读全文
摘要:
1.大对象直接进入老年代 根据XX:PretenureSizeThreshold指定 2.长期存活的对象直接进入老年代 对象一开始分配到Ende区域,然后因Ende区域内存不够触发monin GC,然后将存活的对象放到S0或S1。年龄+1,+到15放到老年代 3.对象动态年龄判断 新生代S0或S1区 阅读全文
摘要:
验证:验证字节码是否符合JVM的安全要求,确认不会危害JVM系统运行 准备:为类分配静态成员分配内存,并初始化,确保类的静态变量使用 解析:JVM将符号引用转化为直接引用,将类/接口/方法转化为内存地址 初始会:执行类的构造函数,初始化类 阅读全文
摘要:
1.直接内存不由JVM内存管理,是来源于java NIO向操作系统申请而来的。 当把磁盘文件复制到内存中 JVM通过NIO直接访问数据。(起到了优化系统性能,避免了复制到java堆空间) 阅读全文
摘要:
1.类持有静态成员变量,如ArrayList数组。(如果真的遇到该场景需要手动设置为null) 2.打开资源要关闭,try catch finally及时关闭资源 3.内部类,引用外部类 publicclassStaticReferenceLeak{publicstatic List<Integer 阅读全文
摘要:
作用:因并发标记过程中,程序还在跑。对象间的引用会发生变化,可能会导致漏标或错标情况。因此采用三色法,将扫描的各情况用颜色区别出来。 三种颜色 白色:一开始所有对象的颜色都是白色,即未扫描过的对象。 灰色:表示对象已经扫描到了,但是对象所在的引用对象,还未全部扫描完成。 黑色:表示当前对象自身以及引 阅读全文
摘要:
1.jstack 可以分析java进程中,线程死锁/线程问题 案例1死锁 `@ApiOperation("登录") @PostMapping("/login") @ResponseBody public CommonResult login( @RequestBody UmsAdminLoginPa 阅读全文