-
![Java中的锁[原理、锁优化、CAS、AQS]](https://upload-images.jianshu.io/upload_images/5401760-9f7389128a85f7c1.png?imageMogr2/auto-orient/strip|imageView2/2/w/765/format/webp)
Java中的锁[原理、锁优化、CAS、AQS]
1、为什么要用锁? 锁-是为了解决并发操作引起的脏读、数据不一致的问题。 2、锁实现的基本原理 2.1、volatile Java编程语言允许线程访问共享变量, 为了确保共享变量能被准确和一致地更新,线程应该确保通过排他锁单独获得这个变量。Java语言提供了volatile,在某些情况下比锁要更加方便。 volatile在多处理器开发中保证了共享变量的“ 可见性”
- 互联网
- 2026年05月04日
-

JDK下载、安装、配置环境变量笔记
自己总是在下载、安装、配置JDK的环境变量,但是这些需要的专业知识并不难,但有很多细节很重要,总是记不住,而且这些细节一旦出错影响还是很严重的,在网上查到的信息很多都比较零散,而且讲解得也不是很详细,所以写下笔记,方便自己以后查阅。 废话不多,说直接进去主题 一、JDK的下载 点击红框中的圆圈,即同意,如下图所示: 点击之后效果如下: 先介绍一下上图中的内容
- 互联网
- 2026年05月04日
-
Java线程池的几种实现 及 常见问题讲解
工作中,经常会涉及到线程。比如有些任务,经常会交与线程去异步执行。抑或服务端程序为每个请求单独建立一个线程处理任务。线程之外的,比如我们用的数据库连接。这些创建销毁或者打开关闭的操作,非常影响系统性能。所以,“池”的用处就凸显出来了。 1. 为什么要使用线程池 在3.6.1节介绍的实现方式中,对每个客户都分配一个新的工作线程。当工作线程与客户通信结束,这个线程就被销毁。这种实现方式有以下不足之处
- 互联网
- 2026年05月04日
-
java中默认方法在多继承关系中会不会出现冲突
java中默认方法在多继承关系中会不会出现冲突 2024-11-02 1)超类优先.如果超类提供了一个具体方法,同名而且有相同参数类型发默认方法会被忽略. 2)接口冲突.如果一个超接口提供了一个默认方法,另一个接口提供了一个同名而且参数类型(不论是否是默认参数)相同的方法,必须覆盖这个方法来解决冲突. 下面来看第二个规则.考虑另一个包含getName方法的接口: interface Named
- 互联网
- 2026年05月04日
-
java截取最后两个符号之间的字符串
java截取最后两个符号之间的字符串 2024-09-03 Java Code /** 截取2个字符中间的字符串 */ private void GetMiddleString() { String str = "BB022220011BB007EBB022220011001100113327EBB000897EBB347E";// 要截取的字符串 String temp;
- 互联网
- 2026年05月04日
-
JDK自带线程池介绍及使用环境
1、newFixedThreadPool创建一个指定工作线程数量的线程池。每当提交一个任务就创建一个工作线程,如果工作线程数量达到线程池初始的最大数,则将提交的任务存入到池队列中。 2、newCachedThreadPool创建一个可缓存的线程池。这种类型的线程池特点是: 1).工作线程的创建数量几乎没有限制(其实也有限制的,数目为Interger. MAX_VALUE)
- 互联网
- 2026年05月04日
-
Java线程池的原理及几类线程池的介绍
刚刚研究了一下线程池,如果有不足之处,请大家不吝赐教,大家共同学习、共同交流。 在什么情况下使用线程池? 单个任务处理的时间比较短 将需处理的任务的数量大 使用线程池的好处: 减少在创建和销毁线程上所花的时间以及系统资源的开销 如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存以及”过度切换”。 线程池工作原理: 为什么要用线程池? 诸如 Web 服务器、数据库服务器
- 互联网
- 2026年05月04日
-

Java中内存泄露及垃圾回收机制
写的相当不错滴...................... 摘 要 Java语言中,内存空间中垃圾回收的工作由垃圾回收器(Garbage Collector,GC)完成,GC可以有效地减少内存泄露发生的概率,但它的启动无规律可循,因此不能完全避免内存泄露。通过分析产生内存泄露的原因,提出了Java编程中的一些注意事项,有效地避免了内存泄露。 关键词 Java 内存泄露 垃圾回收器
- 互联网
- 2026年05月04日
-
Java进程&线程(一)
Java进程&线程 程序: 程序员写的代码,就是代码,不运行好像不会发生什么; 进程: 一个进程可以理解为“运行的”一个程序,当我们启动一个java程序后,对应的jvm就会创建一个进程; 线程: jvm有一个进程,然而程序的实际执行是通过线程来完成的,进程之间是相互独立的,而线程之间是共享进程的资源的,就是说,进程是由n个线程组成的,而main函数就是进程创建后启动的主线程,另外
- 互联网
- 2026年05月04日
-

Java线程中断机制
在阅读AQS源码以及juc包很多基于AQS的应用源码过程中,会遇到很多interrupted相关的方法,这里复习一下java线程中断相关。 要点:使用interrupt()中断一个线程,该方法只是标记中断,并不会马上中断。马上中断使用stop(),该方法已过期,不建议使用(立刻中断容易造成生产数据一致性问题)。 interrupt()、interrupted()
- 互联网
- 2026年05月04日







