![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 79
EnjoyAndroid
这个作者很懒,什么都没留下…
展开
-
Dalvik VM (DVM) 与Java VM (JVM)之间的区别
前言 DVM和JVM之间的区别应该算是Android面试的常客了,也是比较深入原理性的东西,今天花了点时间整理了一下,收获良多。区别 1、DVM和JVM最核心的区别是:DVM基于寄存器的架构,而JVM基于栈的架构。基于寄存器的好处是可以更好的做提前优化从而执行速度更快,但是代码长度更长,基于栈的好处是方便移植。 2、另外一个区别是DVM允许存在多个实例运行原创 2017-11-21 17:35:25 · 608 阅读 · 0 评论 -
深入理解JVM的内存结构及GC机制
一、前言 JAVA GC(Garbage Collection,垃圾回收)机制是区别C++的一个重要特征,C++需要开发者自己实现垃圾回收的逻辑,而JAVA开发者则只需要专注于业务开发,因为垃圾回收这件繁琐的事情JVM已经为我们代劳了,从这一点上来说,JAVA还是要做的比较完善一些。但这并不意味着我们不用去理解GC机制的原理,因为如果不了解其原理,可能会引发内存泄漏、频繁GC导致应用卡顿原创 2017-11-23 02:12:38 · 43779 阅读 · 6 评论 -
细说equals()方法和hashCode()方法
一、前言 对于这两个方法的研究,源于一道比较经典的面试题:“x.equals(y)==true;x,y可有不同的hashcode对吗?”,其实这道题的关键在于考我们对equals()方法和hashCode()方法的理解,网上看了不少文章,有说对的,也有说不对的。在我看来对也不对,具体原因,我们下面慢慢分析。二、equals()方法 equals()方法是Object中定义的方原创 2017-11-24 18:03:18 · 292 阅读 · 0 评论 -
花式写单例之单例的六种写法
一、前言 单例模式是一种常用的设计模式,其定义是单例对象类只允许一个实例存在,实现的核心原理是构造函数私有化。使用单例可以节省内存开销,也是现实场景中的一种映射,比如一台打印机同时只能运行一个打印任务,一个公司只有一个CEO等场景。二、实现步骤2.1 构造函数私有化; 2.2 提供一个静态方法获取实例(需要注意多线程问题)。三、写法3.1 饿汉式(线程安全)public class S原创 2017-11-23 14:33:06 · 424 阅读 · 0 评论