Jason Lee Essay

Only dead fish go with the flow!

Jason Lee Essay

单例模式是开发中使用频率极高的一个模式,比如Spring的bean默认就是单例的。

概念

单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

单例模式有一下特点:

  1. 单例类只有一个实例。
  2. 单例类必须自己创建自己的唯一实例。
  3. 单例类必须给所有其他对象提供这一实例。

实现方式

一般意义上来讲单例模式有两种实现方式,懒汉模式和饿汉模式。

饿汉模式

1
2
3
4
5
6
7
public class Singleton {  
private static Singleton instance = new Singleton();
private Singleton (){}
public static Singleton getInstance() {
return instance;
}
}
阅读全文 »

服务器部署Jenkins后,首次使用文件中的密码进入系统。

1
${home}/.jenkins/secrets/initialAdminPassword

然后选择安装默认插件,成功后配置了一个admin账户test/test。完成后重启服务器后重新登录系统,发现无法登录了?尴了个尬!!!

求助伟大的google,找到了解决办法:

阅读全文 »

项目源代码在:Spring-H2测试

H2简介

H2数据库是一种由Java编写的,极小,速度极快,可嵌入式的数据库。非常适合用在单元测试等数据不需要保存的场景下面。
以下时其官网的介绍:

Welcome to H2, the Java SQL database. The main features of H2 are:
Very fast, open source, JDBC API
Embedded and server modes; in-memory databases
Browser based Console application
Small footprint: around 1.5 MB jar file size

spring-data直连测试

我们使用的maven工程来搭建测试环境,工程目录如下:

代码里面数据库映射使用了spring-data 和 Hibernate实现,方便实现,避免自己写sql。

阅读全文 »

相同点:

  1. 两者都能做到注入一个Bean.
  2. 两者都可应用在Field和Method上面。
  3. 两者均为Runtime级别的Retention。
    阅读全文 »

Java 排序Comparable和Comparator使用

java提供了两个排序用的接口Comparable和Comparator,一般情况下使用区别如下:

  1. Comparable 接口用于类的固定排序方式上面,比如类实现Comparable接口,实现compareTo方法,
    做为类默认排序实现。
  2. Comprator接口通常用于特殊场景下面的排序方式,比如学生成绩在计算过程中需要按照不同科目排序一样。

无论实现哪个接口,都可以使用Collections.sort方法对集合或者数组进行排序。

1
2
3
4
5
6
7
8
public class Collections {
public static <T extends Comparable<? super T>> void sort(List<T> list) {
list.sort(null);
}
public static <T> void sort(List<T> list, Comparator<? super T> c) {
list.sort(c);
}
}
阅读全文 »

通过hexo本地编写博客文件,github做远程仓库保存,travis-ci做集成服务.

  1. 开通GitHub账号,创建目标库
  2. 配置本地NodeJs,Hexo,git环境
  3. 初始化Hexo博客库
  4. 开通GitPages服务
  5. 添加Travis-CI服务

1.开通GitHub账号

自行搜索把,已注册用户跳过。

创建一个Respository。

2.配置本地的Nodejs,Hexo,git环境

本人使用的是linux环境,装机自带git。没有的可以通过apt安装

1
$ sudo apt install git

git安装完成后推荐使用github的ssh通道上传下载代码,操作方便简单。
nodejs 可以自行下载配置也可以使用apt安装,不过鉴于npm官方库国内访问较慢,推荐使用阿里云镜像加速,npm阿里云镜像配置

node和git都配置好以后,

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

0%