- 浏览: 257078 次
- 性别:
- 来自: 北京
-
最新评论
-
Nabulio:
厉害
tomcat 源码学习 -
zbz:
例子很简单,可是怎么设置访问账号和密码呢?注释掉的那段不起作用 ...
jmx 实例--最简单的例子 -
zk302:
格式可以优化下
sql-经典例子练习 -
tuspark:
eclipse的访问控制图标,可以看这篇《eclipse的访问 ...
Eclipse(四)常用设置 -
xlshl43:
流比呀。。。但这排版看的有点蛋疼。。。
Java核心代码(二)Class loader
文章列表
JDK8 动态代理,及性能测试
- 博客分类:
- java-base
先说结论:
1,动态代理,继承Proxy,类实现接口。但需要反射。动态代理类,会被缓存。但反射仍慢。
2,100M次性能结果:
testDynamicProxyPerformance=73277 //先newInstance(),再方法的反射调用。
testDynamicProxyFilePerformance=1639 //没有newInstance(),只有方法的反射调用。
testStaticProxyPerformance=38
过程:
1,接口。
package time.river.proxy;
public interface ITa ...
JDK8--JDK6反射性能测试
- 博客分类:
- java-base
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
Effctive Java 笔记
- 博客分类:
- 系统学习(读书笔记)
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)。 ...
http://blog.csdn.net/swpihchj/article/details/8197204
linux sh文件
- 博客分类:
- OS-linux
文件
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:根据不同类型电影,租期长短,计算价格,并输出。写到一个方法了。
可能变化:增加/改变输出样式,电影类型分类可能会变,计费标准会变。
只有优秀的人才能写出人易读的代码。机器永远会理解。
方法/变量名称,是代码清晰的关键。
方法应该放在,它使用的数据所属对象内,这样依赖低。
...
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
- 博客分类:
- OS-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 ...
think_in_java笔记
- 博客分类:
- 系统学习(读书笔记)
1、对象导论
计算机是头脑延伸的工具
抽象:所有编程语言、数学都是抽象。所能解决的问题复杂性,直接取决于抽象的类型和质量。
对象:具有状态(内部数据),方法(在自身上执行操作),标识(内存唯一地址)
对象:每个对象都是服务提供者。
对象:通过引用操作对象。引用的对象。java只有这一种操作方式。
直接常量:200L;10f;0x2f;有时候需要告诉编辑器常量类型
垃圾回收:只与内存有关。GC负责释放对象占用的内存。
finalize:回收之前调用。释放非对象内存。比如本地方法创建的
命名:见名知义、简短( ...
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 ...
自定义注解,及应用
- 博客分类:
- Java-基础-core-code
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
线程独享
- 博客分类:
- Java-Thread
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 ...