08 2016 档案

摘要:一、早期(编译器)优化 语法糖 c#和java的泛型截然不同看似相同,c#是真实的泛型 编译运行一直存在 List<string> 和List<int> 就完全是两个类 而Java中 是伪泛型采用类型擦除的方法实现泛型 List<Integer> List<String> 运行期就是同一个类 编译期 阅读全文
posted @ 2016-08-17 21:02 丨核桃牛奶 阅读(126) 评论(0) 推荐(0)
摘要:code from 《Thinking in java》 代理模式 interface Interface { void doSomething(); void somethingElse(String arg); } class RealObject implements Interface { 阅读全文
posted @ 2016-08-15 15:31 丨核桃牛奶 阅读(137) 评论(0) 推荐(0)
摘要:一、JAVA运行时的数据区 程序计数器:可以看做是当前线程所执行的字节码的行号指示器,为了线程切换后能恢复到正确的执行位置 线程私有 除了此区域其他区域都会发生OutOfMemoryError JAVA虚拟机栈 线程私有 生命周期与线程相同 每个方法执行的时候都会创建一个栈帧用于存储局部变量表(基本 阅读全文
posted @ 2016-08-12 09:41 丨核桃牛奶 阅读(238) 评论(0) 推荐(0)
摘要:之前一直不是很理解算法的稳定性,最近看书有所感悟,一个算法如果是不稳定的那么无法根据两个属性去排序,比如说学生的年龄和学号排序,先去排年龄,再去排学号,如果算法是不稳定的那么,第一次排序的结果会被第二次打乱从而达不到目的。 所谓不稳定的排序,私以为就是那种存在大距离swap的排序函数,比如上表中几种 阅读全文
posted @ 2016-08-09 13:57 丨核桃牛奶 阅读(157) 评论(0) 推荐(0)
摘要:从性能上看 如果没有任务会阻塞 那么在单处理器的机器人使用并发就没有任何意义 (需要上下文切换 时间反而长) 进程是运行在他自己地址空间的自包容的程序 协作多线程与抢占式多线程 想要定义任务需要实现Runnable接口并编写run方法 将任务转变为工作任务的方法是将它交给一个Thread构造器 Th 阅读全文
posted @ 2016-08-02 09:30 丨核桃牛奶 阅读(133) 评论(0) 推荐(0)
摘要:JAVA I/O 最重要的就是五个类和一个接口 File OutputStream InputStream Writer Reader 一个接口Serializable out.write(byte[]) 将byte数组内容写到文件中 //out FileOutputStream in.read(b 阅读全文
posted @ 2016-08-01 17:03 丨核桃牛奶 阅读(172) 评论(0) 推荐(0)