一日会わないと三秋ぶりだ。
05
09
Synchronized之轻量级锁 Synchronized之轻量级锁
在偏向锁出现竞争后,加锁失败的线程会把Mark Word中的锁状态改为轻量级锁,这样其他线程再来时就会走向轻量级锁的加锁流程。下面开始轻量级锁获取流程分析,代码在bytecodeInterpreter.cpp#1816。 CASE(_mon
2021-05-09
04
30
Synchronized之偏向锁 Synchronized之偏向锁
synchronized 是我们日常使用频率很高的关键字,它是控制线程安全的同步锁。虽然开发中一直使用,但对于它的实现原理一直理解不够透彻,在面试中也是经常被问,对于一些高级资深的岗位来说,不仅仅只是简单的问一下synchronized 的
2021-04-30
25
Java的对象头MarkWord Java的对象头MarkWord
在Java中任意对象都可以用作锁,因此必定要有一个映射关系,存储该对象以及其对应的锁信息(比如当前哪个线程持有锁,哪些线程在等待)。一种很直观的方法是,用一个全局map,来存储这个映射关系,但这样会有一些问题:需要对map做线程安全保障,不
2021-04-25
17
LeetCode-八皇后问题 LeetCode-八皇后问题
八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯
2021-04-17
11
React面试题总结 React面试题总结
虽然前端并不是我的强项,但是工作几年了一直做着以后端为主的全栈开发。所以对前端的一些技术框架也比较关注,履历中也有前端开发的经历,因此有时也会被问到一些前端的知识。现如今前端技术发展迅速,JavaScript 工具缓慢而稳定地在市场中扎根,
2021-04-11
04
InnoDB存储引擎 InnoDB存储引擎
InnoDB是事务安全的mysql存储引擎,设计上采用了类似于Oracle数据库的架构。InnoDB存储引擎是多线程模型,其后台有多个不同的后台线程,负责处理不同的任务 Master Thread:主要负责将缓存池中的数据异步刷新到磁盘,
2021-04-04
03
28
买卖股票的最佳时机 买卖股票的最佳时机
力扣上几道关于股票最佳买卖时机的算法题,在此记录一下解题思路,对比官方的解题发现自己的思路还是太弱了 题号 题解 121. 买卖股票的最佳时机 暴力解法、动态规划 122. 买卖股票的最佳时机 II 暴力搜索、贪心算法、动态
2021-03-28
16
关于异或的算法题 关于异或的算法题
异或是一种基于二进制的位运算,任何数和 0 做异或运算,结果仍然是原来的数,即 a ⊕ 0=a⊕0=a。任何数和其自身做异或运算,结果是 0,即 a ⊕ a=0 a⊕a=0。简单理解就是两个 bit 位异或,如果两个 bit 位值相同则结果
2021-03-16
13
LeetCode-数组问题 LeetCode-数组问题
最近在LeetCode刷到一类数组问题,在这里总结一下,数组问题无非是排序,合并,移位之类的,大致思路是通过指针遍历或双指针从数组两头遍历,还有就是交换思想,这个用的好可以减少空间复杂度。下面是几道算法题的Go语言实现 移动零 给定一个数组
2021-03-13
09
Java和Golang的线程模型 Java和Golang的线程模型
最近再去看Golang的G-M-P线程模型时发现自己以前理解的不够清楚明白,于是再去仔细拜读了一下Golang线程模型相关的书籍,同时对比着Java的线程模型做了一下梳理,在此记录一下心得。要理解Golang的线程模型必须得从操作系统的线程
2021-03-09
1 / 13