![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 80
chymistry
这个作者很懒,什么都没留下…
展开
-
classLoader 类加载机制
我们所编写的java文件或其他经过编译器生成了class字节码文件,前面两篇已经对class文件的格式有了基本了解。虚拟机想要执行程序则需要将class文件加载到内存中,这个过程从字节流加载内存开始,到卸载出内存结束。其中包括: 加载——验证——准备——解析——初始化——使用——卸载。上面阶段不是严格顺序执行,各个阶段往往都是交叉混合执行的,其中解析可能出现在初始化之后,满足java的动态绑定...原创 2018-09-05 17:31:40 · 218 阅读 · 0 评论 -
虚拟机执行方法,重载与重写
结合前面虚拟机运行时内存分布和Class文件拆解,当一个方法从被调起到执行结束时对应一个栈帧从java方法栈中入栈到出栈。栈帧是用于支持虚拟机进行方法调用和执行的数据结构,其中储存一个方法所拥有的详细信息,包括:局部变量表、操作栈、动态链接和返回地址等信息。如果一个方法具有返回值,在当java方法栈处于栈顶的栈帧出栈后,虚拟机会将返回值压入当前栈顶的栈帧的局部变量内。局部变量表:用于存放方法参...原创 2018-09-11 17:54:40 · 386 阅读 · 0 评论 -
java内存区域
内存局域Java虚拟机所管理的内存包括以下几个运行时内存区域。程序计数器线程私有。记录线程正在执行的字节码指令的地址,用于虚拟机在各个线程之间切换时快速恢复到执行位置,在分支,循环,跳转,异常处理线程恢复等基础功能都需要依赖这个计数器来完成。但如果执行的是Native方法,这个计数器的值为undefined,他是唯一没有OutOfMemoryError的区域。Java虚拟机栈...原创 2018-08-23 19:47:30 · 187 阅读 · 0 评论 -
NDK-LLDB使用及Crash定位(addr2line,objdump, ndk-stack)
LLDB简介官网地址:http://lldb.llvm.org/index.html。LLDB是下一代,高性能的调节器。是Mac OS X上Xcode默认的调节器,支持在电脑 ,IOS设备,模拟器上调试C,Objective-C 和C++。LLDB简单使用在AndroidStudio使用前确保已安装LLDB,Settings->Appearance&Behavior-&g...原创 2018-08-22 19:48:27 · 1580 阅读 · 0 评论 -
JNI--JNIenv 、JNI Types、字符串
使用介绍JNI 是java代码与C/C++代码沟通的桥梁。使用时只需在静态代码块中依赖.so文件,调用C/C++方法使用Native修饰。在androidStudio使用前,切记你已经在SDK Tools里下载应用了CMake、LLDB 、NDK。LLDB:调试工具(后面介绍)。 NDK:工具集,为我们生成C/C++的动态链接库,同时参与打包整合so和java代码。 CMake...原创 2018-08-02 19:01:55 · 298 阅读 · 0 评论 -
JNI - 缓存、 三大引用
在JNI中有很多方法会用到ID, 比如:getObjectField( jobject , fid) 获取java的字段, CallVoidMethod( jobject , mid ) 调用java的方法。JNI在获取字段ID 和方法的ID时需要字段/方法名 和 描述 进行检索,这个过程相对比较耗时。如果有频繁调用的情况,会大大降低方法的效率。为了减少这个过程带来的小号...翻译 2018-08-14 18:16:12 · 469 阅读 · 0 评论 -
Vuforia 官方Demo讲解
官方原文地址:https://library.vuforia.com/articles/Solution/Native-Sample-Application-Template今天看到的36氪新闻:高通发布面向VR/AR一体机的骁龙XR1芯片 支持4K视频模板接口三个重要的接口:SampleApplicationSession、SampleApplicationControl、SampleAppMe...原创 2018-05-31 14:19:52 · 3308 阅读 · 0 评论 -
翻译 整理View , API
https://developer.android.google.cn/reference/android/view/ViewAPI 27AnnotationsViewDebug.ExportedProperty : 在捕获视图时标记要转储的字段和方法。修饰方法时方法不能有参数,并返回有效的数据。例如:View getContext() @ViewDebug.CapturedViewProper...原创 2018-06-12 15:14:26 · 196 阅读 · 0 评论 -
DataBinding
https://developer.android.google.cn/reference/android/databinding/package-summary概览AnnotationsBindable 被用于继承Observable类的get方法上,配合notifyPropertyChanged(BR.*)使用。BindingAdapter 修饰静态方法,给Vi...原创 2018-05-28 14:46:36 · 262 阅读 · 0 评论 -
Class文件(二)-属性和字节码指令
上一篇介绍了class文件结构的含义https://blog.csdn.net/m0_37312601/article/details/82221996,这篇主要讲attribute_info表中各个属性及Java虚拟机中的一些指令。java实例以及分析数据依然与上篇相同,这里就不重新贴了。属性表的Code属性方法表长度为methods_count = 2,第一个方法是编译器默认为我们...原创 2018-09-03 16:53:25 · 676 阅读 · 0 评论