Java
windowluffy
这个作者很懒,什么都没留下…
展开
-
指令重排序
指令重排序 对主存的一次访问一般花费硬件的数百次时钟周期。处理器通过缓存(caching)能够从数量级上降低内存延迟的成本这些缓存为了性能重新排列待定内存操作的顺序。也就是说,程序的读写操作不一定会按照它要求处理器的顺序执行。 重排序的背景 我们知道现代CPU的主频越来越高,与cache的交互次数也越来越多。当CPU的计算速度远远超过访问cache时,会产生cache wai转载 2013-05-04 09:21:12 · 682 阅读 · 0 评论 -
Java中的final方法
将方法声明为final那有两个原因,第一就是说明你已经知道这个方法提供的功能已经满足你要求,不需要进行扩展,并且也不允许任何从此类继承的类来覆写这个方法,但是继承仍然可以继承这个方法,也就是说可以直接使用。第二就是允许编译器将所有对此方法的调用转化为inline调用的机制,它会使你在调用final方法时,直接将方法主体插入到调用处,而不是进行例行的方法调用,例如保存断点,压栈等,这样可能会使你的程转载 2013-05-10 21:15:14 · 418 阅读 · 0 评论 -
Java IO流学习总结
转自: http://www.cnblogs.com/oubo/archive/2012/01/06/2394638.html Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,转载 2013-05-11 09:38:50 · 346 阅读 · 0 评论 -
Java 网络编程注意事项
1.结束 //结束标记 bufOut.newLine(); //缓冲刷出 bufOut.flush(); //关闭输出,另外一端不在继续读 socket.shutdownOutput();原创 2013-12-09 23:02:34 · 585 阅读 · 0 评论 -
Java 文本上传
public class TextServer { public static void main(String[] args) throws Exception{ ServerSocket serverSocket = new ServerSocket(10005); Socket socket = serverSocket.accept(); // socke原创 2013-12-09 23:57:05 · 414 阅读 · 0 评论 -
Java内存泄露的理解与解决
Java内存管理机制 在C++语言中,如果需要动态分配一块内存,程序员需要负责这块内存的整个生命周期。从申请分配、到使用、再到最后的释放。这样的过程非常灵活,但是却十分繁琐,程序员很容易由于疏忽而忘记释放内存,从而导致内存的泄露。Java语言对内存管理做了自己的优化,这就是垃圾回收机制。Java的几乎所有内存对象都是在堆内存上分配(基本数据类型除外),然后由GC(garbage coll转载 2013-12-04 09:24:19 · 382 阅读 · 0 评论 -
自定义实现replaceAll功能,不使用replace
@Test public void go(){ String str = "abmecdme"; String oldRP = "c" , newRP ="abc"; int forward = 0; // 源串中,forward 查找下一个oldRP位置 int follow = 0; // 源串中,follow 记录forward的上一个位置[foll原创 2013-12-04 15:39:34 · 796 阅读 · 0 评论