January 7, 2021
java
对象结构java 对象主要分为三部分:对象头、实例数据、对齐填充。对象头又分为 mark word 和 Kclass word、数组长度(数组对象才有这块区域),具体描述如下图:
创建过程java对象在创建时主要有下面几个过程: 类加载检查->申请内存->初始化->设置对象 ...
阅读更多
January 4, 2021
java
JVM 运行时内存区域 JVM 运行时数据区主要分为: 堆、虚拟机栈、本地方法栈、程序计数器、方法区 五大区域,具体作用如下图所示:
虚拟机栈虚拟机栈由一个个栈帧(一个方法调用就会产生一个栈帧,方法结束栈帧就销毁)组成,而栈帧由 局部变量表、操作数栈、动态链接、方法出口等组成。
局 ...
阅读更多
January 2, 2021
java
java 启动流程
先来一个java 代码
public class Test { public static void main(String[] args) { System.out.println("hello world" ...
阅读更多
October 20, 2020
随笔
原文地址: zhangzhifeng的主页
编程规约命名规约1.所有编程相关命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。
// 反例: _name __name $Object name_ name$ ...
阅读更多
October 17, 2020
spring源码
本文主要讲解Spring源码中经常看到的类的作用,中间会有会有部分代码讲解,各模块的具体源码会写在后面的文章中
BeanDefinitionBeanDefinition中保存了我们Bean的信息。声名式bean的定义下面三种方式1. xml配置2.@Bean3.@Componentsprin ...
阅读更多
September 1, 2020
spring源码
阅读更多
August 10, 2020
Redis
redis 官网
下载: wget http://download.redis.io/releases/redis-5.0.3.tar.gz
解压:tar xzf redis-5.0.3.tar.gz
进入redis 目录: cd redis-5.0.3
编译与安装: make (r ...
阅读更多
August 9, 2020
java
传送门—>> JDK源码级别理解双亲委派机制
类加载过程一个类的加载过程有下面几步:加载 >> 验证 >> 准备 >> 解析 >> 初始化 >> 使用 >> 卸载
加载: 在硬盘上查找并通过IO读入字节码文 ...
阅读更多
August 1, 2020
java
-X 表示稳定参数,在后期JDK版本可能被弃用,X越多表示🈷越不稳定。
参数
说明
示例
-Xss
虚拟机栈大小
‐Xss512k
-Xms
堆的初始大小
-Xms1024m
-Xmx
堆可到达的最大值
-Xms20484m
-Xmn
堆中新生代的大小
-‐Xmn1 ...
阅读更多
July 20, 2020
前言并发编程的本质(多线程编程)
同步: 线程间的协作
互斥: 独占锁
分工: 大任务拆解
并发学什么1. JMM模型 java线程内存模型
特性:原子性、有序性、可见性
硬件:机械同感
2. 线程 内核级线程
2.1 new Thread() 和普通对象的区别?
thread. ...
阅读更多