- 博客(11)
- 资源 (11)
- 收藏
- 关注
原创 并发-AQS原理讲解
Craig、Landin and Hagersten队列,是单向链表,AQS中的队列是CLH变体的虚拟双向队列(FIFO),AQS是通过将每条请求共享资源的线程封装成一个节点来实现锁的分配。AQS使用一个Volatile的int类型的成员变量来表示同步状态,通过内置的FIFO队列来完成资源获取的排队工作,通过CAS完成对State值的修改。同步工具与AQS关联详细介绍使用AQS保存锁重复持有的次数。
2023-06-11 10:52:32 124 1
转载 JAVA堆内内存、堆外内存
定义堆内存完全由JVM负责分配和释放,如果代码有程序缺陷,可能是触发OOM堆外内存为了能直接分配和释放内存,提高效率。使用方式:使用未公开的Unsafe和NIO下的ByteBuffer堆外内存的回收机制Direct Memory是受GC控制的,例如ByteBufferbb = ByteBuffer.allocateDirect(1024),这段代码的执行会在堆外占用1k的内存,Java堆内只会占用...
2018-07-15 21:08:07 1950
原创 JAVA内存模型解析(JMM)
Java内存模型JAVAMemory Model,个人理解就是一组规则,这组规则意在解决在并发编程可能出现的线程安全问题,并提供了内置解决方案(happen-before原则)及其外部可使用的同步手段(synchronized/volatile等),确保了程序执行在多线程环境中的应有的原子性、可见性、有序性。JAVA内存区域堆方法区:线程共有栈本地方法栈 程序计数器:线程私有 堆存储对象和数组(数...
2018-07-15 17:48:11 571
原创 JAVA编译报错-No enclosing instance of type Test is accessible
java编译出错:No enclosing instance of type Test is accessible. Must qualify the allocation with an enclosing instance of type Test (e.g. x.new A() where x is an instance of Test).代码demopublic clas
2017-12-09 17:04:42 2834
原创 Android Studio 开发过程中遇到错误以及解决方案
1.gradle更新报错:Error:SSL peer shut down incorrectly原因是国内jcenter()访问慢,导致的报错,可将所有的build.gradleZ中的jcenter()改为maven { url 'http://repo1.maven.org/maven2' }可重建成功
2017-11-29 20:47:12 313
转载 从高版本JDK换成低版本JDK报错Unsupported major.minor version 52.0
java.lang.UnsupportedClassVersionError: PR/Sort : Unsupported major.minor version 52.0这个错误是由于高版本的java project使用了低版本的来运行。我出现这个情况是我把Properties中java build path-->Libraries中的JVM8换成JVM7
2017-10-27 11:38:57 204
转载 java -server 和 -client 的不同,及 java -server 时抛错原因
在dos窗口运行:java -serverError: missing `server' JVM at `C:\Program Files\Java\jre7\bin\server\jvm.dll'.Please install or use the JRE or JDK that contains these missing components.网上的意思:找到
2017-10-22 21:18:51 978
原创 JAVA 垃圾回收分析与实战
JAVA 垃圾回收分析与实战本文主要介绍JAVA垃圾回收的一些方法和实际使用的案例1垃圾回收算法介绍1.1基本算法1.1.1引用计数法给对象引用添加一个计数器,如果有对象引用他,计数器加一;当引用失效时,计数器减一;任何时刻计数器为0就是不在被使用的。但是JAVA虚拟机中没有使用此算法,主要原因是不能解决相互引用的问题。 /** * -verbose.gc-
2017-10-22 15:34:52 564
原创 JAVA内存报错解析
JAVA内存报错解析1. OutOfMemoeryError出了程序计数器外,虚拟内存的其他几个区域(JAVA虚拟机栈、本地方法栈、JAVA堆、方法区,运行时常量池《方法区的一部分》、直接内存)都有可能产生这个错误。
2017-10-17 23:20:51 547 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人