This article is reprinted or copy from other website, resource in the internet, copyright held by original owner/author. If you think it violated your right, please email [email protected] and the article will be removed from this site.
Continue reading [Reprinted] Life Beyond Distributed Transactions - An apostate's opinion
Continue reading 海洋量子号上的五天四夜
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
这篇 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 的区别
好久没写日志了……
最近的项目陷入了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最大内存限制
发现这个网站
https://www.modern.ie/zh-cn/virtualization-tools#downloads
可以下载虚拟机测试各版本IE
Continue reading IE 各版本测试
使用电(插入符)信真是很窝火,价格贵,速度一般,还动不动就来个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上文章 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
这个主要是默认打开的tab(Profiles -> Genera->defaultl -> Command)里使用了选择了Command,改为Login Shell就好了。
参见:http://apple.stackexchange.com/questions/50752/iterm2-terminals-close-immediately-with-argpath-login-error-no-such-file-or-dir
Continue reading Iterm2 打开后马上关闭的错误 argpath=login error=No such file or directory
这几天想在本机上建立一个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 的地址分配指定为一个地址
这样就达到静态ip效果了。
这样做的缺点是每个虚拟机都得建一个hostonly network。
参见:
http://superuser.com/questions/357120/how-do-i-setup-a-virtualbox-server-with-a-static-ip
Continue reading virtualbox 下设置静态ip
Pagination