摘要: 概述 执行引擎属于JVM的下层,里面包括 解释器、及时编译器、垃圾回收器 执行引擎是Java虚拟机核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的 阅读全文
posted @ 2021-07-08 00:03 Zoran0104 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 对象实例化 创建对象的方式 new:最常见的方式。变形1:单例类中调用getInstance的静态类方法。变形2:XXXFactory/XXXBuilder的静态方法 Class的newInstance方法:反射的方式,只能使用空参的构造器,权限必须是public Constructor的newIn 阅读全文
posted @ 2021-07-08 00:02 Zoran0104 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 综述 从运行时数据区来看,方法区是我们最后一个要介绍的部分。 从线程是否共享的角度来看,方法区和堆空间一样,都是线程共享的。 从最简单的对象创建看内存中布局的分配: Person.class:存放在元空间,也可以说方法区 person:存放在Java栈的局部变量表中 new Person():存放在 阅读全文
posted @ 2021-07-04 23:35 Zoran0104 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 综述 堆针对一个JVM进程来说是唯一的,也就是一个进程只有一个JVM,但是进程包含多个线程,他们是共享同一堆空间的。 一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。 Java堆区在JVM启动的时候即被创建,其空间大小也就确定了。是JVM管理的最大一块内存空间。 堆内存的大小是可以 阅读全文
posted @ 2021-06-28 00:12 Zoran0104 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 本地方法接口 什么是本地方法 简单地讲,一个Native Methodt是一个Java调用非Java代码的接囗。一个Native Method是这样一个Java方法:该方法的实现由非Java语言实现,比如C。这个特征并非Java所特有,很多其它的编程语言都有这一机制,比如在C中,你可以用extern 阅读全文
posted @ 2021-06-26 22:52 Zoran0104 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 综述 类加载阶段完成后,就会用到执行引擎对我们的类进行使用,同时执行引擎将会使用到我们的运行时数据区,就好比是大厨做饭,我们把大厨后面的东西(切好的菜,刀,调料),比作是运行时数据区。而厨师可以类比于执行引擎,将通过准备的东西进行制作成精美的菜品。 内存是非常重要的系统资源,是硬盘和CPU的中间仓库 阅读全文
posted @ 2021-06-26 22:27 Zoran0104 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 综述 以上两张图分别从简到全的描述了JVM虚拟机的内存结构 类加载子系统作用 类加载子系统负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识。 ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定。 加载的类 阅读全文
posted @ 2021-06-25 22:54 Zoran0104 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 作为一个CRUD程序员,陆陆续续也写了不少的CRUD代码,想做一个提升,高并发,多线程这些是避不开的,而这一切一切的基石——JVM,粗略的了解了些JUC相关的知识,发现如果想要深入,JVM都是避不开的。 JVM,作为Java开发程序员,肯定是离不开也逃不开的一个东西,曾经的我也很抗拒的去接触他,无非 阅读全文
posted @ 2021-06-24 21:32 Zoran0104 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 2020.8.16更新:在项目使用时发现,目前3.0对file上传的支持存在问题 最近在写项目时,作为一直求新的少年,一直会关注下依赖包的最新版,在导入SpringFox-swagger 2.9.10发现一直无法通过/swagger-ui.html访问,百度又是清一色的兼容swagger 2.9.2 阅读全文
posted @ 2021-03-09 22:45 Zoran0104 阅读(25) 评论(0) 推荐(0) 编辑
摘要: InitializingBean接口为bean提供了初始化方法的方式,它只包括afterPropertiesSet方法,凡是实现该接口的类,在初始化bean的时候会执行该方法。 实现InitializingBean接口与在配置文件中指定init-method有什么不同? 在spring初始化bean 阅读全文
posted @ 2021-03-09 22:42 Zoran0104 阅读(13) 评论(0) 推荐(0) 编辑