03 2018 档案
摘要:最近项目中频繁出现 Lock wait timeout exceeded; try restarting transaction这个错误,把我们弄得痛苦不堪啊,为了解决问题,上网上找好多资料,终于把问题复现了。具体操作步骤如下(我使用的mysql工具是 navicat): 第一步:开启sql命令页面
阅读全文
摘要:数组也可以实现cas操作,有以下几个类以及用法如下: 运行结果为:
阅读全文
摘要:1.添加字段 ALTER TABLE 表明 add 字段名称 类型(int,char,VARCHAR...) DEFAULT 默认值 位置(FIRST, AFTER+字段名称); 2.删除 ALTER TABLE 表名 DROP字段名称 3.更改字段 (1) 更改字段长度 alter table 表
阅读全文
摘要:AtomicReference 这个类和AtomicInteger非常类似,只是AtomicReference对应普通的对象引用,而AtomicInteger 它是对整数的封装,它的方法如下 对weakCompareAndSet 说明: 第一次看weakCompareAndSet doc文档的说明时
阅读全文
摘要:java多线程编程的无锁CAS底层都是通过 Unsafe进行操作的:源码如下
阅读全文
摘要:一、什么是CAS CAS,compare and swap的缩写,中文翻译成比较并交换。 我们都知道,在java语言之前,并发就已经广泛存在并在服务器领域得到了大量的应用。所以硬件厂商老早就在芯片中加入了大量直至并发操作的原语,从而在硬件层面提升效率。在intel的CPU中,使用cmpxchg指令。
阅读全文
摘要:pool-1-thread-3 spend1353mspool-1-thread-1 spend1542mspool-1-thread-2 spend1573mspool-1-thread-4 spend1593ms多线程访问同一个Random实例:6061mspool-2-thread-1 spe
阅读全文
摘要:作者:知乎用户链接:https://www.zhihu.com/question/23089780/answer/62097840来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 相信读者在网上也看了很多关于ThreadLocal的资料,很多博客都这样说:ThreadL
阅读全文
摘要:我们都知道 SimpleDateFormat 这个类是线程 不安全的,那么我下面的程序执行就会遇到问题
阅读全文
摘要:线程不安全的SimpleDateFormat SimpleDateFormat是线程不安全的 SimpleDateFormat是Java提供的一个格式化和解析日期的工具类,日常开发中应该经常会用到,但是由于它是线程不安全的,多线程公用一个SimpleDateFormat实例对日期进行解析或者格式化会
阅读全文
摘要:很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口这样的问题。本文我们将仔细讨论这些话题。 在讨论它们之间的不同点之前,我们先看看抽象类、接口各自的特性。 抽象类 抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建
阅读全文
摘要:1、区别:1) MyISAM管理非事务表。提供高速存储和检索,以及全文搜索能力。MyISAM在所有MySQL配置里被支持,是默认的存储引擎,除非配置MySQL默认使用另外一个引擎。2)MEMORY存储引擎提供“内存中”表。MERGE存储引擎允许集合将被处理同样的MyISAM表作为一个单独的表。就像M
阅读全文
摘要:1.myisam,innodb和memory的区别如下:2:InnoDB存储引擎2.1:InnoDB具有事务,回滚,崩溃修复能力和多版本并发的事务安全2.2:关于InnoDB的auto_increment列:2.2.1:InnoDB支持自动增长列,此列不能为空,且值必须唯一2.2.2:此列必须为主键
阅读全文
摘要:⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。 ⑵ 一致性(Consistency) 一致性是指事务必须使数据库从一个一致
阅读全文
摘要:一:配置springdata-Es elasticseach-JPA.xml QueryBuilder queryBuilder = QueryBuilders.multiMatchQuery("music", "name", "interest");//搜索name中或interest中包含有mu
阅读全文
摘要:一:减少锁的持有时间: 例如: 二:减小锁的粒度: 最熟悉的就是 ConcurrentHashMap,本质是分段,当put的时候,那么它会tryLock,锁定它所处的段内,对其他段数据读取不进行阻塞 三:使用读写分离锁来代替独占锁 四:锁分离 最熟悉的就是LinkedBlockingQueue,当用
阅读全文