随笔分类 - Java
摘要:本文将为各位带来有关 Java 线程内数据共享的方法。关注我的公众号「Java面典」了解更多 Java 相关知识点。 线程间数据共享 Java 里面进行多线程通信的主要方式就是共享内存的方式,共享内存主要的关注点有两个:可见性和有序性原子性。Java 内存模型(JMM)解决了可见性和有序性的问题,而
阅读全文
摘要:前两篇文章中,为各位带来了,锁的类型及锁在Java中的实现。接下来本文将为各位带来锁在Java中的应用相关知识。关注我的公众号「Java面典」了解更多 Java 相关知识点。 锁在Java中主要应用还是在JUC(java.util.concurrent)包下的相关类,常用的主要有原子类、原子集合以及
阅读全文
摘要:上一篇文章中,我们已经介绍过了各种锁,让各位对锁有了一定的了解。接下来将为各位介绍锁在Java中的实现。关注我的公众号「Java面典」了解更多 Java 相关知识点。 在 Java 中主要通过使用synchronized 、 volatile关键字,及 Lock 接口的子类 ReentrantLoc
阅读全文
摘要:在进行更近一步的了解Java锁的知识之前,我们需要先了解与锁有关的两个概念 CAS 与 AQS。关注我的公众号「Java面典」了解更多 Java 相关知识点。 CAS(Compare And Swap/Set) 概念 CAS函数,是比较并交换函数,它是原子操作函数。 原理 CAS 是基于乐观锁的原理
阅读全文
摘要:在多线程或高并发情境中,经常会为了保证数据一致性,而引入锁机制,本文将为各位带来有关锁的基本概念讲解。关注我的公众号「Java面典」了解更多 Java 相关知识点。 根据锁的各种特性,可将锁分为以下几类: 乐观锁/悲观锁 独享锁(互斥锁)/共享锁(读写锁) 可重入锁 公平锁/非公平锁 分段锁 偏向锁
阅读全文
摘要:在此之前,我们已经了解了关于线程的基本知识,今天将为各位带来,线程池这一技术。关注我的公众号「Java面典」了解更多 Java 相关知识点。 为什么使用线程池?线程池做的工作主要是控制运行的线程的数量。 线程池的种类 Java 中常用的线程池主要有四种: newCachedThreadPool 、
阅读全文
摘要:在前两篇文章中,我们已经了解了关于线程的创建与常用方法等相关知识。接下来就来了解下,当你运行线程时,线程是如何调度的。关注我的公众号「Java面典」了解更多 Java 相关知识点。 多任务系统往往需要同时执行多道作业。作业数往往大于机器的 CPU 数,然而一颗 CPU 同时只能执行一项任务,如何让用
阅读全文
摘要:在上一章,为大家介绍了线程的一些基础知识,线程的创建与终止。本期将为各位带来线程的生命周期与常用方法。关注我的公众号「Java面典」了解更多 Java 相关知识点。 线程生命周期 一个线程不是被创建了马上就开始执行,也不是一直处于执行状态。在线程的整个生命周期中会经历 新建 (New)、 就绪 (R
阅读全文
摘要:本文开始将开始介绍 Java 多线程与并发相关的知识,多谢各位一直以来的关注与支持。关注我的公众号「Java面典」了解更多 Java 相关知识点。 线程的创建方式 在 Java 中,用户常用的主动创建线程的方式有三种,分别是 继承 Thread 类 、 实现 Runnable 接口 、 通过Call
阅读全文
摘要:我们已经讲过 JVM 相关的很多常见知识点,感兴趣的朋友可以在我的往期文章中查看。接下来将继续为各位带来 JVM 类加载机制。关注我的公众号「Java面典」了解更多 Java 相关知识点。 类生命周期 一个 Java 类在 JVM 中的整个生命周期包括: 加载 (Loading)、 验证 (Veri
阅读全文
摘要:了解了JVM内存区域与垃圾回收算法,今天将为各位带来关于垃圾收集器的知识。关注我的公众号「Java面典」了解更多 Java 相关知识点。 Java 堆内存被划分为新生代和老年代两部分,因此 JVM 通常采用分代回收算法。新生代主要使用复制和标记 清除垃圾回收算法 ,老年代主要使用标记 整理垃圾回收算
阅读全文
摘要:在之前的文章中,已经为各位带来了JVM的内存结构与堆内存的相关介绍,今天将为为各位详解JVM垃圾回收与算法。关注我的公众号「Java面典」了解更多 Java 相关知识点。 如何确定垃圾 想要回收垃圾,必须得先知道,哪些对象可以被认定为垃圾。关于垃圾确定方式,主要有两种,分别是 引用计数法 与 可访问
阅读全文
摘要:在上一篇文章中,我们介绍了 JVM 的内存区域,本文我们将继续围绕 JVM 展开话题,介绍 JVM 运行时内存。关注我的公众号「Java面典」了解更多 Java 相关知识点。 Java 堆从 GC 的角度还可以细分为: 新生代(Eden 区、Survivor From 区和 Survivor To
阅读全文
摘要:从本文开始将为各位带来JVM方面的知识点,关注我的公众号「Java面典」了解更多Java相关知识点。 JVM内存主要分为三部分 线程私有 (Thread Local)、 线程共享 (Thread Shared)、 直接内存 (Direct Memory)。 线程私有 线程私有区域从字面意思可以看出,
阅读全文
摘要:在前几个回合中,我们已经详细了解过了 Java 集合中的List、Set 和 Map,对这部分内容感兴趣的朋友可以关注我的公众号「Java面典」了解。今天我们将为各位介绍集合的失败机制——fail fast与fail safe。 fail fast(快速失败) 现象 在用迭代器遍历集合对象的时候,如
阅读全文
摘要:Map 在面试中永远是一个绕不开的点,本文将详细讲解Map的相关内容。关注公众号「Java面典」了解更多 Java 知识点。 Map Map 是一个键值对(key value)映射接口; 映射中不能包含重复的键,每个键最多只能映射到一个值; Map 允许以 键集 (keySet())、 值集 (va
阅读全文
摘要:上一篇文章我们说到了 List ,本章开始,我们将继续讲解Set相关的知识。关注公众号「Java面典」了解更多 Java 知识点。 Set 是一个无重复对象的集合类。值的重复与否是根据对象的 hashCode 来判断的,如果想要让两个不同的对象视为相等的,就必须覆盖 Object 的 hashCod
阅读全文
摘要:从本文起,我们将开始分享 Java 集合方面的知识,关注公众号「Java面典」了解更多 Java 知识点。 List 是继承于 Collection 的接口,其实现类有 ArrayList,LinkedList,Vector 和 Stack。 ArrayList 特点 ArrayList 内部是通过
阅读全文

浙公网安备 33010602011771号