![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 87
乐活每天
java spring mybatis struts2 springboot axis2 websocket python shell ruby js jquery easyui jqueryui hadoop hive hbase mr flume kafka ambari spark hue kerberos ldap maven ant svn
展开
-
Java的finalize方法探究
一个类实现了finalize方法后,如果出现大量创建该类的实例对象时,很可能会引起内存问题,使用时要特别注意。原创 2022-09-07 13:11:38 · 470 阅读 · 2 评论 -
探索java中的DI实现原理
什么是DIDI是Dependency Injection的简称,翻译过来就是“依赖注入”。熟悉java开发的同学都会接触到这个概念,在spring、guice等框架中均是一个基本概念。依赖注入所作的事情就是,在程序运行时为类的变量赋予实例。DI解决了代码分层开发,层次之间的代码解耦问题。与DI相伴生的概念是IOC,他们是同一事物的不同方面的阐述。如何实现DI如果我们编写的代码中,没有为类的变量创建实例,那么就要想办法在程序运行时为变量赋值。我目前能想到的方法就是利用java的reflect机制,原创 2020-12-28 10:13:56 · 1907 阅读 · 0 评论 -
java的jar包冲突排查思路
jar包冲突的起因一般使用eclipse或IDEA等集成开发工具进行项目开发打包的话,很少会出现引入不同版本的同一款jar包,所以在一个项目中出现引入的jar包冲突的现象极少,也比较容易排查。但是,随着java系统的庞大,往往一套庞大的应用系统会由不同的服务部件组成,而这些服务部件常常会由jar包相互引入的现象,这就为jar包冲突埋下了隐患。当一个部件因要与其他部件进行交互,而产生需要引入其他部件的相关jar包时,如果要引入的部件的jar包很多,一个不好的习惯,就是一些开发就将这些jar一概均引入自原创 2020-11-09 17:08:13 · 1231 阅读 · 0 评论 -
记一次NoClassDefFoundError错误
什么是NoClassDefFoundError? 与ClassNotFoundException异常不同,虽然NoClassDefFoundError也可能是找不到目标类,但其也可能是再初始化加载目标类时出错了,这两种情况均会导致jvm抛出这个错误。这是一个运行时错误,而ClassNotFoundException是一个编译时异常。相对于ClassNotFoundException而言,NoClassDefFoundError更难被排查。什么时候发生?发生NoclassDefFou...原创 2020-10-29 12:45:17 · 1692 阅读 · 4 评论 -
java反射机制调用可变长参数构造方法创建实例
一、知识基础java加载类进内存均是通过jvm的类加载器完成。java类在内存的唯一标志,其实是通过类加载器+类全名(包名+类名)。不同的类加载器加载同一个类是不会出现冲突的。java的反射机制,是jdk提供的一套api,通过使用类加载器将指定的类动态加载进内存的方法。二、目标使用java反射机制创建一个实例对象,该类的构造方法的参数列表是可变长度的。三、代码示例 try { AInterface ai = Class.forName("com.sun.test原创 2020-07-02 11:46:31 · 610 阅读 · 0 评论