java 存储只拥有基本数据类型字段的对象

AUTHOR: Locez
VERSION: 1

有时候我们需要存储一个 Java 对象的信息,以便软件在下次打开的时候还能获取到原来的属性。通常在这种情况下,我们可以实现接口 Serializable 对该类的对象进行序列化,并用 ObjectOutputStream 将对象写入文件,那么下次就可以从文件中把这个对象读取出来。但是序列化有一个问题就是静态成员不能被序列化,因为序列化是保存的对象的信息,静态成员理论上是属于类信息,因此无法采用序列化保存。

以下是我在作业过程中遇到的题目,要求将字段属性存入到文件中,然后能从文件中读取出来。于是我使用了 泛型反射,将这两个方法写成通用的了。

1
2
public static <T> void saveFields(T t, String path, char separated)
public static <T> void getFields(T t, String path, char separated)

Read More

Docker 快速入门之 Dockerfile

AUTHOR: Locez
VERSION: 1

docker
在之前的文章中我们提到可以通过容器创建一个我们自定义过的镜像,那么我们是否可以直接通过基础的镜像直接自定义镜像呢?答案当然是可以的,在 Docker 中我们可以从名为 Dockerfile 的文件中读取指令并且自动构建镜像。在本文中,将介绍 Dockerfile 的基本语法以及基本知识。

1 Dockerfile 是什么?


Dockerfile 其实是一份文本文档,里面包含了用户可以用来操作镜像的一些指令。通过顺序执行这些指令,最后得到一个自定义的镜像,这有点类似于我们的 shell script

Read More

Docker 快速入门

AUTHOR: Locez
VERSION: 1

docker

1 Docker 是什么?


Docker 是一个开源的容器引擎,而一个容器其实是一个虚拟化的独立的环境,因此开发者可以将应用打包到这样的一个 docker 容器中,然后发布到任何可以运行 docker 容器的机器中,实现一次打包多处部署,解决了因为环境问题而导致的部署难题。

1.1 容器是什么?


容器 对应的一个概念就是 镜像,镜像可以看做我们平时装系统的镜像,里面就是一个运行环境。当然我比较喜欢将镜像比作一个我们面向对象编程中的 ,而一个容器就是一个类的 实例,因此可以根据一个镜像,创建出很多个容器,每一个容器都是具体的,我们可以在容器上面做出更改,然后再把这个容器打包成一个新的镜像,从而以后可以根据改动后的镜像创建出新的容器。而容器本身可以简单理解为是一个虚拟独立的运行环境,我们要做的是中这个环境中打包我们的应用,以便于再次部署。

Read More

Hadoop 集群安装与配置

AUTHOR: Locez
VERSION: 1

hadoop

1 Hadoop 是什么?


Apache Hadoop 是一个支持数据密集型分布式应用程序的开源软件框架,能在大型集群上运行应用程序。Hadoop 框架实现了 MapReduce 编程范式,把应用程序分成许多小部分,每个部分能在任意节点上运行。并且 Hadoop 提供了分布式文件系统存储所有计算节点的数据,为集群带来非常高的带宽。

Read More

虚拟机与双系统的区别与比较

AUTHOR: Locez
VERSION: 1

最近发现有许多同学对虚拟机以及双系统安装 Linux 系统存有疑惑,于是有人建议我写一个基础入门篇的扩展,其实就我个人看法而言,这些知识点可以从网上找到,其实也没有太大的必要重写,只不过为了方便初入门的同学,还是答应写写吧。在这篇文章里将会对两者的进行简单的介绍以及对比。

Read More

Linux 上 10 个最好的 Markdown 编辑器

在这篇文章中,我们会点评一些可以在 Linux 上安装使用的最好的 Markdown 编辑器。 你可以找到非常多的 Linux 平台上的 Markdown 编辑器,但是在这里我们将尽可能地为您推荐那些最好的。

Best Linux Markdown Editors

对于不了解 Markdown 的人做个简单介绍,Markdown 是由著名的 Aaron Swartz 和 John Gruber 发明的标记语言,其最初的解析器是一个用 Perl 写的简单、轻量的同名工具。它可以将用户写的纯文本转为可用的 HTML(或 XHTML)。它实际上是一门易读,易写的纯文本语言,以及一个用于将文本转为 HTML 的转换工具。

希望你先对 Markdown 有一个稍微的了解,接下来让我们逐一列出这些编辑器。

Read More

推荐新手使用 Arch Linux 入门

AUTHOR: Locez
VERSION: 1

Arch Linux
就前面的几篇文章来说,我一直是以 Ubuntu 与 Fedora 作为新手入门的系统,但是其实我真正想推荐的是 Arch ,经过前面的学习,或许你对 Linux 已经有了一个大致的了解,现在如果你想加速你的步伐,也许可以看看本文。如果要问为什么学习 Linux ,我也只能回答 Just for fun 。
本文基本上是我个人见解,有不正确的地方恳请批评指正,另外本文只是推荐 Arch ,并没有说 Arch 是最适合新手的。

Read More

java 实现简单的 ATM 类

首先自己也很久没有写 java ,最近给别人出了一道 java 的题目,要求也就是实现一个简单的 ATM ,当作复习,我也自己写了一个这样的 ATM 类。

  • 需要验证密码
  • 查询功能
  • 存款功能
  • 转载功能

真的 ATM 使用 6 位的数字密码,但我自己做的使用了 String ,其中一个原因是考虑到 Stringequals 方法的运用。当然为了测试,我也增加了一些自己的想法,例如缓存一个 instance 来模拟转帐操作。下面的代码,基本逻辑算是非常简单的(因此注释什么的我也没写了),但还是可以继续优化,例如判断输入是否符合 intString ,此处我只是给出一个简单的答案而已。

Read More

新手指南: 新手应该知道的 26 个命令

AUTHOR: Locez
VERSION: 1


当你进入了 Linux 的世界,在下载、安装 了某个 Linux 发行版,体验了 Linux 桌面并安装了一些你喜爱和需要的 软件 之后,应该去了解下 Linux 真正的魅力所在:命令行 。每一个命令其实就是一个程序,借助这些命令,我们可以办到非常多的事情。下面将会为大家介绍一下几个常用的命令。

Read More