- 博客(4)
- 收藏
- 关注
原创 java反射机制中class.forName和classloader的区别
类加载机制大致分为5个阶段:(1)加载:java类运行时候会生成一个class字节码文件,加载的过程就是去我们的操作系统寻找这个class文件。(2)链接:这个过程就是把class文件加载到java虚拟机。(3)初始化:在虚拟机中根据class文件进行初始化。(4)使用:这个过程大家都明白。(5)卸载:使用完了,java虚拟机进行清理。对于class.forName和classloader来说针对的就是第一个过程,也就是加载过程。不过这俩虽然有一定的相似性,但是区别还是挺大的。详情可看另一边
2020-05-21 09:50:19 424
转载 Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)
class文件简介及加载 Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文件,取出二进制数据,加载到内存中,解析.class 文件内的信息,生成对应的 Class对象:&nb...
2020-05-20 09:41:46 175
原创 try、catch、finally中包含return的执行结果总结
1、不管有没有出现异常,finally块中代码都会执行,即所谓的finally块中是无论如何都会执行的代码2、当try和catch中有return时,finally仍然会执行在return结果返回之前,但是此时try或者catch里面return后面的表达式已经执行完毕,结果存在栈中;3、当try和catch中有return时:若返回的是基本类型或者字符串类型,在finally里面对返回值重新赋值,不影响返回结果若返回值类型是引用类型,此时要明白上述第二条中保存在栈中的结果是该引用类型变量的引用地址
2020-05-19 14:57:30 280
原创 雪花算法以及分布式环境如何使用
我们都知道在一个分布式系统中生成一个无重复的标识是非常重要的,业界也有很多算法。其中一个很出名的就是推特的雪花算法,贴一下java的源码(推特是python写的,下面是java改写的):package com.cnblogs.util;/** * Twitter_Snowflake<br> * SnowFlake的结构如下(每部分用-分开):<br> * 0 ...
2020-05-07 11:41:42 980
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人