01 2017 档案
摘要:java class加载机制及对象生成机制 当使用到某个类,但该类还未初始化,未加载到内存中时会经历 、`链接 初始化 需要注意的是类的初始化和链接的顺序有可能是互换的。` ClassLoader加载机制 ClassLoader用于动态加载class文件到内存中。 Java 提供了三个ClassLo
阅读全文
摘要:Mybatis oracle多表联合查询分页数据重复的问题 多表联合查询分页获取数据时出现一个诡异的现象;数据总条数正确,但有些记录多了,有些记录却又少了甚至没了。针对这个问题找了好久,最后发现是由于多个排序字段不唯一,同样的排序顺序每次运行返回的结果顺序不一致,导致这样的现象出现。 增加排序的唯一
阅读全文
摘要:在生产环境中经常遇到格式各样的问题,如OOM或者莫名其妙的进程死掉。一般情况下是通过修改程序,添加打印日志;然后重新发布程序来完成。然而,这不仅麻烦,而且带来很多不可控的因素。有没有一种方式,在不修改原有运行程序的情况下获取运行时的数据信息呢?如方法参数、返回值、全局变量、堆栈信息等。Btrace就
阅读全文
摘要:垃圾收集器详解及参数配置 垃圾搜集器简介 垃圾搜集器大致分为以下三类 串行搜集器(serial collector):它只有一条GC线程,且就像前面说的,它在运行的时候需要暂停用户程序(stop the world)。 并行搜集器(parallel collector):它有多条GC线程,且它也需要
阅读全文
摘要:概述 内存划分 虚拟机规范中将内存分为六大部分,分别为PC寄存器、JAVA虚拟机栈、JAVA堆、方法区、运行时常量及本地方法栈。 1.PC寄存器: ; 2.JAVA虚拟机栈: ;JAVA虚拟机栈是在创建线程的同时创建的,用于存储栈帧,JAVA虚拟机栈也是线程独有的。 3.JAVA堆: ; 4.方法区
阅读全文