Do not stop coding!!!

学习不止,码不停蹄!

《Effective Java》第4条:通过私有构造器强化不可实例化的能力

在实际的搬砖过程中,我们经常会写一些方便我们工作的工具类,一般来讲这类工具类是不希望被实例化的,因为实例对他们来讲没有任何的意义,毕竟它们不存储任何的数据。不提供构造器这应该是我们编写工具类的时候最常见的了,因为不需要实例化,所以我们一般都懒得去编写构造方法,但是我们忽略了编译器会为其提供一个默认的无参构造器,对于用户而言这个构造器和其他构造器没有任何区别。而且我们会发现在实际编码中我们有时......

《Effective Java》第3条:用私有构造器或者枚举类型强化Singleton属性

实现单例模式的几种方法书中一共提到了三种创建单例模式的方法:静态成员变量静态工厂方法单元素枚举其中前面两种也是我们经常使用的,书中也分析了这几种方式各自的优劣,下面我们就分别来看一下:静态成员变量12345678910public class Elvis01 { public static final Elvis01 INSTANCE = new Elvis01(); ......

《Effective Java》第2条:遇到多个构造器参数时要考虑用构建器

我们构建一个对象的几种方式构造器静态工厂方法构建器在书中提到了当我们遇到了大量的可选参数时,获取对象实例的几种方式(重叠构造方法,无参构造器配合JavaBean的setter方法,构建器),书中也分别列出了使用这几种方式的优劣之处。重叠构造器我们这里也以一个实际的例子入手,我们当前有一个用户类如下:12345678910111213141516171819202122232425262728......

《Effective Java》第1条:考虑静态工厂方法代替构造器

书中从优缺两个方面来阐述了静态工厂方法,也提到了静态工厂方法的应用场景,比如服务提供者框架,我也去看了一下JDBC的源码来帮助我理解服务提供者框架的概念,在这里也通过这篇文章分享给大家。四大优势优势一,对与构造方法而言,静态工场方法有名字当一个类的构造方法种类繁多而且参数复杂的话,静态工厂方法的名字可以用来准确的描述返回的实例的特性,拥有比较好的可读性。优势二,不必在每次调用的时候都返回一个......

在Ubuntu上安装Hadoop单机版

前置条件Java7以上的Java环境,可以查看之前的博文安装,Ubuntu安装JDK1.8。ssh,这个ubuntu自带就有,无需单独安装。hadoop包,可以到官网下载。安装Hadoop前置说明文中的hadoop压缩包存放位置为~/apps/hadoop/hadoop-2.8.5.tar.gz,解压后的hadoop地址为~/apps/hadoop/hadoop-2.8.5。解压hadoop......

在Docker中运行SpringBoot程序

微服务现在在互联网公司可谓非常流行了,之前找工作的的时候很多HR电话约面试的时候都会问对微服务是否有过接触。而微服务和Docker可以非常完美的结合,更加方便的实现微服务架构的落地。作为微服务中的代表SpringBoot框架,今天我们就来了解一下如何在Docker容器中运行一个SpringBoot应用。创建SpringBoot程序在这篇文章中我们将在Docker容器中运行一个简单的Sprin......

在Ubuntu上安装Docker

基础准备1、查看内核12root@VM-71-179-ubuntu:/# uname -aroot@VM-71-179-ubuntu:/# Linux VM-71-179-ubuntu 4.4.0-53-generic #74-Ubuntu SMP Fri Dec 2 15:59:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux这里看到的内核是4.4.0-......

在Ubuntu上安装JDK1.8

1、在oracle官网下载需要的java版本,我这里下载的jdk-8u181-linux-x64.tar.gz。2、使用xftp或者wincp等工具,将下载好的jdk压缩包拷贝至linux中,我这里拷贝到了/usr/java/目录下。3、解压jdk压缩包。1tar -xvf jdk-8u181-linux-x64.tar.gz4、配置环境变量1vim /etc/profile在后面加入以下内......

Linux配置SSH免密登录登录

生成公钥和密钥1、我这边使用的是XShell来生成公钥和密钥,如下图,选择“工具”-“新建用户密钥生成向导”,可以选择密钥的类型(我选择的是RSA)和密钥的长度。2、处于安全考虑,我们一般会给密钥设置一个加密的密码,在使用该密钥文件的时候会要求输入密码。3、下面会产生公钥,建议将其保存为文件。4、点击“完成”,即可完成公钥和密钥的创建,最后可将密钥导出。服务器端的配置1、执行以下几句命令,将......