简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
一、默认类加载器Java虚拟机中系统默认的类加载器有三个:BootStrap,ExtClassLoader,AppClassLoaderJava类都是被类加载器加载的,ExtClassLoader,AppClassLoader也是Java类,显然它们也需要被加载,所以必然有一个类加载器不是Java类,并且由它来加载ExtClassLoader,AppClassLoader这两个Java类加载器,这
首先需要明白一点,Java类在使用之前必须先被加载。关于加载其实分为显式加载和隐式加载,显式加载就是我们通过自己来调用相应的加载方法来对特定的类进行加载,隐式加载就是在使用类的时候如果这个类没有被加载过可能就会触发其加载,这个可能是无感知的。下面对类的加载进行一下梳理,主要有以下情形来实现对类的加载。Class.forName()Class.forName()我们在Android...
1、应用开发2、源码级开发分为系统应用开发,Framework开发,底层浏览器内核开发,音视频编码开发、虚拟机开发、底层驱动开发等系统ROM相关的开发3、安全、逆向,病毒分析欢迎关注微信公众号:DroidMind精品内容独家发布平台呈现与博客不一样的技术干货 ...
一、对象标记算法垃圾回收器在对堆内存进行回收前,第一件事情就是要确定哪些对象还”存活”中,哪些对象已经”死去”。一般有下面两种方法来对其进行标记。1、引用计数法原理:给对象中添加一个引用计数器,每当有一个地方引用到它,计算器的值就加1,当引用失效的时候,计数器就减1,任何时刻计数器为0的对象就是没有被使用的对象,表示可以回收。说明:这种方法在主流的虚拟机里面没有被采用,原因是它很难解决对象之间循环
一、日志分析理解GC日志是处理Java虚拟机内存问题的基本技能,下面我们具体来看看。通过在java命令种加入参数来指定对应的gc类型,打印gc日志信息并输出至文件等策略。1、编写java代码public class ReferenceCountingGC {public Object instance = null;private static final int ONE_M
我们知道,Java native方法的注册形式有两种,一种是主动注册,一种是默认的被动注册,如果我们希望弄清楚java native方法的调用过程,我们首先就需要搞清楚两种注册方式的实现原理,下面我们先分别看看这两种注册方式。一、Java native方法的主动注册首先说说JNINativeMethod,它是一个结构体,表示了我们需要注册的本地方法,主要是将java方法跟native...
摘自 Java虚拟机规范
1、可以通过调用 System.getProperty("java.vm.version")来检测当前使用的是哪个虚拟机,如果使用的是ART虚拟机的话,属性值会大于等于2.0.0private boolean getIsArtInUse() {final String vmVersion = System.getProperty("java.vm.version&qu
前提:安装好VirtualBox虚拟机,并且在虚拟机上安装好Ubuntu系统。打开虚拟机中Ubuntu系统的终端1、安装sshd服务$ sudo apt-get install openssh-server2、开启服务$ /etc/init.d/ssh start3、判断是否安装ssh服务,可以通过如下命令进行:ps -e|grep ssh另外附上其他两个命令//关闭服务$ /etc/init
1、 VirtualBox的安装2、 下载Android系统的iso文件http://www.android-x86.org/downloadhttps://code.google.com/archive/p/android-x86/downloads3、安装过程(1)创建虚拟机-新建-选择Linux系统(2)选择VDI(3)选择动态分配(4)对虚拟机命名并分配内存大小(5)选择