Loading

摘要: 用过mybatis的同学都知道,手工写mapper和xml是一件很痛苦的事儿,幸好官方提供了Mybatis-Generator,但是这家伙生成的东西不开放不方便修改,而且项目中的代码生成需求不只是数据访问层,比如说view、service、controller,这些地方到处充斥着重复代码,有什么好办法了,反正我是见识少,只能自己动手了。 阅读全文
posted @ 2017-06-17 12:42 MinnieChang 阅读(1959) 评论(7) 推荐(1) 编辑
摘要: 现在的我们总是为了赚钱而四处奔波,努力赚钱是这个社会传达给我们的唯一“活法”,我们都说这是为了家庭幸福,其实这只是为了证明自己的成功,为了在别人眼中活的“漂亮”一点,所以,真正的幸福是什么?孩子的幸福是父母陪他去一次游乐场,管他是迪士尼还是超市摇摇乐,妻子的幸福也许是一顿你陪她的晚餐,老人的幸福也许 阅读全文
posted @ 2017-08-13 09:23 MinnieChang 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 线程的实现分为内核线程实现、用户线程实现、混合实现。 1. 内核实现就是直接由操作系统内核支持的线程,各种操作,如创建、销毁、同步都需要进行系统调用,需要在用户态和内核态中来回切换,代价较高,另外内核线程需要消耗一定的内核资源,所以一个系统支持的线程数量是有限的。 2. 用户线程是由用户态自己实现的,线程管理的开销很低,理论上也支持更大的线程规模,缺点是实现复杂。 3. 混合模式 java线程的实现在jdk1.2之前是采用用户线程实现的、但是在1.2之后切换为内核线程实现。 阅读全文
posted @ 2017-08-12 15:19 MinnieChang 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 主内存:所有的实例字段、静态字段和构成数组对象的元素都存储在主内存,但不包括局部变量与方法参数。 阅读全文
posted @ 2017-08-11 23:47 MinnieChang 阅读(1599) 评论(1) 推荐(0) 编辑
摘要: 运行时栈帧结构 栈帧是虚拟机运行时数据区中的虚拟机栈的栈元素,栈帧存储了方法的局部变量表,操作数栈,动态连接,方法返回地址,在编译程序代码的时候,栈帧中需要多大的局部变量表、多深的操作数栈都已经完全确定了,并且写入到方法表的Code属性之中。 局部变量表 其最大容量由方法的Code属性,max_lo 阅读全文
posted @ 2017-08-10 09:18 MinnieChang 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 类加载生命周期 类加载生命周期:加载、验证、准备、解析、初始化、使用、卸载 类加载或初始化过程什么时候开始? 1. 遇到new、getstatic、putstatic或invokestatic这4条字节码指令时。 2. 使用反射时,如果类没有初始化就触发其初始化 3. 当初始化一个类时,如果其父类还 阅读全文
posted @ 2017-08-09 22:12 MinnieChang 阅读(199) 评论(0) 推荐(0) 编辑
摘要: JVM client模式和Server模式启动,分别针对桌面应用和服务器应用做了相应的优化,client版本加载速度较快,server版本加载速度较慢但运行起来较快。Java HotSpot虚拟机默认不带参数启动会首先检测主机是否为服务器,如果是,则以Server模式启动,否则以client模式启动,而检测的根据是至少2个CPU和最低2GB内存。 阅读全文
posted @ 2017-08-06 21:25 MinnieChang 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 上文说到了垃圾收集算法,这次我们聊一下HotSpot的具体垃圾收集器的实现,以JDK1.7为例。 阅读全文
posted @ 2017-08-03 09:39 MinnieChang 阅读(527) 评论(0) 推荐(0) 编辑
摘要: 垃圾回收要解决的问题: 1. 哪些内存需要回收? 线程私有区域不需要回收,如PC、Stack、Native Stack;Java 堆和方法区需要 2. 什么时候回收? 以后的文章解答 3. 如何回收? 首先进行对象存活性的分析,然后利用GC回收算法进行回收,具体算法请看下文。 如何判断对象是否可以回 阅读全文
posted @ 2017-08-02 08:38 MinnieChang 阅读(540) 评论(0) 推荐(0) 编辑
摘要: jvm内存结构和各组成部分的介绍。以及对象的创建过程和内存布局的描述。 阅读全文
posted @ 2017-08-01 11:15 MinnieChang 阅读(598) 评论(0) 推荐(0) 编辑
摘要: 为什么谈这个 工欲善其事必先利其器,键盘流是必须的,快捷键首当其冲,请收下!!! 常用快捷键列表 1. Live Templates 自定义代码模板 2. 取消屏幕的翻转,可以使用ctrl+alt+左右,进行代码前进和后退。ubuntu Shift + Alt + Show Bytecode 7. 阅读全文
posted @ 2017-07-09 10:25 MinnieChang 阅读(2201) 评论(0) 推荐(1) 编辑