程序员小迷
  • 面向对象设计的6大原则是何方神圣

    一、单一职责原则(Single Responsibility Principle, SRP)一个类或模块应该只负责一种功

    2024-06-29 11:37
  • 线程池的工作原理

    线程池可以减少创建和销毁线程的次数,从而减少系统资源的消耗。当一个任务(Runnable或Callable对象)(Run

    2024-06-23 12:09
  • 自定义类加载器的来龙去脉

    一、类加载的三种使用场景1.通过命令行启动应用时由 JVM 初始化加载含有 main(String[] args) 方法

    2024-06-22 11:27
  • 类加载的初始化阶段的奥秘

    一、概述初始化阶段是类加载机制(加载,链接(验证,准备,解析),初始化)的最后一步。在准备阶段已经为类变量赋过一次值(默

    2024-06-16 11:27
  • 类加载的验证阶段你不知道的东西

    一、验证是链接阶段(验证,准备,解析)的第一步,是验证.class文件中的二进制字节流被转换成的Java虚拟机里的Cla

    2024-06-15 11:35
  • 类加载器你不知道的东西

    类加载:通过一个类的全限定名来获取描述此类的二进制字节流,将二进制流加载到内存中,并转换为可执行的Java字节码。一、双

    2024-06-10 14:46
  • 类加载的奥秘

    一、类的加载过程将类的字节码文件加载到Java虚拟机中进行执行。1.通过一个类的全限定名来获取定义此类的二进制流字节码文

    2024-06-09 11:47
  • Java中类初始化的奥秘

    一、概述在 Java 语言中,类的加载、链接(验证、准备、解析)和初始化过程都是在程序运行期间完成的。其中加载、验证、准

    2024-06-08 11:31
  • Java的可见性和有序性你真的懂吗

    一、可见性(Visibility)1.指的是:一个线程对变量的修改可被其他线程看见。2.Java提供了volatile、

    2024-06-02 11:55
  • CMS和G1谁是赢家

    JVM存在有CMS(Concurrent Mark Sweep)垃圾收集器和G1(Garbage First)垃圾收集器

    2024-06-01 12:19
  • 永久代你不知道的东西

    一、在Java 7及之前的版本中,永久代(Permanent Generation)用于存储类的元数据信息、常量池等。且

    2024-05-26 10:15
  • Java对象头你不知道的地方

    在Java中,每个对象都拥有一个对象头,这些对象头包含了关于对象的一些元数据信息。对象头(Header)包含2部分(若为

    2024-05-25 11:33
  • 内存屏障和同步屏障傻傻分不清楚

    一、Java 中如何保证底层操作的有序性和可见性?1.解决方案:内存屏障。2.有序性:内存屏障是可以插入到两个CPU指令

    2024-05-19 13:05
  • happens-before是何方神圣

    一、概述1.Java内存模型(Java Memory Model或JMM)里定义的happens-before 规则指的

    2024-05-18 10:24
  • HashMap和Hashtable区别的底层原理

    一、容器键值对:1.HashMap 的 key 和 value 都允许为 null , HashMap 在 key 为

    2024-05-12 11:53
  • 嵌套滑动解决之法

    一、ScrollView/NestedScrollView中嵌套RecyclerView时滑动异常的解决方案:1.竖向滑

    2024-05-06 11:35
  • 垃圾收集器你不知道的点

    一、Serial1.新生代,复制算法 ,单线程,简单高效,适合内存不大的情况。2.在进行垃圾回收时,必须停止其他所有工作

    2024-05-05 12:36
  • 堆内存分配策略傻傻不清楚

    一、概述1.JVM堆内存分为年轻代、老年代和持久代(JDK7及之前版本)或元空间(JDK8及之后版本)。年轻代用于存放新

    2024-05-04 12:00
  • 垃圾回收算法你不知道的奥秘

    一、对象回收判定方法1.引用计数法(PHP语言在用):快,方便,实现简单,缺点:对象相互引用时,很难判断对象是否该回收。

    2024-05-03 12:58
  • 逃逸分析、栈上分配、标量替换大展神威

    一、逃逸分析1.逃逸分析的目的是判断对象的作用域是否会逃逸出方法体(方法逃逸)或者外部线程(线程逃逸)。2.注意,任何可

    2024-05-02 14:25