首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java分类

锁的分类 从宏观上分为乐观锁与悲观锁 乐观锁 乐观锁是一种乐观思想,认为读多写少,遇到并发的可能性低,每次拿数据时候并不会上锁,因为认为不会被别人修改。...Java偏向锁是Java6引入的一项多线程优化。它会偏向第一个访问锁的线程,如果运行过程中,只有一个线程访问,没有多线程争用情况,则线程无需同步,这时候线程就会被加一个偏向锁。...stop the world 简介 Java中Stop-The-World机制简称STW,是在执行垃圾收集算法时,Java应用程序的其他所有线程都被挂起(除了垃圾收集帮助器之外)。...Java中一种全局暂停现象,全局停顿,所有Java代码停止,native代码可以执行,但不能与JVM交互。...重量级锁 它是Java中的基础锁,在这种状态下,Java虚拟机会阻塞加锁失败的线程,并且在目标锁被释放的时候,唤醒这些线程。Java中synchronized就是一种重量级锁。

73310
您找到你想要的搜索结果了吗?
是的
没有找到

java中的锁分类

java中的锁分类 java中的锁 公平锁/非公平锁 公平锁是指多个线程按照申请锁的顺序来获取锁。 非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。...对于Java ReentrantLock而言,通过构造函数指定该锁是否是公平锁,默认是非公平锁。非公平锁的优点在于吞吐量比公平锁大。 对于Synchronized而言,也是一种非公平锁。...对于Java ReentrantLock而言,其是独享锁。但是对于Lock的另一个实现类ReadWriteLock,其读锁是共享锁,其写锁是独享锁。...互斥锁在Java中的具体实现就是ReentrantLock 读写锁在Java中的具体实现就是ReadWriteLock 乐观锁/悲观锁 悲观锁是悲观的认为,不加锁的并发操作一定会出问题 乐观锁则认为对于同一个数据的并发操作...悲观锁在Java中的使用,就是利用各种锁。 乐观锁在Java中的使用,是无锁编程,常常采用的是CAS算法,典型的例子就是原子类,通过CAS自旋实现原子操作的更新。

45520

Java异常体系和分类

文章目录 异常概念 异常体系 异常分类 异常的产生过程解析 异常概念 异常,就是不正常的意思。...在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的方式是中断处理。...异常体系 异常机制其实是帮助我们找到程序中的问题,异常的根类是java.lang.Throwable,其下有两个子类:java.lang.Error与java.lang.Exception,平常所说的异常指...java.lang.Exception。...异常分类 我们平常说的异常就是指Exception,因为这类异常一旦出现,我们就要对代码进行更正,修复程序。 异常(Exception)的分类:根据在编译时期还是运行时期去检查异常?

28430

Java中的锁分类

在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。...介绍的内容如下: 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁 上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性...对于Java ReentrantLock而言,其是独享锁。但是对于Lock的另一个实现类ReadWriteLock,其读锁是共享锁,其写锁是独享锁。...互斥锁在Java中的具体实现就是ReentrantLock 读写锁在Java中的具体实现就是ReadWriteLock 乐观锁/悲观锁 乐观锁与悲观锁不是指具体的什么类型的锁,而是指看待并发同步的角度。...悲观锁在Java中的使用,就是利用各种锁。 乐观锁在Java中的使用,是无锁编程,常常采用的是CAS算法,典型的例子就是原子类,通过CAS自旋实现原子操作的更新。

91420

Java NIO之Java中的IO分类

前言  前面两篇文章(Java NIO之理解I/O模型(一)、Java NIO之理解I/O模型(二))介绍了,IO的机制,以及几种IO模型的内容,还有涉及到的设计模式。...这次要写一些更贴近实际一些的内容了,终于要说到了Java中的各种IO了。我也是边学边理解,有写的不对的地方,欢迎小伙伴们指出和补充。...Java中的IO分类 BIO BIO是指 Blocking IO 在JDK1.0的时候就引入了,直到JDK1.4一直都是Java中唯一的IO方式。...NIO Java中的NIO其实就是使用的多路I/O复用模型,前面的文章已经介绍过原理了,但是在理解Java的NIO之前,还是先介绍几个Java NIO的基础概念:Channel(通道),Buffer(缓冲区...在Java中Channel类的层次结构相当复杂,有多个接口和许多可选操作。不过,常用的也就几个。

48420

java分类包括java.*,sun.*

最近在学习Class加载的过程,无意中看到ClassLoader中有sun开头的类,甚是奇怪,随知孤陋寡闻了,不由感叹到java果然博大精深,在下拜服。...特此记录一番,以方便同辈人士观之 1. java.* JavaSE的标准库,是java标准的一部分,是对外承诺的java开发接口,通常要保持向后兼容,一般不会轻易修改。...包括其他厂家(IBMJDK/HPJDK/OpenJDK)在内,所有jdk的实现,在java.*上都是一样的。....* 也是java标准的一部分,但是没有包含在标准库中,一般属于标准库的扩展。通常属于某个特定领域,不是一般性的api。 ...此上两者都属于java标准库,公有的API,遵循java平台规范, 3. com.sun.* 是sun的hotspot虚拟机中java.* 和javax.*的实现类。

2.3K20

JAVA IO——IO原理和分类

前言 友友们大家好,我是你们的小王同学 今天给大家带来的是 希望能给大家带来有用的知识 小王的主页:小王同学 小王的gitee:小王同学 小王的github:小王同学  JAVA IO...原理 I/O是Input/Output的缩写,I/O技术是非常实用的技术,用于处理数据传输,如读/写文件,网络通讯 Java程序中,对于数据的输入/输出操作以"流(stream)"的方式进行。...java.io包下提供了各种"流"类和接口,用以获取不同的种类的数据,通过方法输入或输出数据  输入input:读取外部数据(磁盘 光盘等存储设备的数据)到程序(内存)中 输出output:将程序(内存...)数据输出到磁盘、光盘等存储设备中 流的分类 按操作数据单位不同分为:字节流(8 bit),字符流(按字符) 按数据流的流向不同的:输入流 输出流 按流的角色不同分为:节点流,处理流\包装流 抽象基类...字节流 字符流 输入流 InputStream Reader 输出流 OutputStream Writer Java的 io流共涉及40多个类,实际上非常规则,都是从如上4个抽象基类派生的。

56020
领券