Linux下NAT转发的三条命令

linux记录:

-i为入口,-s为源IP,-o为出口。 继续阅读

《Java编程思想》读书笔记——Java I/O系统

Java编程思想序列化的控制

默认的序列化机制并不难操纵。然而,如果有特殊的需要那又该怎么办呢?例如,也许要考虑特殊的安全问题,而且你不希望对象的某一部分被序列化;或者一个对象被还原后,某子对象需要重新创建,从而不必将该子对象序列化。

在这些特殊情况下,可通过实现Externalizable接口——代替实现Serializable接口——来对序列化过程进行控制。这个Externalizable接口继承了Serializable接口,同时增添了两个方法:writeExternal()和readExternal()。这两个方法会在序列化和反序列化还原的过程中被自动调用,以便执行一些特殊操作。 继续阅读

《Java编程思想》读书笔记——泛型

Java编程思想简单泛型

有许多原因促成了泛型的出现,而最引人注目的一个原因,就是为了创造容器类。

一个只能持有单个对象的类,这个类可以明确指定其特有的对象类型。

不过,这个类的可重用性就不怎么样了,它无法持有其他类型的任何对象。 继续阅读

《代码的未来》读书笔记——多核时代的编程

代码的未来什么也不用考虑,随着时间的推移CPU自然会变得越来越快,这样的趋势也快要接近极限了。长期以来,软件开发者一直受到硬件进步的恩惠,即便不进行任何优化,随着计算机的更新换代,同样的价格所能够买到的性能也越来越高。不过,现在即便换了新的计算机,有时也并不能带来直接的性能提升。要想提升性能,则必须要积极运用多核以及CPU的新特性。

最近,GPGPU(General Purpose GPU,即将GPU用于图形处理之外的通用编程)受到了越来越多的关注,由于GPU与传统CPU的计算模型有着本质的区别,因此需要采用专门的编程技术。 继续阅读