jvm
文章平均质量分 81
小健健健
一个搞安全的程序员
展开
-
java并发和锁,自己动手(一)
文章目录CAS(乐观锁)AtomicIntegerUnsafeConcurrentHashMapputCAS(乐观锁)CAS,是Compare and Swap的简称,在这个机制中有三个核心的参数:主内存中存放的共享变量的值:V(一般情况下这个V是内存的地址值,通过这个地址可以获得内存中的值)工作内存中共享变量的副本值,也叫预期值:A需要将共享变量更新到的最新值:B如上图中,主存中保存V值,线程中要使用V值要先从主存中读取V值到线程的工作内存A中,然后计算后变成B值,最后再把B值写回到内存V值原创 2022-04-08 12:50:32 · 487 阅读 · 0 评论 -
Tomcat类加载,自己看源码
在java本身的类加载器的基础上增加了5个类加载器下载tomcat源码:https://tomcat.apache.org/download-90.cgi找到java/org/apache/catalina/startup/Bootstrap.java这个是启动类,找到这块,我们来看他的逻辑main() -> start() -> init() -> initClassLoaders(),依次创建我们的三个类加载器看创建类加载器的方法private ClassLoader原创 2022-04-05 14:56:43 · 791 阅读 · 0 评论 -
jvm双亲委派源码,自己看,自己写ClassLoader
其中BootStrapClassLoader加载jre/lib/rt.jar resources.jar charsets.jarExtClassLoader加载jre/ext/AppClassLoader加载其他的类找到sum.misc.Launcher包在AppClassLoader.loadClass处打断点,随便执行个自己定义的类中的main方法跟到核心类ClassLoader.loadClass,我先贴个图我们先是从AppClassLoader进入 protected .原创 2022-04-05 04:47:46 · 335 阅读 · 0 评论