沉淀、分享、成长,让自己和他人都能有所收获!😄 一、Thread状态 Java的线程状态描述在Thread类里面的枚举类State中,包路径为java.lang.Thread...
沉淀、分享、成长,让自己和他人都能有所收获!😄 一、Thread状态 Java的线程状态描述在Thread类里面的枚举类State中,包路径为java.lang.Thread...
一、ThreadLocal简介 ThreadLocal顾名思义可以根据字面意思理解成线程本地变量。也就是说如果定义了一个ThreadLocal,每个线程都可以在这个Threa...
一、基于AQS实现的锁 AQS(AbstractQueuedSynchronizer) 是Java并发包JUC中非常重要的一个类,大部分锁都是基于AQS实现的,主要实现的类如...
一、AbstractQueuedSynchronizer简介 AQS(AbstractQueuedSynchronizer)是并发容器JUC(java.util.concur...
一、锁的基础知识 锁的类型 锁从客观上分为悲观锁和乐观锁。 乐观锁:乐观锁是一种乐观思想,认为写少读多,遇到并发写的可能性比较低,读数据的时候认为别人不会修改,所以读的时候不...
学习JVM垃圾回收机制主要学习以下几点:哪些内存需要回收(判断对象可以回收)、什么时候回收(GC什么时候执行)、怎么回收(垃圾回收算法、垃圾回收器)、垃圾回收过程。 JVM ...
一、依赖倒置原则定义 依赖倒置原则:抽象不应该依赖于实现,实现应该依赖于抽象,也就是说我们应该面对抽象(接口)编程,而不应该面对实现编程。 二、依赖倒置原则描述 依赖倒置原则...
一、JVM类加载过程 JVM类加载过程如下图: JVM类加载过程分为:加载 、链接 、初始化 、使用 、卸载 这五个阶段,其中链接阶段又包括: 验证 、 准备 、 解析 。 ...
一、接口隔离原则定义 接口隔离原则定义如下: 接口隔离原则(Interface Segregation Principle, ISP):使用多个专门的接口,而不使用单一的总接...
一、迪米特法则定义 迪米特法则又最少知识原则,其定义如下: 迪米特法则(Law of Demeter, LoD):一个软件实体应当尽可能少的与其他实体发生相互作用。 二、迪米...
一、JDK1.6、JDK1.7、JDK1.8内存模型演变 JDK1.6、JDK1.7、JDK1.8内存模型演变规程如下图: 从上图我们可以看出这些版本的JVM内存模型主要有以...
一 String描述 String是一个用final声明的常量类,不能被任何类继承,底层是由char[]数组实现,这个数组也是final,一旦String对象被创建,包含这...
一、里氏替换原则定义 里氏替换原则是实现开闭原则的重要方式之一,定义如下:里氏替换原则(Liskov Substitution Principle,LSP):继承必须确保超类...
一、开闭原则定义 开闭原则是面向对象的可复用设计的第一块基石,是最重要的面向对象设计原则。定义如下: 开闭原则(Open-Closed Principle, OCP):一个软...
一、单一职责原则定义 单一职责原则是面向对象五个基本原则(SOLID)之一,也是最简单的面向对象设计原则,用于控制类的颗粒大小。单一职责定义如下: 单一职责原则(SRP:Si...
java.util.Collections 是java集合框架中的一个工具类,主要用于Collectiont提供的通用算法,比如:排序(sort)、二分查找(binarySe...
两者数据结构不同,ArrayList是基于数组实现、LinkedList是基于双向链表实现。从获取、删除、插入、内存开销这几个点来说明两者的区别。 1、 获取: ArrayL...
一、前言 Stack栈:先进后出 Queue队列:先进先出 在Java里有一个Stack类,但是这个类已经不推荐使用了,而Queue是一个接口,当我们需要使用栈和队列时,推荐...