首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
午夜12点
掘友等级
|
迷
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
44
文章 44
沸点 0
赞
44
返回
|
搜索文章
最新
热门
Java并发——非阻塞队列ConcurrentLinkedQueue
种方式:一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁 (入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现。非阻塞的实现方式则可以使用循环CAS的方式来实现。 ConcurrentLinkedQueue是无界线程安全队列(FIFO)…
Java并发——ConcurrentHashMap(JDK 1.8)
一说到HashMap与Hashtable区别就会想到前者线程不安全,后者线程安全。但是当我们需要线程安全的时候,Hashtable并不是一个良好的选择,concurrentHashMap才是。 我们可以看到Hashtable用synchronized关键字来保证线程安全,锁住当…
Java并发——关键字synchronized解析
同步方法:方法级同步没有通过字节码指令来控制,它实现在方法调用和返回操作之中。当方法调用时,调用指令会检查方法ACC_SYNCHRONIZED访问标志是否被设置,若设置了则执行线程需要持有管程(Monitor)才能运行方法,当方法完成(无论是否出现异常)时释放管程。 同步代码块…
Java并发—— 关键字volatile解析
Java内存模型规定了所有的变量都存储在主内存中,每条线程拥有自己的工作内存,工作内存中保存了被该线程使用到的变量的主内存副本拷贝,线程对变量的所有操作(读写)都必须在工作内存中进行,不同的线程之间无法直接访问对方工作内存的变量。线程、主内存、工作内存关系: 以经典的i++为例…
JVM学习笔记——类加载机制
类的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载7个阶段。 主要加载核心类库,负责存放在JAVA_HOME\lib目录中的,或者-Xbootclasspath参数指定路径中的,并且被虚拟机识别(仅按照文件名识别,如rt.jar)的类库加载到虚拟机内存中。控制台输…
JVM学习笔记——节码执行引擎
在介绍虚拟机栈时就提到,每个方法在执行的同时都会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每个方法从调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中入栈到出栈的过程。栈帧中需要多大的局部变量表和多深的操作数栈在编译代码的过程中已经完全确定,并写入到…
JVM学习笔记——Class类文件解读
Java源代码通过编译生成.class文件字节码后再被JVM解释转化为目标机器代码,从而实现一次编写到处,到处运行("Write Once,Run Anywhere")。字节码与平台无关,而且并不是只有Java语言编译为字节码文件在虚拟机上运行。 Class文件是一组以8位字节…
JVM学习笔记——自动内存管理
在上篇文章中简单介绍了JVM内部结构,线程隔离区域随着线程而生,随着线程而忘。线程共享区域因为是共享,所以可能多个线程都用到,不能轻易回收,与C语言不同,在Java虚拟机自动内存管理机制的帮助下,不再需要为每个new操作去写配对的delte/free代码,能够帮助程序员更好的编…
JVM学习笔记——初识JVM
"Write Once,Run Anywhere"(一次编译,到处运行)是sun宣传Java语言所提出的口号。Java语言跨平台的特性与Java虚拟机的存在密不可分。Java源代码通过编译生成.class文件字节码后再被JVM解释转化为目标机器代码,到处运行的关键与前提就是JV…
文章整理
Java基础Java基础(上)Java基础(中)Java基础(下)Java集合ArrayListLinkedListHashMap(1.7)HashMap(1.8)TreeMap基本操作TreeMap
下一页
个人成就
文章被点赞
682
文章被阅读
69,768
掘力值
2,387
关注了
23
关注者
433
收藏集
2
关注标签
5
加入于
2017-04-25