- 博客(8)
- 收藏
- 关注
原创 ioc的简单实现
ioc的简单实现│ │ └─文件目录 │ BeanReference.java----------------------------对Bean的封装 │ ├─beans │ │ AbstractBeanDefinitionReader.java----------抽象类 │ │ BeanDefinition.java----------------...
2018-05-30 21:50:05 190
原创 JVM学习笔记6——垃圾收集
概述 垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。 jvm 中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理,因此,我们的内存垃圾回收主要集中于 java 堆和方法区中,在程序运行期间,这部分内存的分配和使用都是...
2018-04-10 19:01:58 213
原创 MyBatis逆向工程去除表名前缀
MyBatis逆向工程去除表名前缀 场景: 比如表名为t_user,想要生成User开头的文件,而不是TUser开头的文件。 需要下载1.3.6版本的mybatis-generator https://github.com/mybatis/generator/releases 然后更改配置文件 <table schema="" tableName="t_user">...
2018-03-16 16:42:07 6968 1
原创 JVM学习笔记5——虚拟机字节码指令与执行引擎
虚拟机字节码执行引擎 字节码指令 字节码指令分类 运行时栈帧结构 局部变量表 操作数栈 动态连接 方法返回地址 附加信息 基于栈的字节码解释执行引擎 基于栈的指令集与基于寄存器的指令集 基于栈的解释器执行过程 虚拟机字节码执行引擎 字节码指令 Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(称为操作码,Opcode)以及跟随其后的零至多个...
2018-03-11 13:55:13 410
原创 JVM学习笔记4——Class文件结构
Class文件结构 真正了不起的程序员对自己的程序的每一个字节都了如指掌 Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在Class文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎全部是程序运行的必要数据,没有空隙存在。当遇到需要占用8位字节以上空间的数据项时,则会按照高位在前的方式分割成若干个8位字节进行存储。 根据...
2018-03-07 16:20:05 181
原创 JVM学习笔记3——JVM 内存结构
JVM 内存结构 JVM内存结构布局 JVM内存结构主要有三大块:堆内存、方法区和栈。堆内存是JVM中最大的一块,由年轻代和老年代组成,而年轻代内存又被分成三部分,Eden空间、From Survivor空间、To Survivor空间,默认情况下年轻代按照8:1:1的比例来分配; 方法区存储类信息、常量、静态变量等数据,是线程共享的区域,为与Java堆区分,方法区还有一个别名Non...
2018-03-07 16:11:57 355
原创 JVM学习笔记2——类加载机制
类加载机制 虚拟机如何加载class文件,class文件中的信息进入到虚拟机中会发生什么变化? 类加载机制 类的加载指的是JVM把描述类的二进制数据从.class文件中加载到内存中,将其放在运行时数据区的方法区内,并对其进行校验、转换解析和初始化,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Clas...
2018-03-04 21:53:47 175
原创 JVM学习笔记1——概述
JVM学习笔记 概述 为什么要学习JVM 理解原理 方便调优 什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般...
2018-03-03 17:51:14 304
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人