蜗牛大师

吴庆龙的学习笔记

导航

上一页 1 ··· 5 6 7 8 9 10 下一页

2018年11月12日 #

并发中的volatile

摘要: [TOC] 1. 概述 由于线程有本地内存的存在, 一个线程修改的共享变量不会及时的刷新到主内存中, 使得另一个线程读取共享变量时读取到的仍旧是旧值, 就导致了内存可见性问题. 现在volatile就可以解决这个问题, 为什么能解决内存可见性问题呢? 本文就来揭开volatile的神秘面纱. 2. 阅读全文

posted @ 2018-11-12 19:39 蜗牛大师 阅读(772) 评论(0) 推荐(0) 编辑

JMM中的重排序及内存屏障

摘要: 在执行程序时,为了提高性能,编译器和处理器常常会对指令做重排序。为了实现某些功能有时会禁止某些重排序,由此引入了内存屏障。 一、重排序 重排序虽然可以提高程序性能,但是编译器和处理器不会改变存在数据依赖关系的两个操作的执行顺序。 即:编译器和处理器在重排序时,会遵守数据依赖性。 这里说的数据依赖性仅 阅读全文

posted @ 2018-11-12 17:24 蜗牛大师 阅读(2023) 评论(0) 推荐(0) 编辑

Java6及以上版本对synchronized的优化

摘要: 一、概述 在多线程并发编程中 synchronized 一直是元老级角色,很多人都会称呼它为重量级锁。但是,随着 Java SE 1.6 对 synchronized 进行了各种优化之后,有些情况下它就并不那么重了。 本文详细介绍 Java SE 1.6 中为了减少获得锁和释放锁带来的性能消耗而引入 阅读全文

posted @ 2018-11-12 11:45 蜗牛大师 阅读(91074) 评论(14) 推荐(21) 编辑

2018年10月24日 #

浅谈MyBatisGenerator的使用

摘要: [TOC] 1.概述 日常中使用MyBatis最为麻烦的就是编写Mapper文件了, 如果数据库增加一张表, 这时通常会复制一个Mapper, 然后改一下namespace, 然后再改resultMap, 改resultType等等, 也忒麻烦了. 有需求就有解决方法, MyBatis Genera 阅读全文

posted @ 2018-10-24 15:18 蜗牛大师 阅读(579) 评论(0) 推荐(0) 编辑

2018年10月16日 #

Java并发辅助类的使用

摘要: [TOC] 1.概述 本文主要对Java中的关于并发的类的使用写一遍Demo. 具体涉及到的类有: 1. CountdownLatch 2. CyclicBarrier 3. Semaphore 2.CountdownLatch CountdownLatch类位于java.util.concurre 阅读全文

posted @ 2018-10-16 11:36 蜗牛大师 阅读(266) 评论(0) 推荐(0) 编辑

2018年10月9日 #

使用List需要注意的点

摘要: [TOC] 1. 概述 在使用List集合时有些地方需要注意一下的, 不然会出现一些莫名其妙的错误. 2. Arrays.asList(); 2 1. 产生不可操作的集合 来看一个例子. 会直接抛出java.lang.UnsupportedOperationException异常, 为什么呢? 答案 阅读全文

posted @ 2018-10-09 14:50 蜗牛大师 阅读(1214) 评论(0) 推荐(1) 编辑

构造函数、静态变量、代码块执行顺序

摘要: [TOC] 1. 概述 本文主要分析在创建对象实例的时候, 类中构造方法的调用顺序或类中成员变量的赋值过程. 2. 构造函数/静态代码块/普通代码块 输出结果如下 从输出结果发现, 在创建一个对象的时候, 会发生如下的过程 1. 查找父类是否被加载过, 没有加载则进行加载, 这时静态代码块随之调用 阅读全文

posted @ 2018-10-09 11:38 蜗牛大师 阅读(241) 评论(0) 推荐(0) 编辑

2018年10月8日 #

TreeMap源码分析

摘要: [TOC] 1.概述 通常情况下存储键值对仅需要HashMap即可满足需求, 但是HashMap有些许缺点, 比如: 1. 不能保证元素的顺序, 因此产生了LinkedHashMap; 2. 不能对元素进行排序, 因此产生了本文中的TreeMap. TreeMap实现了SortedMap接口, So 阅读全文

posted @ 2018-10-08 17:28 蜗牛大师 阅读(341) 评论(0) 推荐(0) 编辑

2018年9月27日 #

红黑树的旋转步骤解析

摘要: 一、概念 红黑树(R-B Tree),全称Red-Block Tree。它是一种特殊的二叉树,树中的每个节点都有颜色,红色或者黑色。 注意:NULL节点是黑色节点。 学习时可以先按照既定的规则进行调整,学会后,再去思考为什么有这些情况,然后再考虑为什么这种情况需要这么处理。 二、性质 性质1:节点是 阅读全文

posted @ 2018-09-27 14:35 蜗牛大师 阅读(2013) 评论(4) 推荐(1) 编辑

2018年9月14日 #

关于HashMap多线程下环形链表的总结

摘要: [TOC] 1. 概述 本文主要针对对网上 关于HashMap在多线程环境下会形成循环链表的问题 进行一次总结. 2. 敲黑板的点 1. 只会在低于jdk1.8的版本中发生(1.6, 1.7会有, 再古老的版本我就不知道了) 2. jdk1.7的HashMap的数据结构使用的是 数组+链表 , 不存 阅读全文

posted @ 2018-09-14 14:41 蜗牛大师 阅读(737) 评论(0) 推荐(0) 编辑

上一页 1 ··· 5 6 7 8 9 10 下一页