技术标签: java
我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家。
扫描二维码或搜索下图红色VX号,加VX好友,拉你进【程序员面试学习交流群】免费领取。也欢迎各位一起在群里探讨技术。
推荐文章:Java 面试知识点解析;Mysql优化技巧(数据库设计、命名规范、索引优化
序列化:序列化是将对象转换为字节流。
反序列化:反序列化是将字节流转换为对象。
序列化的用途有:
Java 通过对象输入输出流来实现序列化和反序列化:
java.io.ObjectOutputStream
类的 writeObject()
方法可以实现序列化;java.io.ObjectInputStream
类的 readObject()
方法用于实现反序列化。序列化和反序列化示例:
public class SerializeDemo01 {
enum Sex {
MALE, FEMALE
}
static class Person implements Serializable {
private static final long serialVersionUID = 1L;
private String name = null;
private Integer age = null;
private Sex sex;
public Person() {
System.out.println("call Person()");
}
public Person(String name, Integer age, Sex sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
public String toString() {
return "name: " + this.name + ", age: " + this.age + ", sex: " + this.sex;
}
}
/**
* 序列化
*/
private static void serialize(String filename) throws IOException {
File f = new File(filename); // 定义保存路径
OutputStream out = new FileOutputStream(f); // 文件输出流
ObjectOutputStream oos = new ObjectOutputStream(out); // 对象输出流
oos.writeObject(new Person("Jack", 30, Sex.MALE)); // 保存对象
oos.close();
out.close();
}
/**
* 反序列化
*/
private static void deserialize(String filename) throws IOException, ClassNotFoundException {
File f = new File(filename); // 定义保存路径
InputStream in = new FileInputStream(f); // 文件输入流
ObjectInputStream ois = new ObjectInputStream(in); // 对象输入流
Object obj = ois.readObject(); // 读取对象
ois.close();
in.close();
System.out.println(obj);
}
public static void main(String[] args) throws IOException, ClassNotFoundException {
final String filename = "d:/text.dat";
serialize(filename);
deserialize(filename);
}
}
输出:
name: Jack, age: 30, sex: MALE
被序列化的类必须属于 Enum、Array 和 Serializab
原始的libcap库是不支持发送数据包的,因此,这是属于WinPcap的扩展。使用pcap_sendpacket()发送单个数据包打开适配器以后,调用pcap_sendpacket()来发送手工制作的数据包。pcap_sendpacket()的参数有一个要包涵发送数据的缓冲区,缓冲的长度,以及用来发送数据的适配器。注意,缓冲数据将直接发送到网络,而不会进行任何加工和处理。这就意味着应用程序..._pcap sendpacket
欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/54934782 本文出自:【余志强的博客】Tinker初体验先到Github上下载Tinker源码,里面包含了tinker-sample-android,使用AndroidStudio导入该例子工程即可。导入工程后,运行程序 ,出现..._系统源码禁止tinker插件
private USBBroadCastReceiver mBroadcastReceiver;IntentFilter iFilter = new IntentFilter();iFilter.addAction(Intent.ACTION_MEDIA_EJECT);iFilter.addAction(Intent.ACTION_MEDIA_MOUNTED);iFilter.addAction(..._action_media_eject
铁威马最新TOS 4.1系统更新了一款非常好用的备份软件:傲梅备份。它可以轻松地帮助你备份系统、文件、文件夹、硬盘、分区,一旦电脑发生异常时,你可以轻易地还原系统和数据到正常的状态。1.应用中心下载傲梅备份应用;2.PC端安装傲梅备份;3.打开备份软件;4.选择备份方式,开始备份(以系统备份为例);5.设置任务名称,选择备份盘符,选择备份路径,开始备份;6.如果想设置备份方式...
转自:http://unity3d.9ria.com/?p=2171 200个插件免费分享约5G。【清单如下】2D_Toolkit_1.51 动画开发插件包FingerGestures 触摸插件ORK_Okashi_RPG_Kit Unity3D角色扮演游戏开发工具包uScript-Visual-Scripting-Tool-fo
其实你可以这样想,函数本身只是代码,代码是只读的,无论多少个线程同时调都无所谓(因为只读嘛)。但是函数里面总要用到数据,如果数据属于线程(比如函数参数、局部变量,存在栈上,每个线程都有自己的栈),那么同时调还是没关系,因为用的本线程的数据;但是如果用了一些全局数据,比如全局变量,同时操作一个数据结构(如对一个链表有什么操作),那就不行了,这时候锁就出来了。转自:http://bbs.china_一个线程,怎么同时用两个参数
针对下面几种常用的字符码表ASCII : 美国标准信息交换码,使用7位二进制数来表示所有的大小写字母,数字0~9,标点符号以及在美式英语中使用的特殊控制字符ISO8859-1 : 拉丁码表,兼容ASCII,还包括西欧语言,希腊语,泰语,阿拉伯语等GB2312 : 中文码表,兼容ASCII,每个英文占1个字节,中文占2个字节(2个字节都为负数,最高位都为1)GBK,GB18...
1.介绍慢慢造轮子,在造轮子的过程中学习android相关的原理和设计模式。先开始一步步实现多线程文件断点下载器。这次的多线程文件断点下载器,要实现以下几点: 1. 断点续传,不只是单纯的点个暂停开始,而是在退出重进之后仍然有任务的进度,这个就需要用到数据持久化了。 2. 多任务并行下载,一定数量的任务并行下载,超过额定值的任务暂停等待。 3. 单任务多线程下载,这个需要服务端的支持2.从零开
0110011001101100011000010110011101111011011000110110010100110011011001010011010100110000001100100110001100101101001101000011100001100011001110010010110100110100011001000011010100110000001011010011100100111001001110010011000000101101001101010110001000111000
FlashHelperService.exeFF 新鲜事现在flash强制带flash helper service、开始流氓了FlashHelperService.exe 就是 FF 新鲜事,隶属 Adobe Flash Player 中文插件附带的一个推送软件。查看FlashHelperService属性和服务,是一家“重庆重橙网络科技有限公司”,嚯嚯~~禁用FlashHelperService.exeservices.msc服务中禁用“Flash Helper Service”删除_flashhelperservice.exe
tomcat流程起始 刚开始做项目的时候就觉得tomcat这个东西很神奇,就给项目打一个包就能当一个网站来访问,那时候就产生了一个疑惑,为什么tomcat要用servlet来搭配着使用才行,而且为什么servlet没有主方法就能直接运行出结果来,当时接触java时间并不是很长,对这些问题也没有深究; 然后后来学习springboot的时候就了解到Springboot里面是内置了tomcat的,当时就想tomcat是不是就是用java来写的,于是我就百度了一下,发现tomcat确实是java来写的。_启动完tomcat
首先下载安装包,我都环境是win7 64位:去官网下载 otp_win64_19.0.exe 和rabbitmq-server-3.6.3.exe安装好然后开始编程了:(1)创建生产者类: class Program { private static void Main() { //建立RabbitMQ连接和通道...