06 2019 档案
摘要:一篇大神的译文,勉强(嗯。。相当勉强)地放在类加载器系列吧,第8弹: 实战分析Tomcat的类加载器结构(使用Eclipse MAT验证) 还是Tomcat,关于类加载器的趣味实验 了不得,我可能发现了Jar 包冲突的秘密 重写类加载器,实现简单的热替换 @Java Web 程序员,我们一起给程序开
阅读全文
摘要:类加载器第7弹: 实战分析Tomcat的类加载器结构(使用Eclipse MAT验证) 还是Tomcat,关于类加载器的趣味实验 了不得,我可能发现了Jar 包冲突的秘密 重写类加载器,实现简单的热替换 @Java Web 程序员,我们一起给程序开个后门吧:让你在保留现场,服务不重启的情况下,执行我
阅读全文
摘要:一、前言 类加载器实战系列的第六篇(悄悄跟你说,这篇比较水),前面5篇在这里: 实战分析Tomcat的类加载器结构(使用Eclipse MAT验证) 还是Tomcat,关于类加载器的趣味实验 了不得,我可能发现了Jar 包冲突的秘密 重写类加载器,实现简单的热替换 @Java Web 程序员,我们一
阅读全文
摘要:一、前言 这篇算是类加载器的实战第五篇,前面几篇在这里,后续会持续写这方面的一些东西。 实战分析Tomcat的类加载器结构(使用Eclipse MAT验证) 还是Tomcat,关于类加载器的趣味实验 了不得,我可能发现了Jar 包冲突的秘密 重写类加载器,实现简单的热替换 重写类加载器,实现简单的热
阅读全文
摘要:一、前言 关于类加载器,前面写了三篇,这篇是第四篇。 实战分析Tomcat的类加载器结构(使用Eclipse MAT验证) 还是Tomcat,关于类加载器的趣味实验 了不得,我可能发现了Jar 包冲突的秘密 本篇写个简单的例子,来说说类的热替换。 先说个原则,在同一个类加载器内,不能重复加载同一个类
阅读全文
摘要:一、前言 这篇是类加载器相关的第三篇: 实战分析Tomcat的类加载器结构(使用Eclipse MAT验证) 还是Tomcat,关于类加载器的趣味实验 昨天下午刚写了篇 类加载器相关的,晚上想着验证个问题:Tomcat 跑了多个spring web项目,那么org.springframework.w
阅读全文
摘要:一、前言 类加载器,其实是很复杂一个东西,想等到我完全什么都弄明白了再写出来,估计不太现实。。。现在只能是知道多少写多少吧。 首先,我提一个问题:在我们自己的servlet中(比如ssm中,controller的代码),可以访问 tomcat 安装目录下 lib 中的类吗?(servlet-api.
阅读全文
摘要:一、前言 这两天看tomcat,查阅 tomcat 怎么承载高并发时,看到了backlog参数。我们知道,服务器端一般使用mq来减轻高并发下的洪峰冲击,将暂时不能处理的请求放入队列,后续再慢慢处理。其实操作系统已经帮我们做了一些类似的东西了,这个东西就是backlog。服务端一般通过 accept
阅读全文
摘要:一、前言 在各种Tomcat相关书籍,书上都提到了其类加载器结构: 在Tomcat 7或者8中,共享类和Catalina类加载器在catalina.properties中都是没配置的,请看: 所以,catalina和shared是直接把common的类加载器赋值给了它们,这三者其实都是同一个类加载器
阅读全文
摘要:一、前言 前一阵子比较好奇,想看到底层(虚拟机、汇编)怎么实现的java 并发那块。 volatile是在汇编里加了lock前缀,因为volatile可以通过查看JIT编译器的汇编代码来看。 但是原子类,本来在jvm中就是汇编实现的,反而没法看。如果能实际跟踪一下断点,应该也算实际验证了。 这边基本
阅读全文