一、单一职责原则(Single Responsibility Principle, SRP)一个类或模块应该只负责一种功
线程池可以减少创建和销毁线程的次数,从而减少系统资源的消耗。当一个任务(Runnable或Callable对象)(Run
一、类加载的三种使用场景1.通过命令行启动应用时由 JVM 初始化加载含有 main(String[] args) 方法
一、概述初始化阶段是类加载机制(加载,链接(验证,准备,解析),初始化)的最后一步。在准备阶段已经为类变量赋过一次值(默
一、验证是链接阶段(验证,准备,解析)的第一步,是验证.class文件中的二进制字节流被转换成的Java虚拟机里的Cla
类加载:通过一个类的全限定名来获取描述此类的二进制字节流,将二进制流加载到内存中,并转换为可执行的Java字节码。一、双
一、类的加载过程将类的字节码文件加载到Java虚拟机中进行执行。1.通过一个类的全限定名来获取定义此类的二进制流字节码文
一、概述在 Java 语言中,类的加载、链接(验证、准备、解析)和初始化过程都是在程序运行期间完成的。其中加载、验证、准
一、可见性(Visibility)1.指的是:一个线程对变量的修改可被其他线程看见。2.Java提供了volatile、
JVM存在有CMS(Concurrent Mark Sweep)垃圾收集器和G1(Garbage First)垃圾收集器
一、在Java 7及之前的版本中,永久代(Permanent Generation)用于存储类的元数据信息、常量池等。且
在Java中,每个对象都拥有一个对象头,这些对象头包含了关于对象的一些元数据信息。对象头(Header)包含2部分(若为
一、Java 中如何保证底层操作的有序性和可见性?1.解决方案:内存屏障。2.有序性:内存屏障是可以插入到两个CPU指令
一、概述1.Java内存模型(Java Memory Model或JMM)里定义的happens-before 规则指的
一、容器键值对:1.HashMap 的 key 和 value 都允许为 null , HashMap 在 key 为
一、ScrollView/NestedScrollView中嵌套RecyclerView时滑动异常的解决方案:1.竖向滑
一、Serial1.新生代,复制算法 ,单线程,简单高效,适合内存不大的情况。2.在进行垃圾回收时,必须停止其他所有工作
一、概述1.JVM堆内存分为年轻代、老年代和持久代(JDK7及之前版本)或元空间(JDK8及之后版本)。年轻代用于存放新
一、对象回收判定方法1.引用计数法(PHP语言在用):快,方便,实现简单,缺点:对象相互引用时,很难判断对象是否该回收。
一、逃逸分析1.逃逸分析的目的是判断对象的作用域是否会逃逸出方法体(方法逃逸)或者外部线程(线程逃逸)。2.注意,任何可
签名:致力于Android、iOS、C、Java等编程技术的技巧经验分享