- 浏览: 459984 次
- 性别:
- 来自: 杭州
最新评论
-
sbpcx:
发布式Java应用基础和实践 -> 分布式Java应用基 ...
Java执行机制 -
wangyaopeng1992:
同一机器不同线程都会获取锁,有并发问题
基于zookeeper的分布式锁实现 -
icanfly:
我只能说你实现的有严重的并发问题,并没有考虑并发的情况。
基于zookeeper的分布式锁实现 -
aiheng1988:
若多个客户端同时调用tryLock去获取锁,最开始不存在锁的节 ...
基于zookeeper的分布式锁实现 -
Mynameisyuan:
...
基于zookeeper的分布式锁实现
文章列表
之前使用Idea,如果启动JBoss异常,然后点击关闭JBoss,就会造成整个Idea挂了.只有通过任务管理器关闭对应的idea和java进程才行.今天终于得空,来解决这个问题.
造成启动JBoss,终于出现异常,然后点关闭,出现死锁.果断使用visualvm查看.(很奇怪的是 jconsole检测不到死锁.)
heapdump summary 写道
“JBoss Shutdown Hook” daemon prio=10 tid=0x0000000056fa8000 nid=0×2525 waiting for monitor entry [0x00000000471 ...
今天写代码,发现一个很蛋疼的问题.具体如下
首先定义了一个annotation
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface ClearCache {
String[] value() default {};
}
这个value是一个String数组.但是我在用的时候就发现问题了.
而
/**
* 新增类目
* @param category
* @return
*/
@ClearCache({JC_FRONT_CATE,JC_BA ...
chronon试玩
- 博客分类:
- eclipse chronon
说明
首先说下chronon是做什么的..它是一个debugger .但是与我们平时的调试器不同,它是作为一个工程的记录器存在的..你可以记录几乎所有变量的所有的变化值.然后保存为一份文件,最后通过分析文件来达到调试的目的.
今天闲来无事,就把玩一下chronon .号称是DVR For Java.用了一下,感觉确实还不错.但是它有两个瑕疵,让我对推广它没有想法.
(1) 它再每次record结束以后都必须关闭工程.如果下次想继续record的话,必须重启项目重新record.对于我们这个启动一次工程需要1min的人来说,这个瑕疵基本无法接受 ...
具体的问题是这样的,我在eclipse编写java代码的时候新增一行,然后保存(个人习惯,基本做完一个操作就会习惯的按下ctrl +s),蛋疼的问题来了,光标自动移动到了最前面..然后我继续编写的时候只能每次都按n个tab键进行对齐以后,再编写代码..今天比较空,所以就来解决下.
按ctrl+s 以后
情何以堪!!一直google了好久,一直没找到原因,看了formatter和save action之类的设置,就是没找到.最后灵机一动,发现是不是帮我自动去除tab了..然后选择 show whitespace characters 一看,发现果然是如此!
找到原因以后,go ...
说明:这两天遇到的一些Java方法分派的问题,结合自己书上看的,google的,还有撒迦教我的,做一个总结吧.望指正.
写道
方法分派指的是虚拟机如何确定应该执行哪个方法!
很多的内容可以参加撒迦的这篇博文 : http://rednaxelafx.iteye.com/blog/652719
我这篇里很多概念的解释都摘自上面的博文,所以,我就不一一指出啦.在此感谢撒迦的帮助.
还有一些讲解(包括代码)来自 <深入JAVA虚拟机-jvm高级特性与最佳实践>,很好一本书,推荐对jvm有兴趣的同学购买
另外 http://hllvm.group.iteye.com/ ...
一个解析java Class类结构的博客
- 博客分类:
- Class类结构
上面说的挺详细的.
http://blog.csdn.net/hubi0952/article/details/6613717
每个参数都加了注释.
--修改对应的eclipse.ini--设置最大的堆和最小堆大小.两者一样表示固定大小.这样可以防止老年代内存扩展造成额外的gc.当然也会多占一些内存.系统内存不足的慎用-Xms512m-Xmx512m--加大年轻代内存.减少minor ...
说明:本篇文章,有很多错误.排版也不合理.请批判的阅读. (有空再整理了)
1 四种垃圾回收算法
PS 这里介绍了4中垃圾回收算法,不代表就只有这四种。
(1)引用计数( Reference Counting )算法
这个算法在很多面试宝典里频繁出现,当年我也被宝典所迷惑。一直到后面听同事的讲座才明白原来JAVA压根就没用这个算法作为其垃圾回收算法。但是为了本文相对的完整性,还是拿出来说一下。
引用计数法是唯一没有使用根集的垃圾回收的法,该算法使用引用计数器来区分存活对象和不再使用的对象。一般来说,堆中的每个对象对应一个引用计数器。当每一次创建一个对象 ...
此文是拜读《JVM高级特性与最佳实践》以后的笔记,甚至里面很多的内容都是书上的原话,所以不算是原创,特此说明。
首先必须明确,方法区存放的是各个线程共享的内存区域。它用于存放已被虚拟机加载的类信息,常量,静态变量,即时编译器变异后的代码等。它的一个别名是 Non-Heap(非堆),还有人叫他 永久代。
JVM的规范中没有规定必须实现永久代的垃圾收集。也就是说,不一定必须实现。而且永久代的垃圾回收“性价比”很低,新生代进行一次gc,一般可以回收70%-95%,但是永久代远低于此。
永久代的垃圾收集主要分两个部分:废弃常量和无用的类
...
说明,是拜读 <JVM高级特性与最佳实践> 以后的笔记而已,基本上只是做一个记录..
package com.taobao.jvm;
public class FinalizeEscape {
public static FinalizeEscape FC = null;
@Override
protected void finalize() throws Throwable {
super.finalize();
System.out.println("finalize method invoke");
FC ...
最开始让我疑惑的是这段代码
/**
* @param args
*/
public static void main(String[] args) throws Exception{
Field field = Unsafe.class.getDeclaredFields()[0];
field.setAccessible(true);
Unsafe unsafe = (Unsafe)field.get(null);
while(true){
unsafe.allocateMemory(_1MB);
}
}
其中的
Un ...
最近重新编译了一下jdk,遇到了不少问题。特此记录。
openjdk,ant, linux-jdk我都放到网盘中了 ,具体地址 http://pan.baidu.com/s/1ntJkB5f
先说明一下我的环境(64位)
[zhenghui@localhost openjdk]$ cat /etc/issue
Fedora release 20 (Heisenbug)
...
1 问题的起因
遇到这个问题的时间很悲剧,刚好在项目发布的当头.在运营修改一些业务数据的时候发现某一个参数无法修改!!!怎么传都传不了.注意,只有一个参数是无法修改的.其他的参数都可以
我马上查看源码,发现 ...
从svn库里导出的项目.经常会有很多杂七杂八的问题.最悲剧的是svn库里压根没上传.poject文件..这里我就说下从普通的java工程转为web工程
myeclipse本身是支持 "Add Web Project Capabilities".但是我现在的这个项目就是没有这个选项.至于为什么没有我没去深究 1 在工程根目录的.poject文件中添加
<natures>
<nature>com.genuitec.eclipse.ast.deploy.core.deploymentnature</nature>
< ...
首先说明,我使用的是jotm来实现跨数据库的事务管理。
第二,在我完成这个测试的时候才发现,其实这个主要还是讲如何使用jotm来做多数据源的事务管理。貌似和spring-test的关系并不大了。至少单元代码上可以说是一模一样。
下面直接看spring配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://ww ...