图灵java学习

反汇编 最后一行

5b70a74b51154abd88cf9cb585cdcddb.jpg

 效果是

ec6d44c551aa4558b37d9dce362e8e4f.jpg

1877ecd365024609a09b1916d4aa4df1.jpg

 

程序计数器,保存下一个指令的地址

19b9600bed994217a9bbb2f8030b30ed.jpg

 iadd. int加法

 

动态链接

Java动态链接(Dynamic Linking)是Java中的一种运行时特性,它允许在应用程序运行时动态地链接和加载库和组件。在编译时,Java程序不需要链接到特定的库或组件,而是在运行时根据需要动态链接到相关的库和组件。

 

Java动态链接的主要目的是提高代码的可移植性和灵活性。它允许应用程序在不同平台或环境中运行时自动加载和链接所需的库和组件,而不需要在编译时硬编码链接信息。这样一来,程序可以更加灵活和易于维护,也更容易扩展和升级。

 

Java动态链接还提供了一种更灵活的部署方法。通过将库和组件打包成可插拔的模块,程序可以更容易地分发更新或修复,而不需要重新部署整个应用程序。这样一来,应用程序可以快速地响应变化的需求和环境,提高了开发人员和用户的体验。

ba58ae83b38141a5968d2dc4b6ce4fac.jpg

 栈和堆关系,指针

334fd08274474a199ec6ddb9a7a6edeb.jpg

黄的是共有

6fd06b952d31403293994aa38450070b.jpg

方法区,也会指向堆22e19704fdc74555b1d1084005490057.jpg

 垃圾回收时会可达性分析c8c6cd3339324fbe960561bd8b81da0f.jpg

 本地方法区,有native函数,底层是c实现的

749e47ba8d374b92b18e80302645dc03.jpg

好用的arthas工具 0dc66a9daaeb412cb81270ad8dace978.jpg

 fc492ed0fc3c427cbd5d28e66287bed9.jpg

看监控51c1a6c587d445c6919b66d0d9a587e4.jpg 

看线程代码位置 6289e0da71a242dfba84f0c0aa258637.jpg看死锁

 caf3a2ca379c4e7daa4fcb59eaef143d.jpg

 看运行代码反编译

7902e1c85512454f8a9bd921074dae0c.jpg

 302ce24047f641a4b6098f6f7ecdc88b.jpg

修改变量 4407aaf6552c410087e8d6c96a70cd5d.jpg

full gc会stw,停止用户线程 49f909f74db54ea495b4e2b9a57c0389.jpg

频繁full gc 

因为分配的不合理,进不了so就被放 old里。会触发full gc

871365b958b34ee088f424bd71b464c3.jpg

 

4e937f6d69434ab884dd3284a7bfcdc2.jpg

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值