Java和Scala学习日记6

1. Nutz [1]

解析:Nutz是一组轻便小型的框架的集合,可以做MVC、数据库访问、JSON转换、IoC等。如下所示:

(1)轻:当前最新版,整个jar文件共910kB。针对JDBC的薄封装,无缓存。

(2)全:提供了Dao(ORM,SQL管理),Ioc,Aop,Mvc,Json解析等必要功能。

(3)活:各个部分可以独立使用,比如在Spring里采用Nutz.Dao,又比如在Nutz.Ioc里使用Hibernate等。

(4)整:它所有功能均不依赖第三方jar文件。如果一个Web应用,在WEB-INF/lib下只需要放置一个nutz.jar即可。然要使用其它的连接池、数据库驱动、打印PDF支持等功能,还需要自行添置jar包。


2. H2 Database Engine [2]

解析:H2是一个采用Java语言编写的开源嵌入式数据库引擎。。


3. ND4J和ND4S

解析:ND4J和ND4S是JVM的科学计算库,并为生产环境设计,亦即例程运行速度快,RAM要求低。主要特点:

(1)多用途多维数组对象(2)多平台功能,包括GPU(3)线性代数和信号处理功能。


4. Guava
解析:Guava是一种基于开源的Java库。这个库是为了方便编码,并减少编码错误。这个库提供用于集合,缓存,支
持原语,并发性,常见注解,字符串处理,I/O和验证的实用方法。


5. Spring项目

解析:

(1)Spring IO platform:用于系统部署,是可集成的,构建现代化应用的版本平台,具体来说当使用Maven 

Dependency引入Spring JAR包时它就在工作。

(2)Spring Boot:旨在简化创建产品级的Spring应用和服务,简化了配置文件,使用嵌入式Web服务器,含有诸多开箱即用微服务功能,可以和Spring Cloud联合部署。

(3)Spring Framework:即通常所说的Spring框架,是一个开源的Java/Java EE全功能栈应用程序框架,其它

Spring项目,比如Spring Boot也依赖于此框架。

(4)Spring Cloud:微服务工具包,为开发者提供了在分布式系统的配置管理、服务发现、断路器、智能路由、微代理、控制总线等开发工具包。

(5)Spring XD:一种运行时环境(服务器软件,非开发框架),组合Spring技术,比如Spring Batch、

Spring Boot、Spring Data,采集大数据并处理。

(6)Spring Data:一个数据访问及操作的工具包,封装了很多种数据及数据库的访问相关技术,比如,JDBC、

Redis、MongoDB、Neo4j等。

(7)Spring Batch:批处理框架,或说是批量任务执行管理器,功能包括任务调度、日志记录/跟踪等。

(8)Spring Security:一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。

(9)Spring Integration:面向企业应用集成(EAI/ESB)的编程框架,支持的通信方式包括HTTP、FTP、

TCP/UDP、JMS、RabbitMQ、Email等。

(10)Spring Social:一组工具包,一组连接社交服务API,比如Twitter、Facebook、LinkedIn等,有几十个。

(11)Spring AMQP:消息队列操作的工具包,主要是封装了RabbitMQ的操作。

(12)Spring HATEOAS:一个用于支持实现超文本驱动的REST Web服务的开发库。

(13)Spring Mobile:Spring MVC的扩展,用来简化手机上的Web应用开发。

(14)Spring for Android:Spring框架的一个扩展,其主要目的在乎简化Android本地应用的开发,提供

RestTemplate来访问Rest服务。

(15)Spring Web Flow:目标是成为管理Web应用页面流程的最佳方案,将页面跳转流程单独管理,并可配置。

(16)Spring LDAP:一个用于操作LDAP的Java工具包,基于Spring的JDBCTemplate模式,简化LDAP访问。

(17)Spring Session:Session管理的开发工具包,可以把Session保存到Redis等,进行集群化Session管理。

(18)Spring Web Services:基于Spring的Web服务框架,提供SOAP服务开发,允许通过多种方式创建Web服务。

(19)Spring Shell:提供交互式Shell,可使用简单的基于Spring的编程模型来开发命令,比如,Spring Roo命令。

(20)Spring Roo:一种Spring开发的辅助工具,使用命令行操作来生成自动化项目,操作非常类似于Rails。

(21)Spring Scala:为Scala语言编程提供的Spring框架的封装

(22)Spring BlazeDS Integration:开发RIA工具包,可集成Adobe Flex、BlazeDS、Spring及Java技术创建RIA。

(23)Spring Loaded:用于实现Java程序和Web应用的热部署的开源工具。

(24)Spring REST Shell:可以调用Rest服务的命令行工具,敲命令行操作Rest服务。


6. 热部署

解析:在应用正在运行的时候升级软件,却不需要重新启动应用。


7. java.io.File.canRead() 

解析:如果文件可以被读,那么方法返回true。


8. java.io.BufferedReader类

解析:java.io.BufferedReader类从字符输入流中读取文本,缓冲各个字符,从而提供字符,数组和行的高效读取。

(1)BufferedReader(Reader in):创建一个使用默认大小输入缓冲区的缓冲字符输入流。 

(2)BufferedReader(Reader in, int sz):创建一个使用指定大小输入缓冲区的缓冲字符输入流。


9. IDEA中格式化代码快捷键

解析:Ctrl+Alt+L。


10. public static <T> Stream<T> stream(T[] array)

解析:Returns a sequential Stream with the specified array as its source.

(1)Type Parameters: T - The type of the array elements

(2)Parameters: array - The array, assumed to be unmodified during use

(3)Returns: a Stream for the array

(4)Since: 1.8


11. @Before,@Test,@After

解析:

(1)@Before:所有测试方法之前执行这个方法。

(2)@Test:测试方法。

(3)@After:所有测试方法之后执行这个方法。


12. Drools规则引擎

解析:Drools是一个基于Java的开源规则引擎,可以将复杂多变的规则从硬编码中解放出来,以规则脚本的形式存放在文件中,使得规则的变更不需要修正代码重启机器就可以立即在线上环境生效。


13. import java.io.BufferedReader;

解析:BufferedReader从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。比如,

BufferedReader reader = new BufferedReader(new FileReader("small.dic"));     

说明:字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组。字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,所以它对多国语言支持性比较好。


14. AC自动机

解析:AC自动机(Aho-Corasick Automation)算法分为3步:构造一棵Trie树,构造失效指针和模式匹配过程。


15. 全文检索

解析:先建立索引,再对索引进行搜索的过程就叫全文检索(Full-text Search)。全文检索分两个过程,索引创建(Indexing)和搜索索引(Search)。如下所示:

(1)索引创建:将现实世界中所有的结构化和非结构化数据提取信息,创建索引的过程。

(2)搜索索引:根据用户的查询请求,搜索创建的索引,然后返回结果的过程。


16. webapps目录

解析:Web应用程序存放的目录,Web项目保存到此目录中即可发布。


17. HTTP状态码

解析:

(1)1XX:请求已发出。

(2)2XX:处理成功。

(3)3XX:重定向。

(4)4XX:客户端中出现的错误。

(5)5XX:服务器中出现的错误。


18. JFreeChart

解析:JFreeChart是Java平台上的一个开放的图表绘制类库。它完全使用Java语言编写,是为Applications, 

Applets,Servlets以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。


19. EhCache 

解析:EhCache是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。


20. iBatis和MyBatis

解析:iBatis是一个基于Java的持久层框架,它支持定制化SQL、存储过程以及高级映射。现已改名为MyBatis。


21. POJO(Plain Ordinary Java Object)

解析:POJO简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。

说明:PO(Persistant Object);VO(Value Object);DAO(Data Access Object);BO(Business Object)。


22. Velocity和FreeMarker

解析:Velocity和FreeMarker是用Java语言编写的模板引擎。


23. Java.io.IOException: Unable to establish loopback connection

解析:本地防火墙阻止了IO流,关闭本地防火墙。


参考文献:

[1] H2 Database Engine:http://www.h2database.com/html/main.html

[2] Nutz-book Nutz烹调向导:http://nutzbook.wendal.net/

[3] Java.io包:http://www.yiibai.com/java/io/

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页