0%

java反序列化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/*
* @Author: harry
* @Date: 2021-11-04 19:09:14
* @LastEditTime: 2021-11-04 19:22:01
* @LastEditors: harry
* @Description: edited by harry
* @FilePath: /java_tmp/un_serializaable.java
* @E-mail: lycshub@gmail.com
*/
import java.io.*;

//定义一个可序列化的类,该类必须实现 java.io.Serializable 接口
class CanSerializable implements java.io.Serializable {
public String first_name;
public String last_name;

public void sayhello() {
System.out.println(this.first_name + " " + this.last_name);
}

// 自定义 readObject 方法
private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException {
// 执行默认的readObject()方法
in.defaultReadObject();

// 执行命令,windows弹计算机我就弹个spotify吧
Runtime.getRuntime().exec("spotify");
}
}

// 序列化/反序列化
public class un_serializaable {
public static void main(String[] args) throws IOException, ClassNotFoundException {
// 实例化一个可序列化对象
CanSerializable testClass = new CanSerializable();
testClass.first_name = "harry";
testClass.last_name = "smith";

// 序列化
// 将序列化后的对象写入到文件
FileOutputStream fos = new FileOutputStream("test.ser");
ObjectOutputStream os = new ObjectOutputStream(fos);
os.writeObject(testClass);
os.close();
fos.close();

// 反序列化
CanSerializable obj = null;
// 从文件读取序列化的结果后进行反序列化
FileInputStream fis = new FileInputStream("test.ser");
ObjectInputStream ois = new ObjectInputStream(fis);
obj = (CanSerializable) ois.readObject();
ois.close();
fis.close();

System.out.println(obj.first_name);
System.out.println(obj.last_name);
}
}

反序列化必须有两个条件:

  1. 该类必须实现 java.io.Serializable 接口
  2. 该类的所有属性必须是可序列化的

windows弹个计算器,我就弹个spotify吧

Read more »

部署hexo+stun

用Github Pages + Hexo折腾个博客玩

踩了几个坑,Github page那踩了一个(仓库名是github用户名.github.io),npm的时候踩了一个

部署流程

  1. 环境准备,需要有node,git环境(并且配好ssh-key)

  2. 安装hexo sudo npm install -g hexo-cli

    除这之外都不能全局安装

  3. 初始化hexo hexo init LycsBlog

  4. 导航到博客目录cd LycsBlog

  5. 安装依赖sudo npm install --registry https://registry.npm.taobao.org

  6. 自动部署插件sudo npm install hexo-deployer-git --save

  7. 配置下_config.ymldeploy参数,仓库地址和type 配置官网

  8. 根据这个stun主题的安装进行配置

  • 常用hexo命令

    1
    2
    3
    4
    5
    hexo clean # 清理
    hexo g # 生成静态文件
    hexo s # 启动本地服务器
    hexo d # 部署到github仓库
    hexo new 'title' # 新建博文,会在source/_posts/生成一个md

好了,第一篇就水玩了,重新启用了以前没换系统前在windows在gitee上搞得图床,整个图