随笔分类 -  jvm类加载器

1 2 下一页

声明是否会导致类加载
摘要:public class X { public static void main(String []f) { D d = null; System.out.println("声明"); d = new D(); System.out.println("new"); }} public class D 阅读全文

posted @ 2025-02-16 21:57 silyvin 阅读(0) 评论(0) 推荐(0) 编辑

java object多大 java对象内存模型 数组有多长(十四)内存安全 & 完结
摘要:1 此前用的分段锁,虽然现在变单线程环境了,但是桶仍然可以继续分 用一个桶到中程性能极具下降 分桶后10个数据块耗时分布均匀 可以按实际情况一直分下去,比如100,200 2 一段时间后20个桶都不够了,忘记改了啥了 改成200试下,结果并没啥用,但特点是卡在同一个10万数据块,意味着性能下降是非线 阅读全文

posted @ 2024-12-20 15:45 silyvin 阅读(3) 评论(0) 推荐(0) 编辑

内存泄漏事故(二)线程的中断不可信任【重要】配合volatile强制回收子线程成员变量
摘要:1 Map<k, list> not good: map.remove(k) 如果这时有其他指针指向list,则list无法释放 good: map.get(k).clear() map.remove(k) 即使这是有其他指针指向list,导致list无法释放,但是这个list是空的,泄漏的后果不严 阅读全文

posted @ 2024-08-02 00:24 silyvin 阅读(15) 评论(0) 推荐(0) 编辑

tomcat类加载器及优先加载权
摘要:https://blog.csdn.net/MeBieber/article/details/105114645?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1 阅读全文

posted @ 2024-03-19 14:07 silyvin 阅读(261) 评论(0) 推荐(0) 编辑

main 与 test 资源文件冲突
摘要:一个文件同时存在于xxx-war下, main的在classes下 test的在classess-test下 1)打包时不包括test目录下 https://zhuanlan.zhihu.com/p/630642784 2)打包时忽略test的编译 -DskipTests与-Dmaven.test. 阅读全文

posted @ 2023-09-20 17:04 silyvin 阅读(10) 评论(0) 推荐(0) 编辑

类加载器隔离朴实案例(三)logback实战加密
摘要:背景: 公司框架日志包经常冲突太乱了,经常打不出来,拟搞一套私有的日志 框架 tomcat appclassloader 经过实践,本方法不适用log4j2 高版本slf4j 高版本logback 基于 slf4j-api-1.7.25.jar logback-classic-1.2.3.jar l 阅读全文

posted @ 2022-05-26 15:10 silyvin 阅读(246) 评论(0) 推荐(0) 编辑

第4种打整包插件,urlfactory already set
摘要:0 背景 在maven设置打jar包并引入依赖包中有3种插件打整包,现在有第4种,这种方式与spring boot相似,因为jvm本身不支持加载jar中jar,所以自一开始,我便认定它是用一个特殊的自定义的类加载器去加载jar中jar,我们在 使用resource中的jar包资源作为UrlClass 阅读全文

posted @ 2021-04-25 10:36 silyvin 阅读(321) 评论(0) 推荐(0) 编辑

当动态代理遇到ioc (五)使用cglib切面与自定义类加载器构建独有环境aop日志
摘要:1 当动态代理遇到ioc (四)真正的cglib 利用切面,将传入参数为特定类型的参数打印 2 因为外部启动项有-D,将所有log的配置重定向,而那些文件又改不了; 因此我借助类加载器隔离朴实案例(二)logback的技术,独有一份配置,我希望切面层的日志单独打入一个文件 阅读全文

posted @ 2021-02-10 16:40 silyvin 阅读(161) 评论(0) 推荐(0) 编辑

一次maven构建类冲突解决方法论(二)加载顺序
摘要:https://dalin.blog.csdn.net/article/details/112130831 对于不同groupid,同时打入war包,又存在相同全限定类名不同实现的类,有没有办法摸索它的加载顺序? 1 查看加载顺序 在 jvm 启动脚本中,添加 -verbose 参数或者 -XX:+ 阅读全文

posted @ 2021-02-04 13:35 silyvin 阅读(543) 评论(0) 推荐(0) 编辑

类加载器隔离朴实案例(二)logback
摘要:背景:与类加载器隔离朴实案例【重点】【loadclass yetdone】(一)相同,避免主项目pom中众多log jar包冲突(比如:java日志组件的关系 slf4j logback log4j ),套路还是一样 现成的代码继承:work log pom -war 好多log jars与logb 阅读全文

posted @ 2020-03-27 17:30 silyvin 阅读(693) 评论(0) 推荐(0) 编辑

类的相同通过对是否为同一个类加载器进行判断【重点】
摘要:1 第一个例子是网上找的 类加载器相同,则类相同,否则false package com.java.classLoader; import java.io.IOException; import java.io.InputStream; public class ClassLoaderTest { 阅读全文

posted @ 2020-01-15 17:19 silyvin 阅读(566) 评论(0) 推荐(0) 编辑

JDBC SPI 类加载机制
摘要:https://segmentfault.com/a/1190000017517197?utm_source=tag-newest 一句话总结: 1 自动加载:DriverManager的静态代码块执行的时刻,使用该时刻当前线程类加载器加载java.sql.Driver文件,并用当前线程类加载器加载 阅读全文

posted @ 2020-01-14 16:18 silyvin 阅读(1920) 评论(0) 推荐(0) 编辑

类加载器隔离朴实案例【重点】【loadclass yetdone】
摘要:将子项目jar包及其依赖jar包置于tomcat类加载器不可见处(resource中)https://www.cnblogs.com/yaojf/p/9852802.html,手动以自定义类加载直接加载 避免子项目的jar包与母项目冲突,0侵入母项目; 问题: 主项目:tomcat,巨多jar包 依 阅读全文

posted @ 2020-01-10 10:09 silyvin 阅读(1103) 评论(0) 推荐(0) 编辑

两种类别的类加载器(其实是4种)【重点】
摘要:https://www.jianshu.com/p/891c05b0ac05 CurrentClassLoader是当前方法所属的Class,加载这个Class的ClassLoader,这样有些别扭,其实就是如果A类中有方法调用,在方法调用中用到了B,那么在new的形式下,加载B的ClassLoad 阅读全文

posted @ 2020-01-08 13:30 silyvin 阅读(711) 评论(0) 推荐(0) 编辑

为什么说线程类加载器打破双亲委派,留了后门
摘要:真正理解线程上下文类加载器 https://blog.csdn.net/yangcheng33/article/details/52631940 https://segmentfault.com/a/1190000017517197?utm_source=tag-newest Java SPI的具体 阅读全文

posted @ 2020-01-08 13:25 silyvin 阅读(809) 评论(0) 推荐(0) 编辑

为什么要双亲委派
摘要:对于任意一个类,都需要由加载它的类加载器和这个类本身来一同确立其在Java虚拟机中的唯一性 为了系统类的安全,类似“ java.lang.Object”这种核心类,jvm需要保证他们生成的对象都会被认定为同一种类型。即“通过代理模式,对于 Java 核心库的类的加载工作由引导类加载器来统一完成,保证 阅读全文

posted @ 2020-01-08 13:24 silyvin 阅读(2796) 评论(0) 推荐(0) 编辑

maven build resource
摘要:在 使用resource中的jar包资源作为UrlClassloader 中出现了src下的资源文件没有被maven打入包的情况,故有此文章 1 https://www.cnblogs.com/pixy/p/4798089.html 构建Maven项目的时候,如果没有进行特殊的配置,Maven会按照 阅读全文

posted @ 2020-01-08 00:13 silyvin 阅读(1595) 评论(0) 推荐(0) 编辑

class /classloader getResourceAsStream()与FileInputStream
摘要:https://cloud.tencent.com/developer/ask/28683 getResourceAsStream()通过classname的类加载器加载文件。如果类来自JAR文件,那么就会从JAR文件中加载资源。 FileInputStream用于从文件系统读取文件。 https: 阅读全文

posted @ 2019-03-13 14:47 silyvin 阅读(1607) 评论(0) 推荐(0) 编辑

Spring加载resource时classpath*:与classpath:的区别
摘要:https://www.cnblogs.com/yangy608/p/3365539.html Spring可以通过指定classpath*:与classpath:前缀加路径的方式从classpath加载文件,如bean的定义文件.classpath*:的出现是为了从多个jar文件中加载相同的文件. 阅读全文

posted @ 2019-01-31 18:23 silyvin 阅读(381) 评论(0) 推荐(0) 编辑

java.lang.NoClassDefFoundError类似这种错误catch expection是捕获不到的异常
摘要:https://blog.csdn.net/weixin_40648117/article/details/80819972 一 概念众所周知java提供了丰富的异常类,这些异常类之间有严格的集成关系,分类为父类ThrowableThrowable的两个子类Error和ExceptionExcept 阅读全文

posted @ 2019-01-15 23:44 silyvin 阅读(1453) 评论(0) 推荐(0) 编辑

1 2 下一页
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示