Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Java对象序列化

Java对象序列化

Java的对象序列化是指将那些实现了Serializable接口的对象转换成一个字符序列,并能够在以后将这个字节序列完全恢复为原来的对象。这一过程甚至可通过网络进行,这意味着序列化机制能自动弥补不同操作系统之间的差异。 只要对象实现了Serializable接口(记住,这个接口只是一个标记接口,不包含任何的方法 如果我们想要序列化一个对象,首先要创建某些OutputStream(如FileOutputStream、ByteArrayOutputStre...
FtpClient中文乱码问题解决

FtpClient中文乱码问题解决

最近在做文件服务器的相关东西,在原有的磁盘存储的基础上,增加了Ftp的存储方式,客户端选用的是Apache的FtpClient。 今天在测试的时候,发现中文的路径后者文件名不支持,查阅了相关资料后终于找到了解决的方法。 使用类: org.apache.commons.net.ftp.FTPClient 问题描述: 创建中文目录、上传中文文件名时,目录名及文件名中的中文显示乱码 解决方法: 在网上Google了一些资料,FTP协议里面...
文件加锁(基于FileChannel)

文件加锁(基于FileChannel)

JDK1.4引入了文件加锁机制。它允许我们同步访问某个作为共享资源的文件。不过,竞争同一文件的两个线程可能在不同的Java虚拟机上,或者一个是Java线程,另一个是操作系统中的其他的某个本地线程。文件加锁对其他的操作系统进程是可见的,因为Java的文件加锁直接映射到了本地操作系统的枷锁工具。 通过对FileChannel调用tryLock()或者lock(),就可以获得整个文件的FileLock。其中tryLock()是非阻塞式的,它设法获得锁,如果不...
输入流InputStream的reset()和mark()方法注意事项

输入流InputStream的reset()和mark()方法注意事项

今天写一个读写程序,运用到InputStream的reset方法是发现竟然失败了,然后查了一下JDK源码,发现BufferInputStream重写了父类FilterInputStream的mark和resetf方法,其有支持 mark 和 reset 方法的能力。而FileInputStream则没有重写父类InputStream的这两个方法,其不具有mark和reset方法的能力。在JDK源码中,写到 public synchronized voi...
Shell变量之自定义变量、环境变量

Shell变量之自定义变量、环境变量

1:环境变量 环境变量可以帮我们达到很多功能~包括家目录的变换啊、提示字符的显示啊、运行文件搜寻的路径啊等等的那么,既然环境变量有那么多的功能,问一下,目前我的 shell 环境中, 有多少默认的环境变量啊?我们可以利用两个命令来查阅,分别是 env 与 export 呢! such as:[root@HadoopHost ~]# export 或者env 常见的环境变量有:HOME代表用户的家目录。还记得我们可以使用 cd ~ 去到自己的家目录吗?...
STL之iterator(迭代器)

STL之iterator(迭代器)

迭代器简介除了使用下标来访问vector对象的元素外,标准库还提供了访问元素的方法:使用迭代器。迭代器是一种检查容器内元素并且遍历元素的数据类型。百科释义:迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上像迭代器的东西都可以叫做迭代器。1.容器的iterator类型每种容器类型都定义了自己的迭代器类型,如vecto...
STL栈与队列的操作

STL栈与队列的操作

栈(statck)这种数据结构在计算机中是相当出名的。栈中的数据是先进后出的(First In Last Out, FILO)。栈只有一个出口,允许新增元素(只能在栈顶上增加)、移出元素(只能移出栈顶元素)、取得栈顶元素等操作。在STL中,栈是以别的容器作为底部结构,再将接口改变,使之符合栈的特性就可以了。使用标准库的栈和队列时,先包含相关的头文件#include<stack>#include<queue>定义栈如下:stack&l...
C++中vector的实现

C++中vector的实现

注意几点:分配内存不要使用new和delete,因为new的同时就把对象构造了,而我们需要的是原始内存。所以应该使用标准库提供的allocator类来实现内存的控制。当然也可以重载operator new操作符,因为二者都是使用malloc作为底层实现,所以直接采用malloc也可以。对象的复制必须使用系统提供的uninitialized_fill和uninitialized_copy,因为我们无法手工调用构造函数。对于C++中的对象,除了POD之外,使用...
<< 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 >>