简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
从根节点开始向下搜索,搜索所走过的路径称为引用链,当一个对象与根节点之间不存在任何引用链时,则证明此对象是不可用的。虚拟机栈(栈帧中的本地变量表)中引用的对象、本地方法栈中JNI(即native方法)引用的对象。方法区中:类静态属性引用的对象、常量引用的对象。概念:给对象添加一个引用计数器,每当有一个地方引用它时,计数器就加1;当引用失效时,计数器就减1;当计数器为0时,对象就不能再使用了。说明:
目录一、官网:二、JVM内存结构2.1类加载器2.2运行时数据区2.2.1程序计数寄存器(Program Counter Register / PC Register)2.2.3方法区概念:运行时常量池:方法区的回收:元数据区:2.2.3Java虚拟机栈:概念:栈帧:局部变量表(Local Variables Table):操作数栈(Operand Stack):动态连接方法返回地址2.2.4本地
Class类文件的结构常量池:常量池中主要存放两大类常量:字面量(Literal)和符号引用 (Symbolic References)字面量:比较接近于Java语言层面的常量概念,如文本字符串、被声明为final的常量值等。符号引用:符号引用以一组符号来描述所引用的目标,符号可以是任何形式的字面量,只要使用时能够无歧义的定位到目标即可。符号引用与虚拟机的内存布局无关,引用的目标并不一定加载到内存
Java 远程调试:概念:JPDA(Java Platform Debugger Architecture)是Java平台调试体系结构的缩写,通过JPDA提供的API,开发人员可以方便灵活的搭建Java调试应用程序。JPDA 主要由三个部分组成:Java虚拟机工具接口(JVMTI),Java调试线协议(JDWP),以及Java调试接口(JDI)实战:第一步:让服务器支持远程...
HotSpot虚拟机中,对象在内存中的布局分为三块区域:对象头、实例数据和对齐填充。1)对象头:包括标记字段和类型指针两部分内容(注:如果是数组对象,则包含三部分内容):1)Mark Word(标记字段):用于存储运行时对象自身的数据。1>占用内存大小与虚拟机位长一致,在运行期间,考虑到JVM的空间效率,Mark Word被设计成为一个非固定的数据结构,以便存储更多有效的数据。
垃圾收集器新生代收集器1.Serial收集器概念:Serial收集器是一个单线程的收集器,它在进行垃圾收集的时候,必须暂停其他所有的工作线程,直到它搜集结束。(Stop the world)优点:简单而高效(与其它单线存放收集器相比)应用:运行在Client模式下的虚拟机的默认新生代收集器。说明:在桌面应用中,分配给虚拟机管理的内存一般不会很大,收集几十兆或者几百兆的新生代,停顿的时间还不到一秒,
Spring中的IoC:1)概念:把对象的创建、初始化、销毁等工作交给spring容器来做。由spring容器控制对象的生命周期。2)目的:为了解决多个对象之间的依赖关系。3)原理:1)通过配置文件(或注解)的方式来描述bean与bean之间的依赖关系。2)通过动态代理和java的反射机制来实例化bean,同时建立bean之间的依赖关系。4)spring容器创建...
目录一、前言二、DDD是什么?三、DDD的职责:复杂系统的应对:微服务架构:DDD架构:四、DDD相关概念:领域限界上下文(Bounded Context)统一语言五、DDD的实现:战略建模内容:划分限界上下文限界上下文之间的映射关系(Context Mapping)战术建模:内容:模块(Module):实体(Entity):值对象(Value Objects)聚合(Aggregate)领域服务(
常用命令tailtail -f文件名# 根据文件描述符进行追踪(动态显示文件末尾内容),即使文件改名或被删除(甚至再次创建相同名称的文件),它仍然继续追踪之前的文件,而不会追踪新的文件。# 等价于:tail --follow=descriptor 文件名tail -F 文件名# 根据文件名进行追踪(动态显示文件末尾内容),并保持重试,当文件改名或被删除后,如果......
aop:原理:通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能。概念:1,切面(Aspect)事务、日志、权限等都是切面,切面是类2,通知(Advice)切面中的方法就是通知,通知是方法1)前置通知:在目标方法执行之前执行。无论目标方法是否抛出异常,都执行,因为在执行前置通知的时候,目标方法还没有执行,还没有遇