![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
文章平均质量分 94
韩zj
android开发
springBoot开发
展开
-
JVM系列--类加载器,双亲委派机制,打破双亲委派机制
一个Tomcat程序中是可以运行多个Web应用的,如果这两个应用中出现了相同限定名的类,比如Servlet类,Tomcat要保证这两个类都能加载并且它们应该是不同的类。如果不打破双亲委派机制,当应用类加载器加载Web应用1中的MyServlet之后,Web应用2中相同限定名的MyServlet类就无法被加载了。Tomcat使用了自定义类加载器来实现应用之间类的隔离。每一个应用会有一个独立的类加载器加载对应的类。那么自定义加载器是如何能做到的呢?原创 2024-08-23 10:44:02 · 336 阅读 · 0 评论 -
JVM系列--字节码文件详解
完成了对局部变量i的赋值操作。比如在代码中,编写了两个相同的字符串“我爱北京天安门”,字节码文件甚至将来在内存中使用时其实只需要保存一份,此时就可以将这个字符串以及字符串里边包含的字面量,放入常量池中以达到节省空间的作用。Java虚拟机会校验字节码文件的前四个字节是不是0xcafebabe,如果不是,该字节码文件就无法正常使用,Java虚拟机会抛出对应的错误。jad命令可以将类的字节码文件进行反编译成源代码,用于确认服务器上的字节码文件是否是最新的,如下将demo.MathGame的源代码进行了显示。原创 2024-08-22 17:04:15 · 473 阅读 · 0 评论 -
JVM系列--初始JVM
JVM 全称是 Java Virtual Machine,中文译名 Java虚拟机。JVM 本质上是一个运行在计算机上的程序,他的职责是运行Java字节码文件。Java源代码执行流程如下:分为三个步骤:1、编写Java源代码文件。2、使用Java编译器(javac命令)将源代码编译成Java字节码文件。3、使用Java虚拟机加载并运行Java字节码文件,此时会启动一个新的进程。原创 2024-08-22 09:58:06 · 338 阅读 · 0 评论