Java
文章平均质量分 70
rednaxelafx
这个作者很懒,什么都没留下…
展开
-
答复: 不用构造方法也能创建对象
原帖:[url=http://www.iteye.com/topic/850027]不用构造方法也能创建对象[/url]把之前我引用过的一段也贴上来:[quote="RednaxelaFX"]嗯顺带推荐Effective Java, Second Edition的第74条 [quote]A second cost of implementing Serializable is th...原创 2010-12-23 12:23:18 · 380 阅读 · 0 评论 -
Java的多维数组
继续打捞站内信。[quote="同学F"]在java中的数组访问,举个例子,对于数组int[][][] arry = new int[2][3][4],我从字节码上看,虚拟机对某个arry中的某个元素如arry[1][1][3]的访问,似乎是先获取arry[1]的引用,然后再获取arry[1][1]的引用,再获取数据arry[1][1][3],如果这个过程我没有理解错的话,那么虚拟机是不是...2011-05-19 13:26:52 · 121 阅读 · 0 评论 -
Gson使用中遇到的Date格式问题
在Java中处理JSON格式的数据时,Google [url=http://code.google.com/p/google-gson/]Gson[/url]是个不错的选择,用起来挺方便的,也有一定灵活性。我现在工作中在参与的两个项目里都有用它。不过它在处理Date格式时有个小陷阱,在不同环境中部署时可能会遇到问题。Gson默认处理Date对象的序列化/反序列化是通过一个SimpleDat...2010-10-19 11:27:29 · 1973 阅读 · 0 评论 -
通过Java/JMX得到full GC次数?
今天有个同事问如何能通过[url=http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/]JMX[/url]获取到某个Java进程的full GC次数:[quote]hi,问个问题,怎们在java中获取到full gc的次数呢?我现在用jmx的那个得到了gc次数,不过不能细化出来full gc的次数...2010-10-20 23:40:10 · 334 阅读 · 0 评论 -
用Java获取full GC的次数?(2)
接着[url=http://rednaxelafx.iteye.com/blog/790015]上一帖[/url],再谈谈一个Java进程要获取自己的full GC次数的方法,同样是高度平台相关的办法。大家如果熟悉JDK 6的内建工具,或许已经知道可以通过[url=http://download.oracle.com/javase/6/docs/technotes/tools/share/...2010-10-21 21:38:34 · 452 阅读 · 0 评论 -
最近发的一些英文帖
最近我发blog的密度似乎比较低?其实写了不少东西,不过很多英文的所以没发在ItEye上而已。如果有关注[url=http://rednaxelafx.iteye.com/blog/362738]置顶的VM帖目录[/url]可能会留意到我最近在别的地方发过的东西。Anyway,单独发一帖来让有兴趣的人能留意到那些链接:2011-08-24: [url=https://gist.gi...2011-08-24 14:35:09 · 137 阅读 · 0 评论 -
通过jstat工具来查看jvmstat monitor的值
接上之前发的几帖[url=http://rednaxelafx.iteye.com/blog/790864](1)[/url] [url=http://rednaxelafx.iteye.com/blog/790875](2)[/url] [url=http://rednaxelafx.iteye.com/blog/790878](3)[/url],再回过头来看看如果不是用Java API,有...2010-10-28 11:35:37 · 416 阅读 · 0 评论 -
答复: 单命令行下,if 必须加"{}" 的问题
打捞回复帖。嗯这无聊的语法问题…原文地址:[url]http://www.iteye.com/topic/1064881?page=6#2136913[/url][quote="lion1354"]好吧看代码,把下面两段代码粘到eclipse中你就会知道了[code="java"]public class Test{ public static void main(St...原创 2011-06-01 01:45:50 · 111 阅读 · 0 评论 -
HotSpot在不同环境里的VM参数默认值参考
暂时就放个gist链接出来:>> [url]https://gist.github.com/827140[/url] = 6u18)UseFPUForSpilling在支持SSE2或异常的系统上默认仍然是false的,但打开AggressiveOpts则会变为trueUseOprofile 留意一下这个参数,默认是falseMaxTenuringThreshold在使用CMS时的默认值...2011-02-15 14:11:21 · 347 阅读 · 0 评论 -
请别再拿“String s = new String("xyz");创建了多少个String实例”来面试了吧
这帖是用来回复[url=http://hllvm.group.iteye.com/]高级语言虚拟机[/url]圈子里的一个问题,[url=http://hllvm.group.iteye.com/group/topic/21761]一道Java笔试题[/url]的。本来因为见得太多已经吐槽无力,但这次实在忍不住了就又爆发了一把。写得太长干脆单独开了一帖。顺带广告:对JVM感兴趣的同学们...2010-09-29 04:14:37 · 521 阅读 · 0 评论 -
通过jinfo工具在full GC前后做heap dump
上一篇:[url=http://rednaxelafx.iteye.com/blog/1048958]通过JMX控制在full GC前后做heap dump[/url]想像一个Java进程在远程服务器上突然遇到频繁full GC的状况。我们只是想动态的改变[b]HeapDumpBeforeFullGC[/b]与[b]HeapDumpAfterFullGC[/b]参数来获取full GC前后...2011-05-18 22:25:19 · 218 阅读 · 0 评论 -
通过JMX控制在full GC前后做heap dump
后一篇:[url=http://rednaxelafx.iteye.com/blog/1049240]通过jinfo工具在full GC前后做heap dump[/url]有时候我们想知道一个Java程序在一次full GC的时候到底回收了哪些对象。特别是当full GC看起来很频密但系统看起来却又没有内存泄漏的时候,了解究竟是哪些对象引致了这些GC会对调优有帮助。做了个简单的例子...2011-05-18 20:49:24 · 435 阅读 · 0 评论 -
试玩了一下JSR 310 Date and Time API
先从[url=https://jsr-310.dev.java.net/servlets/ProjectDocumentList?folderID=10338&expandFolder=10338&folderID=0]官网[/url]下载到JSR 310的参考实现:jsr-310-ri-0.6.3.jar, jsr-310-TZDB-all-0.6.3.jar然后用Groovy来试玩一下...2010-12-23 22:55:35 · 177 阅读 · 0 评论 -
Java虚拟机分享演示稿2010-12-28版
内容见附件。这玩儿转成PDF之后愈发巨大,下一版可能不用7-zip压一下都无法传到JavaEye上做附件了呢。该演示稿的前两版本在[url=http://rednaxelafx.iteye.com/blog/656951]关于Java程序的执行的一次分享[/url]一帖中可以找到。这次的更新主要是加了些图,讲解Java程序与JVM的一些“接触面”、整个执行的步骤、HotSpot中的...2011-01-03 14:32:30 · 138 阅读 · 0 评论 -
JDK6u25里添加的按线程统计分配内存量: JMX
Oracle几天前发布的JDK 6 update 25里添加的一个新功能非常有趣,可以按照线程来跟踪(GC堆)内存的分配量。这个功能在VM核心、解释器、C1编译器、C2编译器以及GC中都有代码支持,并且通过JMX API暴露出来。不过新加的这功能不是加在java.开头的包里,而是加在com.sun.management.ThreadMXBean这个接口上,要用的话还得cast一下。当然...2011-04-28 14:55:17 · 110 阅读 · 0 评论 -
JDK6u25跑Eclipse变快了?——多层编译模式
先前只在几个测试用的环境里装了JDK 6 update 25,没在自己的开发机上装。刚才正好试一个东西的时候装上了,就顺手把跑Eclipse的JVM设到了JDK6u25上。[code="eclipse.ini"]-vmD:/sdk/jdk1.6.0_25/bin/javaw.exe-startupplugins/org.eclipse.equinox.launcher_1.0.20...2011-04-28 17:16:38 · 151 阅读 · 0 评论 -
用Apache HttpClient 4.0时强制指定响应的字符编码
前两天一段调用HTTP服务的脚本出了问题,仔细一看,发现是提供的HTTP服务在响应头里写了:[code="http response"]HTTP/1.1 200 OKServer: xxxxxxxxxxContent-Type: text/html; charset=utf-8Connection: closeContent-Length:2014[/code]响应的头中声...2011-01-15 20:11:59 · 361 阅读 · 0 评论 -
Maven的POM文件里,build/resources里include和exclude
超·蛋·疼同事的工程里有*.dat文件要打包到最后的JAR包里,但POM文件里resources的配置没放*.dat文件通过。于是加了一条include放过它,但那里是配置在true下面的。结果杯具了,那些*.dat文件在被Maven打包的时候被“转码”了,其中的一些数据就变成了ASCII问号(0x3F)。[url]http://maven.apache.org/plugi...2011-01-19 22:39:07 · 1920 阅读 · 0 评论 -
JIT编译找不到类?
今天开始Sun的老blog真的搬迁了,从blogs.sun.com迁移到blogs.oracle.com。结果这些迁移了的blog里的老帖像洪水般一下就把我的reader冲爆了。不过也好,有些老帖过了一段时间重新读也会有新体会。例如这篇,[url=https://blogs.oracle.com/jrockit/entry/why_wont_jrockit_find_my_class]Wh...2011-05-09 22:28:20 · 230 阅读 · 0 评论 -
答复: JAVA6可以使用字符串累加
把先前在论坛回复的一些帖打捞进来。这篇的原帖是:[url=http://www.iteye.com/topic/1040986]JAVA6可以使用字符串累加[/url]下面是回复内容,带补充。=================================================================[quote="javabkb"]听过sajia老师讲的视...原创 2011-05-13 14:40:48 · 97 阅读 · 0 评论 -
[链接帖] 新的Java语言规范、Java虚拟机规范
随着7月28日,也就是[url=http://www.jcp.org/en/jsr/detail?id=336]Java SE 7[/url]预定的发布日期越来越近,相关的一些规范也已得到或即将得到批准。这里主要关注的是下面几个规范:[url=http://www.jcp.org/en/jsr/detail?id=336]JSR 336: Java™ SE 7 Release Cont...2011-06-12 17:35:43 · 442 阅读 · 0 评论 -
javac在编译创建内部类对象时生成的奇怪的getClass()调用是什么?
有人问下面这段代码里,main()方法里的outer.new Inner()部分为什么会生成了一个对outer.getClass()的调用:[code="java"]public class Outer { public class Inner { } public static void main(String[] args) { Outer outer = new O...2011-06-14 22:17:11 · 191 阅读 · 0 评论 -
Oracle JDK中,Java线程的几个ID的对应关系
在Oracle JDK中,一个Java线程可能有好几个ID。它们都是什么,之间有对应关系么?[img]http://dl.iteye.com/upload/attachment/424352/539f8e6c-a694-3ab3-a296-4beb72cd634c.png[/img](通过VisualVM的SA Plugin来观察一个Java线程,可以看到两个高亮的行都有ID)...2011-02-25 19:16:06 · 86 阅读 · 0 评论 -
第0回JVM源码阅读活动
Alright,[url=http://rednaxelafx.iteye.com/blog/1420601]形成了想法[/url]之后就赶紧动手。这周六开一次准备活动吧~主题:第0回JVM源码阅读活动时间:2012-03-03 13:45-16:00地点:杭州市西湖区塘苗路18号华星现代产业园 4-2 听香榭地图:[url]http://j.map.baidu.com/Co2...2012-02-27 15:57:39 · 182 阅读 · 0 评论 -
借HSDB来探索HotSpot VM的运行时数据
(未经许可请勿转载。希望转载请与我联系。)(如果打开此页面时浏览器有点卡住的话请耐心等待片刻。大概是ItEye的代码高亮太耗时了…)几天前在[url=http://hllvm.group.iteye.com/]HLLVM群组[/url]有人[url=http://hllvm.group.iteye.com/group/topic/37542]问了个小问题[/url],说[cod...原创 2013-04-16 09:08:44 · 504 阅读 · 0 评论 -
豆列:从表到里学习JVM实现
刚写了个学习JVM用的豆列跟大家分享。豆列地址:[url]http://book.douban.com/doulist/2545443/[/url]下面把豆列的介绍贴过来。具体书单请到上面的豆列地址那边去看。在社会化分工、软件行业细分专业化的趋势下,会真的参与到底层系统实现的人肯定是越来越少(比例上说)。真的会参与到JVM实现的人肯定是少数。但如果您对JVM是如何实现的...2013-06-13 14:13:50 · 276 阅读 · 0 评论 -
字符串的一般封装方式的内存布局 (1): 元数据与字符串内容,整体还是分离?...
(Disclaimer:未经许可请勿转载。如需转载请先与我联系。作者:RednaxelaFX -> rednaxelafx.iteye.com)字符串的一般封装方式的内存布局系列:[url=http://rednaxelafx.iteye.com/blog/1969833](0): 拿在手上的是什么[/url][size=medium]1、元数据,字符串内容:整体还是分离?...原创 2013-11-07 17:44:27 · 196 阅读 · 0 评论 -
[链接列表] 我写的一些基于HotSpot Serviceability Agent的小工具
[url=https://gist.github.com/rednaxelafx/1441625#file_dump_class_url.java]DumpClassURL[/url]: print the list of currently loaded Java classes, along with code source path and defining class loader inf...原创 2013-02-25 12:33:22 · 209 阅读 · 0 评论 -
记GreenTeaJUG第二次线下活动(杭州)
新浪微活动页面:[url]http://event.weibo.com/753079[/url]活动内容:[quote]活动主题: 会场一 万松书院(偏向应用层): [url=http://weibo.com/u/2404331851]@琴上的日月[/url]:《淘宝WEBOS.面向积木编程.分形架构》(45分钟) [url=http://weibo.com/u/1...原创 2013-02-25 12:33:40 · 219 阅读 · 0 评论 -
Java 8的default method与method resolution
先看看下面这个代码例子,[code="java"]interface IFoo { default void bar(int i) { System.out.println("IFoo.bar(int)"); }}public class Foo implements IFoo { public static void main(String[] arg...原创 2014-03-19 02:23:36 · 460 阅读 · 0 评论 -
Java 8与静态工具类
以前要在Java里实现所谓“静态工具类”(static utility class)的话,通常会做两件事:1、把class声明为final,以免被继承;2、声明一个private的空参数列表构造器,以免外部能创建该类的实例。根据Java SE 8版的Java语言规范,9.4小节,现在Java 8允许在接口上声明静态方法了。接口默认而且必须是抽象的,所以不能用final来阻止别人继承...2014-03-19 08:43:07 · 457 阅读 · 0 评论 -
写了个打印出HotSpot VM里当前加载的所有类的路径和加载器摘要信息的工具
写了个工具用来把一个运行中的HotSpot VM中所有加载了的类的: 类名, ProtectionDomain的CodeSource所记录的路径, 类加载器这些信息打印出来。希望对大家有用。代码:[url]https://gist.github.com/1441625#file_dump_class_url.java[/url]用法:[url]https://gist.gith...2011-12-07 15:55:39 · 233 阅读 · 0 评论 -
OpenJDK源码阅读导航
这是链接帖。主体内容都在各链接中。怕放草稿箱里过会儿又坑掉了,总之先发出来再说…回头再慢慢补充内容。先把ItEye网站上的信息聚合起来。近期提问帖:[url=http://hllvm.group.iteye.com/group/topic/35385]阅读openjdk源代码[/url][url=http://hllvm.group.iteye.com/group/topi...原创 2012-06-07 20:00:17 · 346 阅读 · 0 评论 -
SDCC 2012上做的JVM分享
刚把在[url=http://sdcc.csdn.net/time.html]SDCC 2012[/url]做的JVM分享的演示稿上传了。演示稿下载地址:微盘: http://vdisk.weibo.com/s/fVekp (更新:新浪微盘非要禁用我共享这个文件所以很可惜这个链接失效了。文件其实还在那儿,就是无法设定状态为共享而已。)SlideShare: [url]http://...2012-10-17 16:35:16 · 191 阅读 · 0 评论 -
观察NIO的direct memory使用量?
前几天有同事问起,我本来印象中是有啥别的办法的,但想不起来了。再看了看[url=http://hg.openjdk.java.net/jdk6/jdk6/jdk/file/tip/src/share/classes/java/nio/Bits.java]NIO相关部分的源码[/url]觉得貌似就这个办法靠谱(在Oracle/Sun的JDK上):[url=http://stackoverfl...2011-06-20 21:26:02 · 374 阅读 · 0 评论 -
观察NIO的direct memory使用量?(JDK7)
前一篇:[url=http://rednaxelafx.iteye.com/blog/1098791]观察NIO的direct memory使用量?[/url]前一篇说的是在当前的Oracle/Sun JDK6上没啥好办法去监视NIO的direct memory使用量。不过这个问题在JDK7里其实已经有解决的。从JDK7 build 36开始就有了吧。解决的方式就是:给NIO也带上JM...2011-06-23 14:25:49 · 418 阅读 · 0 评论 -
别测空循环
今天有朋友提到一个叫 [url=http://code.google.com/p/reflectasm/]ReflectASM[/url]的库,为Java环境提供高性能的反射操作支持。它的实现方式是动态代码生成。以前[url=http://rednaxelafx.iteye.com/blog/548536]我的一篇日志[/url]里写过,Oracle/Sun JDK6的反射方法调用的实现当中重...2011-06-23 21:56:42 · 144 阅读 · 0 评论 -
PermGen大了也不行
随便记一下。今天有个应用说是full GC过于频繁。看了下发现执行的都是CMS GC,并不是真的stop-the-world的full GC。但确实是很频繁,几秒就触发一次。堆的使用状况,eden/SS0/SS1的使用量都没啥特别的,old gen大概用了10%+,而perm gen用了70%+。光看空间占用量的话,都还达不到CMS的触发条件。.[code="command pro...2011-06-28 18:56:07 · 198 阅读 · 0 评论 -
jstat显示的full GC次数与CMS周期的关系
使用Oracle/Sun JDK来运行Java程序的时候,大家或许有用过jstat工具来观察GC的统计数据,例如上一篇日志里的[code="command prompt"]$ jstat -gcutil `pgrep -u admin java` S0 S1 E O P YGC YGCT FGC FGCT GCT ...2011-06-28 23:56:18 · 624 阅读 · 0 评论 -
[资料整合] Oracle HotSpot VM计划移除PermGen
在已经发布的Oracle JDK7 RC(JDK7 build 147)里,HotSpot VM仍然有PermGen,但许多原本存储在PermGen里的东西已经挪到了别的地方。离HotSpot彻底移除PermGen的一天已经越来越近。本来PermGen就[b]不是[/b]一个JVM完整不可分割的一部分,去了就去了呗。正好把许多同学们对PermGen的误解给扭过来 :lol: 这草稿压箱...2011-07-25 14:25:23 · 182 阅读 · 0 评论