- 博客(5)
- 收藏
- 关注

原创 关于volatile关键字是否具有原子性例子的正确解释
我们都知道volatile具有两个功能:1.禁止指令重排序;2.保证所修饰变量修改后的内存可见性;想必大家在网上搜索volatile关键字都看过下面这个例子:对于这个例子,原博客上的解释是:假如某个时刻变量inc的值为10,线程1对变量进行自增操作,线程1先读取了变量inc的原始值,然后线程1被阻塞了;然后线程2对变量进行自增操作,线程2也去读取变量inc的原始值,由于线程1只是对...
2020-03-28 18:39:43
211
1
原创 多线程处理异常的正确姿势
多线程并发处理任务出现异常的回滚方式前言一、串行执行任务的示例二、多线程处理示例1.Thread方式2.任务中的异常处理方式总结欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入文章目录前
2020-11-11 19:17:20
332
原创 理解Java的垃圾回收机制
一、什么对象需要GC?jvm定义了两种算法来标明什么对象是可回收对象;1.引用计数算法:即对象被引用过一次后加1,引用失效后减1;任何时刻,对象引用为0时即可判定为垃圾,可以被回收;这种算法简单高效但有很大的弊端:即两个对象被循环引用时,则两个对象的标记都一直为1,这样的对象就无法被回收;2、可达性分析算法:java规定了一系列对象为GC Root,以这个GC Root为起点,向下搜...
2020-03-31 23:20:43
163
原创 java中的转义符
在其他语言中,\ 表示:我想要在正则表达式中插入一个普通的(字面上的)反斜杠,请不要给它任何特殊的意义。在 Java 中,\ 表示:我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义。简而言之,java中两个\才具有其他语言一个\所具有的的转义符功能。这也就是为什么java中表示一位数字的正则表达式是 \d,而表示一个普通的反斜杠是 \\。...
2020-03-17 18:26:08
158
原创 Mysql B+树索引使用注意事项
B+树索引:1、 索引的代价,每建立一个索引,都需要建立一颗B+树,建多了就非常占用空间;每次对表的增删改,都需要修改各个B+树索引排列顺序,导致性能损耗。2、B+树索引适用于下边这些情况:(1)全值匹配(2)匹配左边的列(3)匹配范围值(4)精确匹配某一列并范围匹配另外一列(5)用于排序(6)用于分组3、在使用索引时需要注意下边这些事项:只为用于搜索、排序或分组的列创建索引;...
2020-03-17 11:30:09
200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人