破做题家
破做题家
全部文章
JAVA
数据库(6)
题解(1)
归档
标签
去牛客网
登录
/
注册
AaronBlog
Talk about algorithm, operating system, etc.
全部文章
/ JAVA
(共16篇)
JAVA并发编程之线程的状态和方法
线程的状态 初始状态 实现Runnable接口和继承Thread可以得到一个线程类,new一个实例出来,线程就进入了初始状态。 就绪状态 就绪状态意味着线程处于可执行的状态,但是并未真正执行。要等到调度程序选到就绪的线程,线程才会真正占用CPU,执行。 进入就绪状态的几种情况: 调用线程的star...
java
并发编程
2021-05-02
1
544
JAVA中的Map
HashMap HashMap类在之前的文章有较为详细的介绍,作为最常用的Map数据结构,了解HashMap也是了解JAVA中其他Map的基础。 HashTable HashTable是一个遗留类,现较少使用。使用单线程使用Map结构一般使用HashMap,多线程则使用ConcurrencyHash...
java
并发编程
数据结构
2021-04-26
2
727
JAVA并发编程之Lock
Lock与Synchronized 在前面章节已经介绍了Synchronized锁与并发编程中的关键概念 。JAVA多线程同步的实现还可以通过Lock来实现,Lock与Synchronized的区别有: Synchronized是JAVA关键字,底层是靠JVM调用对象的monitorenter与m...
java
并发编程
2021-04-25
2
560
JAVA并发编程之volatile
JMM内存模型 在了解Volatile之前,需要先了解JMM内存模型,在前面的文章中已经做了较为详细的描述。 Volatile关键字的语义 保证可见性 被Volatile修饰过的变量被一个线程修改后,新值对其他线程而言立即可见。例如下列代码: //线程1 boolean stop = false; ...
jvm
java
并发编程
2021-04-25
1
499
JAVA并发编程之锁的类型区分
无锁 无锁即乐观锁,在上一篇博客中有介绍到。无锁是通过CAS实现的,线程认为共享区域总是读多于写,因此不会对共享区域加锁。而在需要对共享区域变量进行更新时,使用CAS操作。 自旋锁 自旋锁多线程访问共享区域的时间都很短,因此当一个线程获得了共享区的锁,其他线程在企图进入共享区时,不会进入阻塞状态,而...
jvm
java
并发编程
2021-04-25
1
445
JAVA并发编程之synchronized
synchronized介绍与使用 synchronized即是通过对代码块/普通方法/静态方法加锁以保证多线程访问共享变量区域时“串行化”。下面介绍synchronized修饰不同对象的使用与区别。 普通方法 synchronized修饰普通方***将整个对象锁住。使得对象内别的被synchron...
jvm
java
并发编程
2021-04-24
1
550
JAVA并发编程之核心概念(JMM内存模型、Happens-Before原则等)
线程安全 简单来说,线程安全是为了保证在多线程工作时,不会因为多个线程的执行顺序没有符合一定的逻辑依赖而造成意想不到的结果。《深入理解JAVA虚拟机》中对线程安全如下定义:“多个线程访问同一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替运行,也不需要进行额外的同步,或者在调用方进行任何其他...
jvm
java
并发编程
2021-04-24
1
608
JAVA三种List(ArrayList、Vector、LinkedList)详解与对比
ArrayList ArrayList是一个数组队列,相当于动态数组,使用连续的内存空间。ArrayList线程不安全。 ArrayList构造方法 默认构造函数,使用此函数构造默认大小是10. ArrayList()指定容量的构造函数,capacity是ArrayList的初始容量大小。当由于增加...
java
数据结构
2021-04-24
1
767
JAVA IO(传统IO、NIO)
普通IO流 JAVA普通IO流总图如下所示:总的来说,可以从以下几个方向进行分类: 按传输单位分:字节流、字符流1字节=8bits,1字符=2字节。字节流以字节为单位传输,即每次读取(写出)一个字节,字符流则按字符为单位传输。而一个中文占一个字符(两个字节),所以以字节流传输中文的时候会出现乱码,...
java
2021-04-23
1
483
JAVA GC详解
如何识别垃圾 如何识别堆中的对象是垃圾,是GC的第一个问题,下面介绍两种算法来回答这个问题。 引用计数法 定义一个变量,如果一个对象被引用,那么该对象的引用计数+1;如果删除一个对象的引用,那么该对象的引用技术-1。如下所示Object o = new Object(); //引用o指向新创建的Ob...
jvm
java
2021-04-22
1
549
首页
上一页
1
2
下一页
末页