分类 Java 下的文章

ELK Stack 是 Elasticsearch、Logstash、Kibana 三个开源软件的组合。在实时数据检索和分析场合,三者通常是配合共用,而且又都先后归于 Elastic.co 公司名下,故有此简称。ELK Stack 在最近两年迅速崛起,成为机器数据分析,或者说实时日志处理领域,开源界的第一选择。

1、LogStash
Logstash是一个可以实时进行日志收集、解析,并将数据传输到你需要的位置(服务器、文件等)的轻量级开源框架。
0f0e2513fdc938af8b76dc78743c761c5a5d4858.png
启动

/logstash -e ‘input { stdin { } } output { stdout {} }’ 

stdin => stdin,通过标准输入输出流来演示简单的Logstash功能

/logstash -f your.conf.path

通过配置文件的方式来启动Logstash,从而实现日志的收集及分析

框架

  • input:支持pull或者push,这个非常有用!

参考

1、Java中的异常处理机制
Java的异常处理是通过5个关键字来实现的:try catch finally throw throws

  • 捕获异常

try:执行可能产生异常的代码,catch:捕获异常,finally:无论是否发生异常,代码总能执行;

  • 抛出异常

throw:手动抛出异常;

  • 声明异常

throws:声明方法可能要抛出的各种异常;

(1)第一种情况

try{
   //代码段(此处不会产生异常)
}catch(异常类型 ex){
   //对异常进行处理的代码段
}    
//代码段(继续执行,如果不加try-catch语句则下面的代码段不执行!)

- 阅读剩余部分 -

1、Java接口详解
关键字interface,类中修饰符(public,private)省略后默认为private;在接口中只能定义为public(默认),接口对外公开,接口中的方法只能声明,不能实现。

public interface PCI {
    //定义方法,只有声明,没有实现!
    public void start();
    public void stop();    
}

接口不能实例化,接口中定义的方法在不同的地方被实现,实现完全不同的行为;接口可以作为一种数据类型来使用:

PCI pci=new SoundPCI();
pci.start();

利用接口实现多态:
1、接口
2、实现该口的实现类
3、定义接口类型,又该实现类为其赋值

- 阅读剩余部分 -

1、Java与OOP之继承

问题:代码存在重复,违背了“write once,only once”,后期维护带来麻烦!——继承。继承的优点:代码复用,有利于后期的维护,它也是多态的前提!
Java不支持多重继承(C++支持)——维护成本大。

2、Java与OOP之Super关键字

创建子类时,首先隐式调用父类的无参构造函数super();,子类不会继承父类的构造方法;所以父类如果已经创建有参构造方法,需要另外添加无参构造方法!

public JavaTeacher(String name,String school){
    /*this.setName(name);
    this.setSchool(school);*/
    super(name,school);
}

方法重写(Override):重写/覆盖父类方法;另外Overload(函数重载)。

- 阅读剩余部分 -

1、Java中的泛型集合运用

此前的ArrayList list=new ArrayList(); HashMap map=new HashMap();
list.add(1); 值类型->引用类型:装箱;
int i=(Integer)list.get(i); 引用类型->值类型:拆箱;
装箱、拆箱效率很低!
如何解决以上问题?——泛型,指定存放类型!

ArrayList<Integer> list=new ArrayList<Integer>();  //指定类型(必须是包装类型)
list.add(1);
int a=list.get(0);         //无需类型转换
System.out.println(a);

- 阅读剩余部分 -