0%

在学习 Spring MVC 之前,我们先快速回顾下 Spring,Spring 是 Java 企业软件开发的长期实际标准。它向我们中的许多人介绍了很多概念,例如依赖项注入,面向切面的编程(AOP)以及使用普通的 Java 对象(POJO)进行编程。

Spring 框架是由 Rod Johnson为《Expert One-on-One J2EE Design and Development》一书编写的代码演变而来。编写这本书是为了解释 JEE 中的一些复杂性以及如何克服它们。尽管在新的 JEE 规范中(特别是从 JEE 6 开始)已经解决了 JEE 的许多复杂性和问题,但 Spring 框架仍然非常流行。

阅读全文 »


logstash 版本(6.2)


配置中的 codec 到底是什么

codec 属性用来配置编解码插件,它负责对输入输出的内容表现形式进行处理,插件本质上是个流式过滤器。
以下是常用的插件:

  • json

读取JSON格式的内容,在JSON数组中为每个元素创建一个事件

  • line

从行读取文本数据

  • plain

读取原始内容,不会进行转化

  • rubydebug

将输出打印到 logstash 的事件中

阅读全文 »

在学习 Java8 时发现一些写法真的很优秀,用了就有种回不去的感觉,很好的处理了 Java 代码上的烂味道。

匿名内部类

在任何使用内部类的地方都使用 lamdba表达式 进行重构,比如:

1
2
3
4
5
list.sort(new Comparator<String>() {
public int compare (String o1, String o2) {
return o1.length() - o2.length();
}
});

可以更简洁的写成:

1
list.sort((o1,o2) -> o1.length() - o2.length());
阅读全文 »

Java 8 提供了一个新的 API(称为”流“,Stream),它支持大数据的并行操作,其思路和在数据库查询语言中的思路相似 – 用更高级的方式表达想要的东西,而由”实现“(在这里是 Streams 库)来选择最佳低级执行机制。这样就可以避免用 synchronized 来编写代码,这一行代码不仅容器出错,而且在多核 CPU 上执行所需的成本比想象要高[1]

思想

是函数式编程(functional programming)的一种 Java 实现

强调将计算过程分解成可复用的函数,主要使用 map 方法和 reduce 方法组合而成的 MapReduce 算法,最好的实现 Apache Hadoop

阅读全文 »

了解网络模型的目的

在网络初期,大多数系统都使用专有软件和协议,这些软件和协议仅允许与同一制造商或可以访问这些协议的制造商的其他设备进行通信。 当时,这已不是什么大问题,因为组织会一直从同一制造商那里购买设备,并且没有在组织外部进行通信的真正方法。 但是,随着时间的流逝,这种情况已经改变,现在需要与其他组织拥有的系统进行通信。

其他组织不太可能拥有同一制造商的设备,因此这些设备无法相互通信。 为了解决这个问题,有人要求创建一个标准模型,并公开提供给所有人使用。 成为标准的两个模型如下:

  • 国际标准化组织(ISO)的开放系统互连(OSI)模型
  • TCP / IP 模型
阅读全文 »