java
三目君
全文搜索引擎的使用和开发。
展开
-
Java并发编程:volatile关键字解析(牛人还是很多的,尤其是看了诸多文档的)
原文出处:http://www.cnblogs.com/dolphin0520/Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要转载 2015-08-25 17:45:44 · 529 阅读 · 0 评论 -
“双重检验锁失效”的问题说明
双重检验锁是一个高效的懒加载方法,被广泛引用或应用于多线程环境中。但是,在Java中,如果没有额外的同步,它并不能以独立的方式可靠地工作。当在其它语言上时,比如C++,它依赖于处理器的内存模型,编译器重排序以及编译器和同步库的交互。由于C++并没有对以上内容作出具体说明,所以很难说明在什么情况下双重检验锁会正常运行。在C++中可以显式地使用内存屏障翻译 2015-11-20 11:33:45 · 5060 阅读 · 0 评论 -
随记:安全地关闭 jvm(tomcat停止钩子事件处理)
在jvm中,java.lang.Runtime 有一个方法,public void addShutdownHook(Thread hook) {},此方法始于jdk1.3,用于在jvm关闭时执行一些命令。 参数是一个线程类,所以我们创建Thread对象并重写run方法即可。这里说一下使用到的地方。假如后台有定时任务在运行,或者触发事件。只要是有长时运行的任务,在jvm关闭时都会停止。这可能会导致一原创 2015-12-28 13:44:00 · 4499 阅读 · 0 评论 -
lombok @EqualsAndHashCode 注解的影响
官方文档:@EqualsAndHashCode原文中提到的大致有以下几点: 1. 此注解会生成equals(Object other) 和 hashCode()方法。 2. 它默认使用非静态,非瞬态的属性 3. 可通过参数exclude排除一些属性 4. 可通过参数of指定仅使用哪些属性 5. 它默认仅使用该类中定义的属性且不调用父类的方法 6. 可通过callSuper=true解决上原创 2015-12-24 10:01:44 · 161463 阅读 · 11 评论 -
由dubbo引起的 java OutOfMemoryError unable to create new native thread
先说明结果: 由于linux默认限制1024个线程,运行7个tomcat,一个大概150个线程左右,外加其中有两个dubbo占用了200*2个线程,超过1024限制时会出此错。 解决方法: 1. 修改dubbo配置,降低线程数,50-100个足够。 2. 修改linux配置 /etc/security/limits.conf 把 soft nproc 1024 的1024修改大原创 2016-06-29 13:52:53 · 10779 阅读 · 1 评论 -
正则表达式的部分替换 $1~$99
来源于js,但是同样适用于java,关于正则表达式的介绍不多赘述。 主要说明一下正则表达式的部分替换。 比如要替换字符串“我是程序员”里面的“程序员”,替换为“工程师”。直接模式匹配是可以的,但是如果更加复杂就难了。 使用正则,可以做到。如 原始字符串:我是程序员 正则:(.*)(程序员)(.*) 替换为:$1工程师$3如上即可,其中$1和$3分别代表第1个和第3个括号内匹配到的内容。嵌原创 2016-07-05 18:59:20 · 18060 阅读 · 3 评论 -
Java——如果我面试别人,可能会用的问题(如果面试,可能被问的问题)
我就面试过很少过的几次,但是这些是一些总结,别人面试我的,还有和面试官司的聊天中总结出来的内容。不全,但是足够找一份很不错的工作了。java方面问题: 1. HashMap和ArrayList实现及其算法复杂度 2. 锁,多线程,线程池,线程同步ThreadLocal,JVM内存模型,类加载机制,双亲委派及热部署 3. spring核心原理,spring事务传播机制 4. myBatis原创 2016-10-14 13:00:18 · 4638 阅读 · 0 评论 -
Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
原文:http://www.cnblogs.com/dolphin0520/p/3920397.htmlJava并发编程:CountDownLatch、CyclicBarrier和Semaphore 在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。 以转载 2017-01-03 18:44:37 · 587 阅读 · 0 评论 -
Idea Maven ReImport 报错NoClassDefFoundError: org/codehaus/plexus/util/StringUtils
错误信息2019-09-19 19:04:02,786 [ 960431] INFO - #org.jetbrains.idea.maven - java.rmi.ServerError: Error occurred in server thread; nested exception is: java.lang.NoClassDefFoundError: org/codeh...原创 2019-09-26 16:07:42 · 2924 阅读 · 1 评论