`
shell_picker
  • 浏览: 15654 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表
1. findbugs: http://findbugs.sourceforge.net/检查你的代码中的常见不良实践:数据库忘了关闭,流打开忘了关闭,命名不规范。。。类似于 PMD 之类的,但小巧,快速。Update site: http://findbugs.cs.umd.edu/eclipse使用方法:在 project 上点右键->“Findbugs”   2. Code Analysis Plugin: http://cap.xore.de/能以图形化的方式显示各个类、各个包之间的依赖关系,帮助你做出更好的(更好的封装性和可复用性) OO 设计。据官方网站上说,其理论依据是 ...
啥也不说,直接上代码: digraph G { ".class files" -> "instrumented .class files" [label="instr"] "instrumented .class files" -> "runtime data" [label="run(through rt)"] ".class files" -> "metadata" [label="metadata ...
上一篇文章中提到,提高 Java 程序的性能的一个基本想法是,减少频繁的对象创建和销毁。   最近仔细分析了一下自己的一个程序,因为这个程序需要进行大量的字符串操作,会大量新建出临时的 StringBuffer 对象,这种对象用完一次就扔。尤其是在一个函数中,每次调用这个函数的时候都新建一个 StringBuffer ,函数退出的时候这个 StringBuffer 就没用了,而这个函数会被调用上万次,积累下来对性能的损耗可想而知。   所以我想到了使用对象池技术:每次用完 StringBuffer 并不销毁,而是把它存在那里,下次要用的时候只需要调用 setLength(0) 就又可以再 ...
最近自己写程序的时候,想提高程序的性能。   一个基本的想法是:减少对象的创建。由于我的程序中要大量使用整数操作,包括 Integer.toString() 、Integer.toHexString() 等等。理论上,每次调用这些函数的时候都会解析整数,并生成字符串,所以我自己写了个类来缓存结果,第二次调用的时候就不用再计算了。   以下代码发布在公共领域(Public Domain)下,你可以自由地使用它们。   /** * Integer utils, cached many results of toString/toHexString to get better perf ...
您在用什么字体编程?Courier New?   本人系唯美主义者:D,编程的时候也喜欢用漂亮的字体,而且美观的字体能让你长时间看屏幕也不感到眼睛累。   要使用下面的字体,最好打开“字体边缘平滑”。在 Windows 中是:屏幕上点右键->“显示属性”->“外观”->“效果”->“使用下列方式使屏幕字体的边缘平滑”->“标准”。   我正在使用的:Inconsolata   很漂亮,关键是在中英文混排的时候能使中文也显示得很好。但有的时候感觉太窄了,两个字母的间距太小。     Droid Sans Mono   间距很合适,就是中英 ...
最近自己写程序,发现 Apache Commons (http://commons.apache.org/) 库真的很好用,能够简化 Java 中很多繁琐的任务,帮我们造了很多轮子。   1. commons-io 跟 IO 有关的工具方法。   例1:关闭流   BufferedWriter out = null; try { out = new B ...
今天同学遇到一个奇怪的问题,让我帮他看,结果发现了一个 javac 的处理小 bug 。   看这段代码: public class OuterClass { private InnerClass test = new InnerClass(); private static class InnerClass { } } 你可能认为,这段代码编译之后,会生成两个 class 文件:OuterClass.class 和 OuterClass$InnerClass.class 。但事实是,还会多生成一个 OuterClass$1.class ,即使去掉 s ...
Java 5 中提供了 ConcurrentLinkedQueue 来简化并发操作。但是有一个问题:使用了这个类之后是否意味着我们不需要自己进行任何同步或加锁操作了呢?   我在网上找到了这个:http://stackoverflow.com/questions/435069/java-util-concurrentlinkedqueue/435941 // StackOverflow果然是个好地方啊……   也就是说,如果直接使用它提供的函数,比如:queue.add(obj); 或者 queue.poll(obj);,这样我们自己不需要做任何同步。但如果是非原子操作,比如: if( ...
在很多地方都会用到 JVM 参数,比如你运行 ant check-style,跑挂了,抛了个 OutOfMemory 错误。这时你上网搜索,他们会告诉你,应该修改 ANT_OPTS 环境变量,加上“-Xmx512m”。   再比如 JBoss 或 tomcat 都有启动脚本(startup.bat等),里面也用到 JVM 参数。还有 Eclipse 的 eclipse.ini 中也可以加入 JVM 参数。灵活使用这些 JVM 参数可以使我们的 Java 程序获得更好的性能。 === 常用参数 ===   -server  一定要作为第一个参数,会使JVM启动速度变慢,但会显著提升JVM ...
Notepad++是一个很不错的文本编辑器,不少人都用它。但我不愿意用,因为Notepad++的作者曾经在Notepad++的首页(http://notepad-plus.sourceforge.net/tw/site.htm)放上过这么一句话:   Boycott Beijing 2008 - China : the world's biggest prison for journalists and cyber-dissidents(抵制北京2008奥运会)   关于这件2008年的事,可以参见:有人知道notepad++首页上抵制奥运是怎么一回事吗?(zz):http://bbs. ...
Global site tag (gtag.js) - Google Analytics