大数运算大数运算的实现方法主要有下面几种:1)用字符串表示大数。将大数用十进制字符数组表示,然后依照“竖式计算”的思想进行计算。这样的方法比較easy理解,可是计算效率非常低。2)将大数看成二进制流进行处理。使用各种位运算和逻辑操作来实现打算的运算。该方法设计复杂,可读性较差,并且难以调试。3)将大...
分类:
其他好文 时间:
2014-11-07 09:51:54
阅读次数:
459
在序列化的问题域里面有一个常见的问题,就是反序列化时用何种方式来创建Java对象,因为反序列化的目的是把一段二进制流转化成一个对象。
在Java里面创建对象有几种方式:
1. 显式地调用new语句, 比如 DemoClass demo = new DemoClass()
2. 利用反射机制,通过Class对象的newInstance()方法,比如DemoClass demo = DemoCl...
分类:
编程语言 时间:
2014-11-05 14:57:32
阅读次数:
296
memcached和redis相同点:都是以键值对的形式来存储数据,通俗讲就是一个大的hashtable缓存数据都是存在内容中 key-value不同点:memcached:1、一个key所对应的值必须要通过客户端序列化成二进制流存储 byte[](缺点,由于序列化反序列化消耗CPU比较大)2、一个...
分类:
系统相关 时间:
2014-11-05 00:20:10
阅读次数:
241
大家都知道Serializable是一个mark interface,告诉JVM这个对象可以被转换成二进制流来传输.
但是Serializable与Externalizable的转换二进制流的过程是不一样的.
Serializable 在我们实现这个接口的时候,我们可以使用4个私有方法来控制序列化的过程:
我们来看一个例子:
Java代码
pub...
分类:
其他好文 时间:
2014-10-31 15:42:05
阅读次数:
171
定义: 对象序列化目标是将对象保存在磁盘中,允许在网络中直接传输对象。序列化机制把内存中的java对象转化成与平台无关的二进制流,从而可以把这种二进制流永久的保存在磁盘上,通过网络把二进制流传送到另一个网络节点,其他程序一旦获得了二进制流,不管是从磁盘还是网络获取的,都可以将此转换成java对象。....
分类:
编程语言 时间:
2014-10-30 22:22:00
阅读次数:
241
java的io流相关的类实在是“太丰富”了,搞得有选择困难症的人有点无从下手。当然本菜鸟对java的io也是了解的不是很清楚,习惯用InputStrem,OutSteam的相关子类来处理二进制流如图片,用Reader,Writer相关的子类处理字符流如文本文件。为了提高效率使用了缓冲机制等。感觉缓冲...
分类:
其他好文 时间:
2014-10-28 00:36:24
阅读次数:
168
在工作中,我也逐渐了解到pack,unpack,ord对于二进制字节处理的强大。 下面我逐一介绍它们。在我们工作中,用到它们的估计不多。 我在最近一个工作中,因为通讯需要用到二进制流,然后接口用php接收。当时在处理时候,查阅不少资料。因为它们使用确实比较少,也很少朋友工作中会用到它们。 在工作中,...
分类:
Web程序 时间:
2014-10-24 14:18:12
阅读次数:
233
大数运算大数运算的实现方法主要有下面几种:1)用字符串表示大数。将大数用十进制字符数组表示,然后依照“竖式计算”的思想进行计算。这样的方法比較easy理解,可是计算效率非常低。2)将大数看成二进制流进行处理。使用各种位运算和逻辑操作来实现打算的运算。该方法设计复杂,可读性较差,并且难以调试。3)将大...
分类:
其他好文 时间:
2014-10-09 20:28:27
阅读次数:
236
大数运算大数运算的实现方法主要有下面几种:1)用字符串表示大数。将大数用十进制字符数组表示,然后依照“竖式计算”的思想进行计算。这样的方法比較easy理解,可是计算效率非常低。2)将大数看成二进制流进行处理。使用各种位运算和逻辑操作来实现打算的运算。该方法设计复杂,可读性较差,并且难以调试。3)将大...
分类:
其他好文 时间:
2014-10-03 17:20:44
阅读次数:
330
在工作中,我也逐渐了解到park,unpark,ord对于二进制字节处理的强大。 下面我逐一介绍它们。
park,unpark,ord这3个函数,在我们工作中,用到它们的估计不多。 我在最近一个工作中,因为通讯需要用到二进制流,然后接口用php接收。当时在处理时候,查阅不少资料。因为它...
分类:
Web程序 时间:
2014-09-24 22:38:17
阅读次数:
260