10 2019 档案
摘要://场景,给定一个订单号来从缓存中查询一个订单信息; 步骤: 1从redis中直接获取,有数据就返回 2.如果redis中没有值,就查数据库 3.数据库查到的数据不为空,就刷到redis中 4.返回查到的数据 一般的代码写法:
阅读全文
摘要:准备如下: //使用idea打断点 //看源码切记别扣细节,Proxy.newProxyInstance知道是通过字节码对象反射创建的代理对象,所以目标很明确,需要找到对应的字节码对象 进入该方法:getProxyClass0 进入该方法(proxyClassCache.get(loader, in
阅读全文
摘要:如图: 需要去掉"副本",或者"的副本"2个字 结果如图:
阅读全文
摘要:事先创建一个java类,如下: 执行命令后获得字节码文件内容: 本次需要分析的字节码内容如下: java虚拟机栈和栈帧关系图: 栈帧的组成:局部变量表,操作数栈,动态链接,方法出口 由字节码文件可以看到,栈深度为2(stack=2)说明操作数栈的深度是2,本地变量表变量长度为5因此过程分析如下: 0
阅读全文
摘要://环境的搭建: 1.创建一个类并编译它 2.使用java命令:javap -c -verbose build/classes/java/main/com/yang/jvm/Test.class 将16进制的字节码文件转成可视化的文件内容如下: 具体内容如下: 此外:idea也有插件可以得到上面的字
阅读全文