首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
未完成
订阅
HEART
更多收藏集
微信扫码分享
微信
新浪微博
QQ
15篇文章 · 0订阅
本地方法栈、JVM栈、本地内存和JVM Heap的区别与关系
在Java出现之前,像C/C++这样的编译型语言写出来的代码经过编译后,得到的是可直接在某平台(Windows或Linux)上执行的机器码,即machine code,machine code其实就是
Java中读写锁是如何实现的?
针对读多写少的场景,Java提供了另外一个实现Lock接口的读写锁ReentrantReadWriteLock(RRW),之前分析过ReentrantLock是一个独占锁,同一时间只允许一个线程访问。 而 RRW 允许多个读线程同时访问,但不允许写线程和读线程、写线程和写线程同…
Java如何实现乐观锁和悲观锁?
ReentrantReadWriteLock支持读写锁,StampedLock支持写锁、悲观锁读和乐观读(无锁)。其中写锁、悲观读锁的语义和ReentrantReadWriteLock中的写锁、读锁语义一样,都是允许多个线程同时获取悲观锁读,但是只允许一个线程获取写锁,写锁和悲…
CountDownLatch和CyclicBarrier,我该怎么选?
CountDownLatch 和 CyclicBarrier 是 Java 并发包提供的两个非常易用的线程同步工具类,把它们放在一起介绍是因为它们之间有点像,又很不同。 CountDownLatch 主要用来解决一个线程等待多个线程的场景,可以类比旅游团团长要等待所有的游客到齐…
JVM 从入门到实战 | 03 简述垃圾回收算法
之前我们学习了 JVM 基本介绍 以及 什么样的对象需要被 GC ,今天就来学习一下 JVM 在判断出一个对象需要被 GC 会采用何种方式进行 GC。在学习 JVM 如何进行垃圾回收方法时,发现所谓的 JVM 垃圾回收思想和现实生活的场景有很多相似的地方。所以本文用餐厅回收餐桌…
JVM 从入门到实战 --- 02 什么样的对象需要被 GC
给每个对象设置一个计数器,每当该对象被引用时引用计数器加 1,有引用断开时引用计数减 1。当引用计数为 0 时表示该对象可以被回收。 这个可以用数据算法中的图形表示,对象 A-对象 B-对象 C 都有引用,所以不会被回收,对象 B 由于没有被引用,没有路径可以达到对象 B,对象…
【MySQL(7)| 详细分析MySQL事务日志undo log】
undo log 有两个作用:提供回滚和多个行版本控制(MVCC)。 在数据修改的时候,不仅记录了redo,还记录了相对应的undo,如果因为某些原因导致事务失败或回滚了,可以借助该undo进行回滚。 undo log和redo log记录物理日志不一样,它是逻辑日志。可以认为…
【MySQL (6) | 详细分析MySQL事务日志redo log】
当修改数据库内数据时,InnoDB 先将该数据从磁盘读物到内存中,修改内存中的数据拷贝,并将该修改行为持久化到磁盘上的事务日志(先写 redo log buffer,在定期批量写入),而不是每次都直接将修改过的数据记录到磁盘内,等事务日志持久化完成之后,内存中的脏数据可以慢慢刷…
【MySQL(5)| 五分钟搞清楚 MVCC 机制】
可见 数据库隔离级别使用的是MySQL默认的RR级别。 通过结果说明:我们可以在一个事务未进行 commit/rollback操作之前,另一个事务仍然可以读取到数据库中的数据,只不过是读取到的是其他事务未改变之前的数据。此处是利用了MVCC多数据做了多版本处理,读取的数据来源于…
【MySQL (4) | 五分钟搞清楚InnoDB锁机制】
但是在并发性能上,表锁远低于行锁。 表锁是锁定了整个表,在加锁期间,无论读写,这个表的数据都是锁定的,相反行锁只是锁定了这个表中的一条数据,其他数据仍然可以操作,这就可很好的提高了数据库的并发性能。 发现在事务1中对id=1的数据行做了更新操作,但是事务未提交之前,事务2去再去…