- 博客(19)
- 收藏
- 关注
原创 善用 final 关键字,提升编码内功的一大捷径
本文主要对Java中的 final 关键字进行剖析,内容包含其作用、语义等。相信看完的读者一定会有新的感悟,也相信本篇文章是提升您编程内功的一块垫脚石。
2023-04-09 21:16:35
501
原创 用 Java 演奏《千千阙歌》是什么体验?
JFugue 是一个开放源代码编程库,它允许人们使用 Java 编程语言来编程音乐,而无需 MIDI 的复杂性。它由 David Koelle 于 2002 年首次发布。当前版本是 JFugue 5.0,已于 2015 年 3 月发布。Brian Eubanks 将 JFugue 描述为 “对于需要快速便捷地播放音乐或生成 MIDI 文件的应用程序有用”。JFugue 是根据 Apache License 发布的免费软件。
2023-03-25 21:50:26
1069
原创 设计模式之美 - 如何理解单例模式中的唯一性?
一个类只允许创建唯一一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫做单例设计模式,简称单例模式。这里提到的唯一性是针对进程而非线程,我们编写的代码通过编译、链接后组织在一起,构成了一个操作系统可以执行的文件,也就是我们平时所说的 “可执行文件” (比如Windows下的exe文件)。
2022-11-18 14:33:38
513
原创 《Java并发编程的艺术》读书笔记 - 第九章 - Java中的线程池
Java 中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。
2022-11-12 18:04:09
601
原创 《Java并发编程的艺术》读书笔记 - 第八章 - Java中的并发工具类
在JDK的并发包里提供了几个非常有用的并发工具类。CountDownLatch、CyclicBarrier 和 Semaphore 工具类提供了一种并发流程控制的手段,Exchanger 工具类则提供了在线程间交换数据的一种手段。
2022-11-12 16:30:01
1009
原创 《程序员的职业素养》读书笔记
成功的程序员在以往的工作和生活中都曾经历过大大小小的不确定性,承受过永无休止的压力。他们之所以能够成功,是因为拥有一个共同点,都深切关注创建软件所需的各项实践。他们将软件开发视为一种需要精雕细琢加以修炼的技艺,他们以专业人士的标准要求自己,他们具有职业素养。
2022-11-11 19:59:34
1383
原创 详解两种解决 CAS 中 ABA 问题的方式 - AtomicStampedReference 和 AtomicMarkableReference 的使用及其原理
本文详细介绍了两种解决 CAS 中 ABA 问题的方式 - AtomicStampedReference 和 AtomicMarkableReference 的使用及其原理
2022-11-10 17:36:41
1850
原创 《Java并发编程的艺术》读书笔记 - 第七章 - Java中的13个原子操作类
Java 从JDK1.5开始提供了 java.util.concurrent.atomic 包,这个包中的原子操作类提供了一种用法简单、性能高效、线程安全地更新一个变量的方式。在这个包中一共有13个类,属于4种类型的原子更新方式,分别是原子更新基本类型、原子更新数组、原子更新引用和原子更新属性(字段)。
2022-11-10 16:10:25
189
原创 详解迭代器的 fail-fast 与 fail-safe 机制
本篇文章详细介绍了什么是迭代器的fail-fast和fail-safe机制,并结合实际案例讲述其底层机制原理。
2022-11-09 22:16:01
1342
原创 《Java并发编程的艺术》读书笔记 - 第六章 - Java并发容器和框架
Java程序员进行并发编程时,相比于其他语言的程序员而言要倍感幸福,因为并发大师Doug Lea(道格·利)不遗余力地为 Java 开发者提供了非常多的并发容器和框架。
2022-11-09 20:05:11
780
原创 《Java并发编程的艺术》读书笔记 - 第五章 - Java中的锁
锁是用来控制多个线程访问共享资源的方式,一般情况下,一个锁能够防止多个线程同时访问共享资源(读写锁可以允许多个线程并发的访问共享资源)。
2022-11-08 12:48:31
332
原创 《Java并发编程的艺术》读书笔记 - 第四章 - Java并发编程基础
现代操作系统在运行一个程序时,会为其创建一个进程。例如,启动一个Java程序,操作系统就会创建一个Java进程。现代操作系统调度的最小单元是线程,也叫轻量级进程(Light Weight Process),在一个进程里可以创建多个线程,这些线程都拥有各自的计数器、堆栈和局部变量等属性,并且能够访问共享的内存变量。处理器在这些线程上高速切换,让使用者感觉到这些线程是在同时执行。
2022-11-07 15:45:43
297
原创 《Java并发编程的艺术》读书笔记 - 第三章 - Java内存模型
《Java虚拟机规范》中曾试图定义一种 “Java内存模型”(Java Memory Model,JMM)来屏蔽各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。
2022-11-07 09:09:13
359
原创 《Java并发编程的艺术》读书笔记 - 第二章 - Java并发机制的底层实现原理
Java代码在编译后会变成Java字节码【class文件】,字节码被类加载器加【classloader】载到JVM【Java Virtual Machine Java虚拟机】里,JVM执行字节码,最终需要转化为汇编指令在CPU上执行,Java中所使用的并发机制依赖于JVM的实现和CPU的指令。
2022-11-05 21:30:04
388
原创 《Java并发编程的艺术》读书笔记 - 第一章 - 并发编程的挑战
并发编程的目的是为了让程序运行得更快,但并不是启动更多的线程就能让程序最大限度地并发执行。在进行并发编程时,如果希望通过多线程执行任务让程序运行得更快,这会面临非常多的挑战,比如上下文切换、死锁、以及受限于硬件和软件的资源等多种问题。
2022-11-05 17:50:23
631
原创 BeanFactory 与 ApplicationContext 的那些事儿
本篇内容主要讲述BeanFactory与ApplicationContext容器的关系以及各自的功能。
2022-10-23 17:18:28
395
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人