`
文章列表
先说结论: 1,动态代理,继承Proxy,类实现接口。但需要反射。动态代理类,会被缓存。但反射仍慢。 2,100M次性能结果: testDynamicProxyPerformance=73277     //先newInstance(),再方法的反射调用。 testDynamicProxyFilePerformance=1639 //没有newInstance(),只有方法的反射调用。 testStaticProxyPerformance=38   过程:   1,接口。   package time.river.proxy; public interface ITa ...
1,jdk8下的测试结果: java.version=1.8.0_91 t1.time=9 t2.time=29 t3.time=2330 t4.time=48287(执行次数为loopCnt/10)   问题1,t1()比t2()多new了1G-1次的对象,为什么比t2还快? 结论1,jdk8下,t3()反射执行方法,比t2()直接调用慢100倍。不过cpu这么快仍然可以接受。但是为什么呢。 还需要转换什么? 结论2,jdk8下,t4()反射寻找方法,更慢,大约是10000倍。原因是查找方法,名称参数都需要字符串比较,JVM应该不会为此建立索引。 import jav ...
http://fine36.blog.163.com/blog/static/18925100520136195521754/
java动态代理,使用代理模式,需要实现接口。只能代理接口方法。 cglib/asm,生成子类,不能增强final类,final方法。   原理:http://www.cnblogs.com/flyoung2008/archive/2013/08/11/3251148.html 测试 :http://www.cnblogs.com/haiq/p/4304615.html
8,重写equals,只适合值类(枚举类除外)         自反性:x.equals(x)==true         对称性: x.equals(y)==true 必然 y.equals(x)==true         传递性: x.equals(y)==true, y.equals(z)==true 必然 x.equals(z)==true         一致性:多次执行结果一直。         问题:无法再扩展可实例化类(写子类)的同时,既增加值组件,又保留equals约定。                  如Piont(x,y),Point3D(x,y,z)。 ...

jstat

http://blog.csdn.net/swpihchj/article/details/8197204

linux sh文件

文件 wnj.sh   for id in `cat /home/wnj/roleId.txt` ; do cat /home/wnj/r.txt | grep "($id" >> /home/wnj/t.txt; done   执行 sh wnj.sh
《Refactoring Improving the design of existing code》--Martin Fowler   chapter-1         例子1:根据不同类型电影,租期长短,计算价格,并输出。写到一个方法了。                 可能变化:增加/改变输出样式,电影类型分类可能会变,计费标准会变。         只有优秀的人才能写出人易读的代码。机器永远会理解。                 方法/变量名称,是代码清晰的关键。                  方法应该放在,它使用的数据所属对象内,这样依赖低。         ...

SSL/TLS

http://rrsongzi-gmail-com.iteye.com/blog/600816   SSL/TLS: 加密:用非对称秘钥交换对称秘钥 完整性:摘要  身份认证:用对方的公钥,解密 数字签名:用自己的私钥加密,对方公钥解密,//不可抵赖   假如现在 Alice 向 Bob 传送数字信息,为了保证信息传送的保密性、真实性、完整性和不可否认性,需要对传送的信息进行数字加密和签名,其传送过程为: 1.Alice 准备好要传送的数字信息(明文); 2.Alice 对数字信息进行哈希运算,得到一个信息摘要; 3.Alice 用自己的私钥对信息摘要进行加密得到 Al ...
/**1、没有包结构(默认包) =============================================================================== */          public class HelloWorldV1 { public static void main(String[] args) { System.out.println("hello world v1 ....."); } }           D:\work\javacmd>javac HelloWorldV1. ...

OOM killer linux

http://www.vpsee.com/2013/10/how-to-configure-the-linux-oom-killer/     http://www.cnblogs.com/itfriend/archive/2011/12/14/2287160.html   其他可选的临时解决方法: 关闭oom-killer cat /proc/sys/vm/oom-killecho "0" > /proc/sys/vm/oom-killvi /etc/sysctl.conf  vm.oom-kill = 0 2. 清空cache (可选)echo ...
1、对象导论     计算机是头脑延伸的工具     抽象:所有编程语言、数学都是抽象。所能解决的问题复杂性,直接取决于抽象的类型和质量。     对象:具有状态(内部数据),方法(在自身上执行操作),标识(内存唯一地址)     对象:每个对象都是服务提供者。     对象:通过引用操作对象。引用的对象。java只有这一种操作方式。     直接常量:200L;10f;0x2f;有时候需要告诉编辑器常量类型     垃圾回收:只与内存有关。GC负责释放对象占用的内存。     finalize:回收之前调用。释放非对象内存。比如本地方法创建的     命名:见名知义、简短( ...

sql 总结

    博客分类:
  • DB
1,将查询结果作为临时表: select * from ( select a.id as id,b.name as name from t_a a, t_b b where a.id=b.id ) as tmp   2,将查询结果插入到目表表: 2.1,表存在 insert into 目表表 select * from 表 where 条件 2.2,表不存在 select * into 目标表 from 表 where 条件   3,应用:N个表关键查询的结果存到t_new insert into t_new select * from ( select a.id ...
http://www.cnblogs.com/peida/archive/2013/04/26/3038503.html http://www.cnblogs.com/peida/archive/2013/04/23/3036035.html http://www.cnblogs.com/peida/archive/2013/04/24/3036689.html

线程独享

http://www.cnblogs.com/peida/archive/2013/05/31/3070790.html   ThreadLocal 线程独享,synchronized 方法独享。   import java.text.ParseException; public class TestSimpleDateFormat { public static class ThreadSafe extends Thread { @Override public void run() { whi ...
Global site tag (gtag.js) - Google Analytics