优化实践
文章平均质量分 53
ruanjiana051
这个作者很懒,什么都没留下…
展开
-
使用Builders代替构造器创建不可变对象
本篇将拿构造器来和使用builder设计模式比较着解释应该如何创建不可变对象 使用此种方式可以使你的代码更具有可读性,首先,让我们来看下如果使用如下的接收三个BigDecimal类型参数的构造器来构建的CashBalance对象是多么的不优雅。然后我们会在看下使用builder模式是怎样让你的代码更简洁的。 当下次你在面试中被问及设计模式的时候,你可以拿这个实现来和使用很频繁的工厂模...原创 2014-04-17 20:49:15 · 139 阅读 · 0 评论 -
Java堆内存溢出调试工具
可以通过以下选项设置当虚拟机发生内存溢出异常的时候生成堆栈转储信息: -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/mydump.hprof 分析转储信息的方式: 安装Eclipse内存分析器(eclipse memory analyzer) 使用大内存设置启动Eclipse:eclipse -vmargs -X...2014-04-28 20:59:02 · 215 阅读 · 0 评论 -
通过Eclipse远程调试
希望通过Eclipse远程调试命令行启动的程序,需要将程序设置为远程调试模式: java -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y -jar myProgram.jar 现在打开Eclipse Run > Debug Configurations... > Remote Ja...2014-04-28 22:52:42 · 107 阅读 · 0 评论 -
Java中堆栈跟踪信息的使用
Java中可以如下的打印出堆栈跟踪信息: new Exception().printStackTrace(); 但是如果想更好的输出,可以使用下列相似的代码规范生成: System.out.println("Printing stack trace:"); StackTraceElement[] elements = Thread.currentThread().getStack...原创 2014-04-29 10:37:10 · 266 阅读 · 0 评论 -
查看端口占用
怎样得知当前机器上某个端口上运行的具体服务呢?下面演示的是在linux上获取端口80上运行服务的命令: lsof -i -n -P | grep :802014-04-29 11:16:12 · 78 阅读 · 0 评论