- 博客(5)
- 收藏
- 关注
原创 JVM内存结构
程序计数器-PC-Register程序计数器的作用源代码经过编译之后会成为jvm指令,Java的跨平台性其实就是基于这套jvm指令而来的,指令通过解释器之后会转换为机器码,CPU可以识别机器码做出响应的反应,而程序计数器的作用就是记住jvm的吓一跳执行地址,然后按照一定的顺序去执行命令。它的物理实现是寄存器。特点程序计数器是线程私有的因为Java是支持多线程的,所以如果所有线程都是公用一个程序计数器,那么执行的流程就会非常混乱,导致执行错误。程序计数器是没有内存溢出的Java虚拟机栈
2022-04-01 18:15:39
498
原创 关于Spring使用代理模式进行AOP实现
AOP实现方式之利用Proxy代理我们的aop可以说是Spring中的一个非常具有特色的东西了,非常流行的实现是利用proxy实现代理对象,但是这种操作其实也有两种不同的实现方法,一种是利用jdk的代理,另外一种是利用cglib这种第三方的包进行的。jdk代理jdk的代理是有一些限制的,它只能面向接口进行代理。我们来看一个例子import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import
2022-03-28 12:57:03
831
原创 反射-注解-类加载器知识
反射知识概念反射机制就是将类的各个组成部分(属性,方法,构造器)封装为其他对象ClassMethodConstructor相关的核心类java.lang.Class(这个就是类的对象)java.lang.reflect.Constructor(构造器)java.lang.reflect.Method(方法)java.lang.reflect.Modifier(修饰词)Class对象的三种获取方法Java代码在计算机中经历的三个阶段注意这个源代码阶段并不是我们的.java文
2022-03-27 16:56:23
385
原创 HashMap入门
HashMap集合介绍HashMap是基于哈希表的Map接口实现,是以Key-Value存储形式存在的,主要是键值对。对于hash冲突的解决方案1.8之前1.8 之前哈希Map是一个数组,计算哈希值之后按照取模运算之后放位置,但是如果位置已经被占用了,那么就会在数组下标的地方变为一个链表,利用链表进行存储。1.8之后1.8 之后哈希Map也还是一个数组,并且对于哈希冲突也是用链表,但是如果链表长度大于8并且整个数组大于了64的话,那么就会把数组下标位置的链表变为红黑树,因为红黑树的查找效率比
2022-03-27 16:54:56
656
原创 Java线程池入门
线程池基础什么是线程池为什么使用线程池使用线程池有哪些优势线程池的使用Java内置线程池内置线程池是一个叫做ThreadPoolExecutor的一个类我们来看看它的构造方法参数详解流程图参数设计这里稍微用个人理解去解释一下,核心线程数说白了就是在80%的情况下能够处理系统任务的线程数量,任务队列长度的设计核心线程数量/单个任务执行时间*2 说白了就是单位时间内可以执行的任务数量2,其实对应的就是上面的80%情况下系统任务数量2然后最大线程数量,
2022-03-27 16:53:03
1983
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人