摘要: Java中锁的概念 自旋锁:为了不放弃CPU执行时间,循环的使用CAS技术对数据进行尝试更新,直至成功。 悲观锁:假定会发生并发冲突,同步所有共享数据的相关操作,从读书据就开始上锁。 乐观锁:假定没有冲突,在修改数据时如果发现数据和之前获取的不一致,则读取最新数据,然后重试修改。 独享锁(写):给资 阅读全文
posted @ 2019-06-27 20:55 逍遥璐 阅读(3989) 评论(0) 推荐(1) 编辑
摘要: 线程安全有关的的几个概念,先引用大牛Jakob Jenkov文章的一个段落说明下竞态条件和临界区 原文链接 作者:Jakob Jenkov 在同一程序中运行多个线程本身不会导致问题,问题在于多个线程访问了相同的资源。如,同一内存区(变量,数组,或对象)、系统(数据库,web services等)或文 阅读全文
posted @ 2019-06-26 19:47 逍遥璐 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 最近工作中又用到了volatile关键字,一直以来就是单纯的使用,也没有仔细看过相关内容,这次借机会详细的整理了下有关volatile的资料,记录在案以备查阅。 首先我们来看一个小例子: 这段代码是volatile关键字的典型应用场景之一,两个线程(主线程与thread 线程)通过共享一个变量进行信 阅读全文
posted @ 2019-06-23 18:18 逍遥璐 阅读(407) 评论(0) 推荐(0) 编辑
摘要: SpringBoot参数非空校验在网上已经有很多资料了,自己最近要实现这一个功能,大概看了下觉得没什么难度,不想在过程中还是遇到了一些问题,在此记录,希望有遇到和我一样问题的人和过路大神不吝指教。 需求是做一个全局请求参数非空校验和异常拦截,spring提供的@Validated和Hibernate 阅读全文
posted @ 2019-06-16 14:17 逍遥璐 阅读(11650) 评论(1) 推荐(1) 编辑
摘要: 记录一下Java API 连接hadoop操作hdfs的实现流程(使用连接池管理)。 以前做过这方面的开发,本来以为不会有什么问题,但是做的还是坑坑巴巴,内心有些懊恼,记录下这烦人的过程,警示自己切莫眼高手低! 一:引入相关jar包如下 二:连接池开发的基本流程 2.1项目基本环境是SpringBo 阅读全文
posted @ 2019-05-20 18:58 逍遥璐 阅读(1108) 评论(0) 推荐(0) 编辑
摘要: 一:将一个项目加入github版本控制 1.在github上创建一个repository。 2.在项目根目录下打开Git 命令行工具。 3.依次运行一下命令: $ git init (初始化本地git版本控制) $ git add xxx (这里的xxx是你要加入git暂存区等待提交的文件) $ g 阅读全文
posted @ 2019-05-15 17:55 逍遥璐 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 听了好久的类加载执行顺序,自己一直没有实践过,今天休息时想到这个问题,亲自动手验证如下: 上代码 以上三个类,SubClass继承自SuperClass,Domain为测试用的类。执行结果如下: 阅读全文
posted @ 2019-04-29 14:48 逍遥璐 阅读(208) 评论(0) 推荐(0) 编辑