InfoQ 文章 Hunting Java Concurrency Bugs

http://www.infoq.com/articles/Hunting-Concurrency-Bugs-1

 

这篇文章很值得一读。

 

主要讨论了openJDK(注意文中没有说明Oracle JDK也有相同问题)自身存在的问题,以及分析问题的艰辛过程。

 

第一个问题是1.7.0_40 之前存在的多线程下造成livelock,jstack无响应。

 

第二个问题是HashMap的OOM,多线程下操作引起循环指针在序列化的情况下出现OOM。

 

这个问题出现后还好有个10G 的heapdump,文件太大不能工具直接分析,直接看文件分析可能是循环指针序列化造成的,尝试使用ObjectInputStream读出,但是由于其本机没有生产环境所有的类(造业),此路不通,最后通过unix的strings工具获得反序列化的字符串,得知是个hashmap。

他们在本机尝试多线程操作hashmap引起崩溃,重现了问题。最后将hashmap改为java.util.concurrent.ConcurrentHashMap解决问题。

 

评论中提到JCStress

http://www.oschina.net/translate/concurrency-torture-testing-your-code-within-the-java-memory-model

Continue reading InfoQ 文章 Hunting Java Concurrency Bugs

OpenJDK 和Oracle JDK 的区别

这篇 http://blog.sina.com.cn/s/blog_5cfd3adf0101a9db.html 文章讲了一些,但是不完全正确。

 

参考https://blogs.oracle.com/henrik/entry/moving_to_openjdk_as_the 这里

Oracle 基于 OpenJDK 代码创建 Reference Implementation (RI)

 

Oracle  创建RI 是基于BCL协议而openJDK是GPLv2

具体Oracle的商业限制 要看http://www.oracle.com/technetwork/java/javase/terms/products/index.html

BCL 在这里 http://www.oracle.com/technetwork/java/javase/terms/license/index.html

 

哎妈太麻烦,现在linux系统上默认装的都是OpenJDK

但是据说OpenJDK问题有点小多。

 

一般的使用Oracle JDK并不违反什么商业限制:

就我所知的JMX 用第三方查看器查看javax.management包下的或是自己开发的MBean是没有违反限制的 jvisualvm是第三方工具 jconsole是免费的;

 

但是Java Flight Recorder 和 Java Mission Control 却是要收费的,晕。

 

 

 

 

参见:

https://blogs.oracle.com/henrik/entry/moving_to_openjdk_as_the

http://blog.sina.com.cn/s/blog_5cfd3adf0101a9db.html

Continue reading OpenJDK 和Oracle JDK 的区别

JVM Heap最大内存限制

好久没写日志了……

 

最近的项目陷入了hazelcast的巨坑之中,问题之一就是hazelcast的各种内存泄露,让我绞尽脑汁,最后大家商量没得办法,只好说服让客户每月重启一次,这样他们还不至于拿锤子锤你,然后加大JVM内存。

 

先得确认一下jvm的内存限制:

http://stackoverflow.com/questions/2093679/max-memory-for-64bit-java

http://stackoverflow.com/questions/1434779/maximum-java-heap-size-of-a-32-bit-jvm-on-a-64-bit-os

 

32bit OS 1.2G就有些够呛

64bit OS + 64bit JVM 理论上是2的64次方,人家试过1000G是没得问题的。

Continue reading JVM Heap最大内存限制

屏蔽流氓站点taobao.114so.cn daohang.114so.cn 114so.cn

使用电(插入符)信真是很窝火,价格贵,速度一般,还动不动就来个DNS劫持,在网页上显示他们的广告,而且做得很隐蔽,普通用户还以为是别的网站的广告,我投诉几次,他们还装白痴,你投诉一次他们乖点,隔段又卷土重来。对于这样的垄断性流氓, 我等屁民有什么办法。

 

今天Avasta报警,关于daohang.114so.cn的,让我吓了一跳,查了一下还是电(插入符)信的劫持,网上找到一个方法

http://blog.sina.com.cn/s/blog_7557b5110101aqkf.html

修改hosts文件

C:\WINDOWS\system32\drivers\etc

127.0.0.1 taobao.114so.cn
127.0.0.1 daohang.114so.cn
127.0.0.1 114so.cn

 

Mac下

/private/etc/hosts

mac下不需要重启, ping 114so.cn测试结果为127.0.0.1就可以了

Continue reading 屏蔽流氓站点taobao.114so.cn daohang.114so.cn 114so.cn

InfoQ文章 介绍另一种开发ios程序的方式 使用RoboVM

InfoQ上文章 http://www.infoq.com/articles/unusual-ways-to-create-a-mobile-app

这种使用RoboVM的方式真还是第一次听说,基于ROboVM可以使用Java系语言,需要在MacOS上使用Eclipse来将代码预编译为目标机器的字节码(ahead-of-time compiler

 

大略看了一下,类型转换类似于jni方式,不过它自带是转换了一些IOS SDK的库。

 

如果是这样,还是直接用ObjectC吧或是Swift吧。

 

 

Continue reading InfoQ文章 介绍另一种开发ios程序的方式 使用RoboVM

virtualbox 下设置静态ip

这几天想在本机上建立一个mysql集群测试环境,结果死活安不上去,只好尝试安装多个ubuntu server系统到virtualbox上,但是发现要设置静态ip是如此之麻烦。

 

具体参考:

http://coding4streetcred.com/blog/post/VirtualBox-Configuring-Static-IPs-for-VMs

 

我按照上面的步骤,最后没发不起作用。

 

对于无界面的ubuntu和其他linux系统,还得保证HostOnly 对应的网卡是开启的

 

https://bowerstudios.com/node/1015

 

一般eth0对应的是NAT网卡,所以eth1是HostOnly网卡。

 

按照上面的步骤开启eth1,但是静态ip还是不行。

 

最后我只好使用dhcp配置,怎么达到静态ip的效果呢?

那就是将dhcp 的地址分配指定为一个地址

 

Screen Shot 2014-06-05 at 12.45.54 PM

这样就达到静态ip效果了。

 

这样做的缺点是每个虚拟机都得建一个hostonly network。

 

参见:

http://superuser.com/questions/357120/how-do-i-setup-a-virtualbox-server-with-a-static-ip

Continue reading virtualbox 下设置静态ip

html checkbox半选状态问题

html5开始,checkbox开始支持indeterminate 属性,当它为true时,checkbox为半选状态,它不是一个html 标签属性,而是一个DOM对象属性。

 

但是IE8是不支持的,IE9却又一贯性的与众不同,当点击半选时,IE9表现是为不选了,而其他浏览器都是全选,这里是在线测试 http://jsfiddle.net/5tpXc/

 

还好有人解决了这个问题:

http://stackoverflow.com/questions/10099158/how-to-deal-with-browser-differences-with-indeterminate-checkbox

 

在线演示 http://jsfiddle.net/K6nrT/6/

 

 

 

 

 

 

参见:

http://stackoverflow.com/questions/6269342/partially-select-checkbox-with-javascript

Continue reading html checkbox半选状态问题

推荐较好的共享主机http://www.kvcwebhost.com/

受不了hostigation,128M的根本不能跑wordpress,想升级,客服吊儿郎当,只说需要多少钱没说怎么缴费,晕,估计他们就几个人兼顾运维和客服,不过他们的服务器确实不错。

 

 

换了这个 http://www.kvcwebhost.com/

 

总结一个字非常棒

 

客服回应速度非常快,上下行速度都很不错,居然提供ssh控制,比较惊喜!

 

三年68刀,非常划算了。

 

好的服务我就推荐一下了。

 

中间我还试了一个ovh.com 法国人做事就是厉害,钱交了,扯了一个星期还没把我的主机弄好,最后我问他们进度他们要我验证身份,让人哭笑不得,罢了罢了!不过钱还是退回来了。

 

=======================

后记:现在kvhost也是速度很慢ping 都是400以上,总之是个渣。哎,兲朝的网速真是无语!

Continue reading 推荐较好的共享主机http://www.kvcwebhost.com/

Pagination


Total views.

© 2013 - 2019. All rights reserved.

Powered by Hydejack v6.6.1