weixuqin 的专栏

205 篇文章
47 人订阅

全部文章

希希里之海

线程池

创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。示例代码如下:

13110
希希里之海

Optional 理解

Optional 是一个容器对象,该容器里可能包含非空值也可能不包含非空值。最主要的用途就是为了规避 NPE 异常(传入的对象为 null 造成)。

13310
希希里之海

Lambda 表达式

Java Lambda 表达式是一种匿名函数;它是没有声明的方法,即没有访问修饰符、返回值声明和名字。

13920
希希里之海

函数式接口

​ 如果一个接口声明了抽象方法,但该抽象方法重写了 Object 类里的一个公有方法,那么对于 Java 编译器来说,它并不会认为该方法符合函数式接口的抽象方法...

10720
希希里之海

ArrayList 源码分析

在 Java 中当创建数组时会在内存中划分一块连续的内存,然后当有数据进入的时候会将数据按顺序的存储在这块连续的内存中。当需要读取数组中的数据时,需要提供数组中...

11310
希希里之海

LinkedList 源码分析

链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以...

13920
希希里之海

Idea 使用 Junit4 进行单元测试

Idea 默认使用 arquillian junit4 作为测试框架,我们将其更改为 Junit4。

73950
希希里之海

Junit 学习笔记

14460
希希里之海

Java 定时器

Timer 可以按计划执行重复的任务或者定时执行指定任务,这是因为 Timer 内部利用了一个后台线程 TimerThread 有计划地执行指定任务。

22320
希希里之海

synchronized(修饰方法和代码块)

所谓的实例对象锁就是用 synchronized 修饰实例对象中的实例方法,注意是实例方法不包括静态方法,如下:

30130
希希里之海

Java 实现多线程的三种方式

实际上 Thread 类也是实现了 Runnable 接口: class Thread implements Runnable {}

13430
希希里之海

等待和通知

java.lang.Object 类提供了一套等待/通知的 API,它由 3 个 wait()、一个 notify() 和一个 notifyAll() 方法组成...

11830
希希里之海

生产者和消费者模型

生产者消费者模型具体来讲,就是在一个系统中,存在生产者和消费者两种角色,他们通过内存缓冲区进行通信,生产者生产消费者需要的资料,消费者把资料做成产品。

10820
希希里之海

volatile 关键字(修饰变量)

是一种比 sychronized 关键字更轻量级的同步机制,访问 volitile 变量时,不会执行加锁操作。

13120
希希里之海

并发三大特性

Java 内存模型是通过在变量修改后将新值同步回主内存,在变量读取前从主内存刷新变量值这种依赖主内存作为传递媒介的方法来实现可见性的。

13910
希希里之海

Java 集合源码分析(一)HashMap

附:更这个系列感觉自己像是又挖了一个坑?,不过趁自己刚好工作不太忙,有空闲期,静下心来研究学习源码也是一件很值得做的事,自己尽量会把这个坑填完?。

17240
希希里之海

Thread 和 Runnable

Java 主要是通过 java.lang.Thread 类以及 java.lang.Runnable 接口实现线程机制的。

9320
希希里之海

《深入理解 Java 虚拟机》学习 -- 类加载机制

虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是虚拟机的类加载机制...

10650
希希里之海

《深入理解 Java 虚拟机》学习 -- Java 内存模型

在硬件中,为了解决处理器与内存的速度矛盾,在两者之间使用了高速缓存,但也引入了新的问题:缓存一致性。

11920
希希里之海

《深入理解 java 虚拟机》学习 -- 内存分配

当年轻代满时就会触发Minor GC,这里的年轻代满指的是 Eden 代满,Survivor 满不会引发 GC。

16230

扫码关注云+社区

领取腾讯云代金券