- 博客(7)
- 收藏
- 关注
原创 关于java的引用和c++的区别
首先看一下用cpp的引用(别名) 注意点: cpp的引用相当于给值多取一个变量名(别名) cpp的引用一定要初始化,且指向不能改变,但值可以变 形参为实参的一个引用,所以对形参的修改就是对实参的修改 cpp引用实现swap #include <iostream> void mySwap(int &a, int &b) { int temp = a; a = b; b = temp; } int main() { int a = 10;
2020-11-01 19:28:32
191
原创 【笔记】类文件结构
工具:【javap -verbose】 【Jclasslib】 【WinHex】 1.魔数(4字节,16进制) CA FE BA BE 2.副版本号,主版本号(4字节) 副版本号:Minor Version 主版本号:Major Version(45~57) 3.常量池计数器 u2类型计数器 索引从1开始 索引0为不引用任何常量池项目 4.常量池数据区 字面量(Literal)(j...
2020-03-08 17:14:49
84
原创 【笔记】HotSpot虚拟机与对象
1.对象的创建 虚拟机遇到new指令时,首相去检查这个指令的参数能不能在常量池定位到一个符号引用 保证符号引用代表的类已被加载,解析,初始化 虚拟机分配内存,并使内存空间初始化为零值(不包括对象头) 对对象进行必要的设置(这个对象是哪个类的实例,如何找到这个对象的元数据信息,对象的哈希码,GC年龄分代,偏向锁等) 字段初始化 构造代码块 构造方法 注: 如果有父类,则先父类的5,6,7,再子...
2020-03-08 00:29:40
103
原创 【笔记】Java基础零散知识点
接口中的字段默认为static final,所以必须赋值 接口中的方法默认为abstract抽象方法,所以没方法体 接口没有静态代码块和构造方法,但有< clinit >() ...
2020-03-08 00:07:47
75
原创 【笔记】虚拟机类加载机制
类加载时机 虚拟机严格规定以下六种情况必须立即对类进行“初始化”(加载,验证,准备在此之前) 遇到new,getstatic,putstatic,invokestatic字节码(new实例对象,使用一个类的静态方法,读取或设置一个类的静态字段) 使用java.lang.reflect包方法对类进行反射调用时 初始化时,父类还没初始化,先初始化父类 虚拟机启动时,先初始化main方法的类 java...
2020-03-07 17:08:04
101
原创 【笔记】java内存区域
1.程序计数器 线程私有,在cpu切换线程后恢复到正确的执行位置 当前线程执行的字节码的行号(偏移量offset)指示器,根据这个来决定接下来要执行的字节码指令 分支,循环,跳转,异常处理,线程恢复等基础功能依赖这个计数器 无OutOfMemoryError 2.Java虚拟机栈 线程私有,生命周期与线程相同 虚拟机栈是java【方法】执行的线程内存模型 创建栈帧存储:【局部变量表】【操...
2020-03-06 16:27:52
107
原创 【笔记】SpringCloud微服务简介
微服务 什么是微服务 微服务是松耦合的分布式软件服务,这些服务执行少量的定义明确的任务,服务之间通过http和json这样的轻量级通信协议进行数据交换。 为什么使用微服务 1.程序的复杂性上升,单个程序维护不方便,需要与外部服务联系。 2.客户需要更快的交付。 3.更强的性能和横向伸缩(提升单个机器的性能–>多个机器分担服务压力)。 4.程序需要高弹性,某个故障不会影响到整个程序崩溃。 云 ...
2020-02-16 01:04:14
122
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人