欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
  • Java 集合系列(四)—— ListIterator 源码分析

    以脑图的形式来展示Java集合知识,让零碎知识点形成体系 Iterator 对比 Iterator(迭代器)是一种设计模式,是一个对象,用于遍历集合中的所有元素。 Iterator 包含四个方法,分别是:next()、hasNext()、remove()、forEachRemaining(Consu ...

    程序员文章站2023-11-22
  • 夯实Java基础系列9:深入理解Class类和Object类

    目录 "Java中Class类及用法" "Class类原理" "如何获得一个Class类对象" "使用Class类的对象来生成目标类的实例" "Object类" "类构造器public Object();" "registerNatives()方法;" "Clone()方法实现浅拷贝" "getCl ...

    程序员文章站2023-11-21
  • 夯实Java基础系列10:深入理解Java中的异常体系

    目录 "为什么要使用异常" "异常基本定义" "异常体系" "初识异常" "异常和错误" "异常的处理方式" ""不负责任"的throws" "纠结的finally" "throw : JRE也使用的关键字" "异常调用链" "自定义异常" "异常的注意事项" "当finally遇上return" ...

    程序员文章站2023-11-21
  • ElasticSearch实战系列三: ElasticSearch的JAVA API使用教程

    前言 在上一篇中介绍了 "ElasticSearch实战系列二: ElasticSearch的DSL语句使用教程 图文详解" ,本篇文章就来讲解下 ElasticSearch 6.x官方Java API的使用。 ElasticSearch JAVA API 目前市面上有几种常见的ElasticSea ...

    程序员文章站2023-11-19
  • Java并发系列之Semaphore源码分析

    semaphore(信号量)是juc包中比较常用到的一个类,它是aqs共享模式的一个应用,可以允许多个线程同时对共享资源进行操作,并且可以有效的控制并发数,利用它可以很好的

    程序员文章站2023-11-13
  • Java并发系列之CyclicBarrier源码分析

    现实生活中我们经常会遇到这样的情景,在进行某个活动前需要等待人全部都齐了才开始。例如吃饭时要等全家人都上座了才动筷子,旅游时要等全部人都到齐了才出发,比赛时要等运动员都上场

    程序员文章站2023-11-13
  • Java并发系列之ConcurrentHashMap源码分析

    我们知道哈希表是一种非常高效的数据结构,设计优良的哈希函数可以使其上的增删改查操作达到o(1)级别。java为我们提供了一个现成的哈希结构,那就是hashmap类,在前面的

    程序员文章站2023-11-13
  • Java并发系列之CountDownLatch源码分析

    countdownlatch(闭锁)是一个很有用的工具类,利用它我们可以拦截一个或多个线程使其在某个条件成熟后再执行。它的内部提供了一个计数器,在构造闭锁时必须指定计数器的

    程序员文章站2023-11-13
  • java高并发系列 - 第10天:线程安全和synchronized关键字

    这是并发系列第10篇文章。 什么是线程安全? 当多个线程去访问同一个类(对象或方法)的时候,该类都能表现出正常的行为(与自己预想的结果一致),那我们就可以所这个类是线程安全的。 看一段代码: 分析上面代码: 1. 线程t1、t2、t3中调用的方法都需要获取d1的锁,所以他们是互斥的 2. t1/t2 ...

    程序员文章站2023-11-12
  • java高并发系列 - 第11天:线程中断的几种方式

    java高并发系列第11篇文章。 本文主要探讨一下中断线程的几种方式。 通过一个变量控制线程中断 代码: 代码中启动了一个线程,线程的run方法中有个死循环,内部通过exit变量的值来控制是否退出。 让主线程休眠3秒,此处为什么使用TimeUnit?TimeUnit使用更方便一些,能够很清晰的控制休 ...

    程序员文章站2023-11-12
  • 死磕 java同步系列之mysql分布式锁

    问题 (1)什么是分布式锁? (2)为什么需要分布式锁? (3)mysql如何实现分布式锁? (4)mysql分布式锁的优点和缺点? 简介 随着并发量的不断增加,单机的服务迟早要向多节点或者微服务进化,这时候原来单机模式下使用的synchronized或者ReentrantLock将不再适用,我们迫 ...

    程序员文章站2023-11-10
  • 深入理解java虚拟机系列初篇(一):为什么要学习JVM?

    前言 本来想着关于写JVM这个专栏,直接写知识点干货的,但是想着还是有必要开篇讲一下为什么要学习JVM,这样的话让一些学习者心里有点底的感觉比较好... 原因一:面试 不得不说,随着互联网门槛越来越高,JVM知识也是中高级程序员阶段必问的一个话题!现在不像以前了,以前会点 都好找工作,现在由于学习软 ...

    程序员文章站2023-11-08
  • 死磕 java同步系列之终结篇

    简介 同步系列到此就结束了,本篇文章对同步系列做一个总结。 脑图 下面是关于同步系列的一份脑图,列举了主要的知识点和问题点,看过本系列文章的同学可以根据脑图自行回顾所学的内容,也可以作为面试前的准备。 如果有需要高清无码原图的同学,可以关注公众号“彤哥读源码”,回复“sync”领取。 总结 所谓同步 ...

    程序员文章站2023-11-06
  • 死磕 java同步系列之Phaser源码解析

    问题 (1)Phaser是什么? (2)Phaser具有哪些特性? (3)Phaser相对于CyclicBarrier和CountDownLatch的优势? 简介 Phaser,翻译为阶段,它适用于这样一种场景,一个大任务可以分为多个阶段完成,且每个阶段的任务可以多个线程并发执行,但是必须上一个阶段 ...

    程序员文章站2023-11-03
  • HBase 系列(六)——HBase Java API 的基本使用

    一、简述 截至到目前 (2019.04),HBase 有两个主要的版本,分别是 1.x 和 2.x ,两个版本的 Java API 有所不同,1.x 中某些方法在 2.x 中被标识为 过时。所以下面关于 API 的样例,我会分别给出 1.x 和 2.x 两个版本。完整的代码见本仓库: + "Java ...

    程序员文章站2023-11-02
  • Java日期时间API系列5-----Jdk7及以前的日期时间类TimeUnit在并发编程中的应用

    TimeUnit是一个时间单位枚举类,主要用于并发编程,时间单元表示给定粒度单元的时间持续时间,并提供实用程序方法来跨单元转换,以及在这些单元中执行计时和延迟操作。 1.时间单位换算 (1)支持的单位 TimeUnit.DAYS //天 TimeUnit.HOURS //小时 TimeUnit.MI ...

    程序员文章站2023-11-02
  • Java日期时间API系列12-----Jdk8中java.time包中的新的日期时间API类,日期格式化,常用日期格式大全

    通过Java日期时间API系列10 Jdk8中java.time包中的新的日期时间API类的DateTimeFormatter, 可以看出java8的DateTimeFormatter完美解决了SimpleDateFormat线程安全问题。下面是关于DateTimeFormatter的使用实例,包括 ...

    程序员文章站2023-11-02
  • 死磕 java线程系列之终篇

    (手机横屏看源码更方便) 简介 线程系列我们基本就学完了,这一个系列我们基本都是围绕着线程池在讲,其实关于线程还有很多东西可以讲,后面有机会我们再补充进来。当然,如果你有什么好的想法,也可以公从号右下角联系我。 重要知识点 直接上图,看着这张图我相信你能够回忆起很多东西,也可以看着这张图来自己提问自 ...

    程序员文章站2023-10-31
  • 死磕 java线程系列之ForkJoinPool深入解析

    (手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 注:本文基于ForkJoinPool分治线程池类。 简介 随着在硬件上多核处理器的发展和广泛使用,并发编程成为程序员必须掌握的一门技术,在面试中也经常考查面试者并发相关的知识。 今天,我们就来看一道面试题: 如 ...

    程序员文章站2023-10-29
  • Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析

    Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析,TemporalAccessor、Temporal、TemporalAdjuster、ChronoLocalDate和LocalDate的关系解析。 ...

    程序员文章站2023-10-29