
java
sanniao
这个作者很懒,什么都没留下…
展开
-
Java内存泄露原因详解
原文链接已不可知。一、Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址。Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Heap)中分配的,所有对象的回收都是由Java虚拟机通过垃圾回收机制完成的。GC为了能够正确释放对象,会监控每个对象的运行状况,对他们的申请、引用、被引用、赋值等状况进行转载 2015-08-19 10:12:19 · 296 阅读 · 0 评论 -
在本地使用GroboUtils进行多线程测试
在本地开发的时候有时候需要用到多线程去测试某些类或者方法是否有线程安全问题,由于本地开发机器硬件限制通过硬编码的方式往往难以达到多个线程同时访问的效果,这时可以考虑使用GroboUtils达到目的。顺便提一句,使用Junit是不行的,去看源代码会发现junit是System.exit退出用例执行的,主线程终止jvm都停了,其他线程肯定执行不了了。 使用GroboUtils可以去下载它的j原创 2016-09-23 17:52:29 · 2798 阅读 · 0 评论 -
使用多态替代If else或switch的更多尝试
啊原创 2016-11-03 21:14:12 · 10515 阅读 · 1 评论 -
通用的Java hashCode重写方案
Google首席Java架构师Joshua Bloch在他的著作《Effective Java》中提出了一种简单通用的hashCode算法(一)1. 初始化一个整形变量,为此变量赋予一个非零的常数值,比如int result = 17;2. 选取equals方法中用于比较的所有域,然后针对每个域的属性进行计算: (1) 如果是boolean值,则计算f ? 1:0转载 2016-11-01 10:40:44 · 289 阅读 · 0 评论 -
如何重写Java中的equals方法
原文链接:http://www.cnblogs.com/TinyWalker/p/4834685.htmlJava中,只有8种基本类型不是对象,例如:4种整形类型(byte, short, int,long),2种浮点类型(flout, double),boolean, char不是对象,其他的所有类型,不论是对象数组,列表等都扩展了Object类.了解学习Object中方法的转载 2016-11-01 10:53:56 · 475 阅读 · 0 评论 -
利用wsdl生成webservice client
可以利用jdk自带的工具wsimport生成,该工具位于jdk\bin目录下,在命令行里输入如下命令即可生成其中,可以使用wsimport -help查看各参数含义原创 2016-08-03 19:11:08 · 421 阅读 · 0 评论 -
google aviator表达式求值引擎
简介Aviator是一个高性能、轻量级的 java 语言实现的表达式求值引擎, 主要用于各种表达式的动态求值。现在已经有很多开源可用的 java 表达式求值引擎,为什么还需要 Avaitor 呢?Aviator的设计目标是轻量级和高性能,相比于Groovy、JRuby的笨重, Aviator非常小, 加上依赖包也才450K,不算依赖包的话只有 70K; 当然, Aviator的语法是受限的,...转载 2018-11-15 16:52:16 · 9695 阅读 · 0 评论