小白的博客

追求幸福之旅

ELK搭建详解

Logstash 首先安装JDK 最好是1.8(最新版本)。 安装logstash wget https://download.elastic.co/logstash/logstash/logstash-1.5.4.tar.gz tar zxf logstash-1.5.4.tar.gz -C /usr/local/ 配置logstash的环境变量 echo “export PATH=$...

单例模式

Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例。 单例模式有以下特点: 单例类只能有一个实例。 单例类必须自己创建自己的唯一实例。 单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序...

枚举7种常见用法

原文链接:http://www.iteye.com/topic/1116193 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl…. 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 Java代码 public enum Color { RED, GREEN, BLANK, YELLOW...

Builder模式

先上代码~ public class People { private final String sex; private final String name; private final int id; private final String face; public static class Builder { //必选参数...

静态工厂方法初探

先上代码实例: public class People { private String sex; private People() { } private People(String sex) { this.sex = sex; } private final static People male = new Peo...

虚拟DNS实现实时更换host

起初只是想做到使用Java在运行过程中切换host,刚开始使用HttpClient,用着还挺顺手,后来公司HTTPS迁移,发现很多接口在设置代理ip后无法访问了,输出了响应才明白,原来公司是为域名分发的证书,如果直接用HTTPS访问ip是不可行的。这样可能说不清楚,举个例子: HTTPS://app.api.com.cn/api/test?a=2直接访问自然是没有问题,有时候我们测试时会有...

Java远程调用Linux

添加依赖: <dependency> <groupId>ch.ethz.ganymed</groupId> <artifactId>ganymed-ssh2</artifactId> <version>262</version> </dependency> 示例代码: ...

OSI参考模型

7.应用层 为应用程序提供服务并规定应用程序中通信相关的细节。 6.表示层 将应用处理的信息转换为适合网络传输的格式,或将下一层的数据转换为上一层能处理的格式。简单说就是负责数据转换。 5.会话层 负责建立和断开通信的连接,以及数据的分割等数据传输相关的管理。 4.传输层 起着可靠传输的作用。只在通信双方节点上进行处理,而无需路由进行处理。 3.网络层 将数据传输到目标地址。主要负责...

Java比较器的使用

比较器一般用于对自定义类的比较,比如我自定义了一个Person类,又有一个集合personList的元素全都是这个自定义类的实例person1、person2等,想要使用Collections.sort(personList)对集合进行排序,就需要使用比较器。 Java有两种比较器的实现,Comparable和Comparator。 Comparable 第一种方式,让自定义类实现Com...

Java集合总结

Collection接口 Collection接口是最基本的集合接口,它不提供直接的实现,Java SDK提供的类都是继承自Collection的“子接口”如List和Set。Collection所代表的是一种规则,它所包含的元素都必须遵循一条或者多条规则。如有些允许重复而有些则不能重复、有些必须要按照顺序插入而有些则是散列,有些支持排序但是有些则不支持。 在Java中所有实现了Coll...