首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
写代码哪有不疯的
掘友等级
java 开发
拒绝只做 CRUD !
获得徽章 8
动态
文章
专栏
沸点
收藏集
关注
作品
赞
58
文章 52
沸点 6
赞
58
返回
|
搜索文章
最新
热门
【并发编程】 深入理解ReentrantLock
1. ReentrantLock ReentrantLock是一种基于AQS框架的应用实现,是JDK中的一种线程并发访问的同步手段,它的功能类似于synchronized,是一种可重入互斥锁。相比于 synchronized 自动加锁和解锁,ReentrantLock 提供了更…
【并发编程】深入理解 synchronized
1. synchronized 简介 通过volatile修饰 num (屏蔽可见性问题)后,如果计算正常的话,应该是 20000 ,但是多次运行结果都不是 20000,且每次的结果都不一致。 既然在多线程情况下会出现数据安全性问题,那么存在数据安全问题的共享资源 每次只允许一…
【并发编程】JAVA 内存模型 与 volatile 关键字
我们都知道 JVM 在运行时,将我们的变量和相关方法都保存在我们的内存中,CPU运行时必然需要将数据复制到寄存器中运行。那么cpu时如何获取数据的呢? cpu 先查询一级缓存是否存在 int a,如果没有,再查询二级缓存,然后查询三级缓存,如果缓存中均不存在,才会通过 BUS总…
【MySQL】从索引数据结构 看 SQL优化
当执行sql SELECT * FROM org_user where id = 7; 时,会进行 全表扫描。 mysql 会逐条取数据,然后根据 where 后面的条件进行比对。最终取出符合条件的数据。 每次取出数据都会进行一次 I/O 操作,取出几次,就进行几次I/O。当数…
【MySQL】删库跑路?了解下bin-log!
操作生产数据库时每一个操作都需要反复审核。任意的小错误,都会导致线上“大灾难”! “从删库到跑路”,可以说是IT业内老梗了。 其实也没这么夸张,真实的生产数据库往往“热备”和“冷备”同时进行。万一出现删库的情况,还是可以通过备份文件进行恢复。这里提到的备份文件可以是数据库某一时…
【JVM调优】调优命令/线上调优分析
上个月有个新项目上线了,中间好像也没什么告警报错。 今天上生产环境查看运行情况时发现,该应用已经进行了近250次 Full GC 了。平均3个小时发生一次!emmm.... 好在还没人投诉。 通过 JSTAT -GC 命令发现在每日高峰期,平均每分钟产生 20M 的对象,会在2…
垃圾回收算法和常见的垃圾回收器(CMS+G1)
现在市面上常见的垃圾回收器都采用了分代收集理论。 所谓分代收集就是根据对象的存活周期将内存分为新生代和老年代。详细可查看JAVA内存模型 在新生代对象“朝生夕死”,每次收集都有大量对象(99%)死去,所以可以选择标记-复制算法,只需要付出少量对象的复制成本就可以完成每次垃圾收集…
JVM对象创建和内存分配机制
在类加载完成时,类对象所需的内存大小就已经确认下来,所以虚拟机只需要在java堆中划分一块固定大小的区域来保存对象。 指针碰撞:在内存空间中维护一个指针,每次指针向后移动一段与对象大小一致的距离。这种方法保证内存空间时规整的,已经使用的在指针前面,未使用的在指针后面。 空闲列表…
JVM内存模型与垃圾回收机制
栈:线程运行时创建,主要用于存放局部变量。 本地方法区:程序运行时,存在 通过本地方法(native) 与 底层C交互时,会创建一个本地方法栈。 程序计数器:记录代码运行的位置/行号。 1、动态链接:代码中的#XX,会在程序运行时被替换成指向堆中实际地址。 垃圾回收区域分为新生…
JVM 指令集指南
栈和局部变量操作将常量压入栈的指令aconst_null将null对象引用压入栈iconst_m1将int类型常量-1压入栈iconst_0将int类型常量0压入栈iconst_1将int类型常量1压
下一页
个人成就
文章被点赞
149
文章被阅读
34,712
掘力值
1,344
关注了
4
关注者
28
收藏集
1
关注标签
18
加入于
2020-10-21