java相关技术

Guava类库

Guava类库包含了若干被Google的Java项目广泛依赖的核心库。这些高质量的 API 可以使你的JAVa代码更加优雅,更加简洁。

com.google.common.annotations:普通注解类型。 
com.google.common.base:基本工具类库和接口。 
com.google.common.cache:缓存工具包,非常简单易用且功能强大的JVM内缓存。 
com.google.common.collect:带泛型的集合接口扩展和实现,以及工具类,这里你会发现很多好玩的集合。 
com.google.common.eventbus:发布订阅风格的事件总线。 
com.google.common.hash: 哈希工具包。 
com.google.common.io:I/O工具包。 
com.google.common.math:原始算术类型和超大数的运算工具包。 
com.google.common.net:网络工具包。 
com.google.common.primitives:八种原始类型和无符号类型的静态工具包。 
com.google.common.reflect:反射工具包。 
com.google.common.util.concurrent:多线程工具包。

Preconditions类

Guava类库中的参数检查的类–Preconditions类

Digester

Jakarta Struts中的一个工具。事件驱动,可以XML文件转换成相应的Java对象。在apache-tomcat中有应用。jar包:commons-digester.jar


SAAJ(SOAP with Attachments API for JAVA)

SAAJ支持带附件的SOAP消息。


JAXM(Java API for XML Messaging)
是为Java平台上的应用程序定义的API,用以通过XML(以及SOAP)发送和接收消息,支持同步消息和异步消息。

JAXR(Java API for XML Registries)
与多种类型注册服务进行交互的API。JAXR支持三种注册服务类型:JAXR Pluggable Provider、Registry-specific JAXR Provider、JAXR Bridge Provider(支持UDDI Registry和ebXML Registry/Repository等)。

JAXB(Java Architecture for XML Binding)

是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。


JAF(JavaBeans Activation Framework)

JAF是一个专用的数据处理框架,它用于封装数据,并为应用程序提供访问和操作数据的接口。JAF的主要作用在于让java应用程序知道如何对一个数据源进行查看、编辑和打印等操作。实现:activation.jar


CXF

Apache CXF = Celtix + XFire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了。CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services ,像 JAX-WS 。这些 Services 可以支持多种协议,比如:SOAP、XML/HTTP、RESTful HTTP 或者 CORBA ,并且可以在多种传输协议上运行,比如:HTTP、JMS 或者 JBI,CXF 大大简化了 Services 的创建,同时它继承了 XFire 传统,一样可以天然地和 Spring 进行无缝集成。


AXIS(Apache Extensible Interaction System)

阿帕奇可扩展交互系统,Axis本质上就是一个SOAP引擎,提供创建服务器端、客户端和网关SOAP操作的基本框架。


JVM Attach机制

是jvm提供一种jvm进程间通信的能力,能让一个进程传命令给另外一个进程,并让它执行内部的一些操作,比如说我们为了让另外一个jvm进程把线程dump出来,那么我们跑了一个jstack的进程,然后传了个pid的参数,告诉它要哪个进程进行线程dump,既然是两个进程,那肯定涉及到进程间通信,以及传输协议的定义,比如要执行什么操作,传了什么参数等。


Java线程Dump
线程Dump是非常有用的诊断Java应用问题的工具,每一个Java虚拟机都有及时生成显示所有线程在某一点状态的线程Dump的能力。虽然各个Java虚拟机线程dump打印输出格式上略微有一些不同,但是线程dump出来的信息包含线程基本信息;线程的运行状态、标识和调用的堆栈;调用的堆栈包含完整的类名,所执行的方法,如果可能的话还有源代码的行数。


新技术记录

Oauth

一种授权协议。第三方用户可以获得用户的授权,这些“权限”是可控的,而且第三方用户并不需要接触到用户的登录名及密码等敏感信息。

SASL(Simple Authentication and Security Layer)

是一种用来扩充C/S模式验证能力的机制,SASL提供了一个通用的方法为基于连接的协议增加验证支持

SSL(Secure Socket Layer)

为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。

TLS(Transport Layer Security)

安全传输层协议。SSL协议的继任者。用于在两个通信应用程序之间提供保密性和数据完整性。

单点登录

用户只需要登录一次就可以访问所有相互信任的应用系统。因为这些系统之间共享登录凭证

目录服务(Directory Service)

为用户提供各种目录查询的服务形式,例如:AD,DNS等

DAP

目录访问协议,目录服务的访问协议

LDAP

轻量级目录访问协议(一种目录服务的访问协议),支持TCP/IP

X.500

是一种目录服务系统的标准。目录系统包括:目录服务,目录访问协议等

TDD(Test-Driven Development)

测试驱动开发。是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。

BDD(Behavior Driven Development)

行为驱动开发是一种敏捷软件开发的技术,它鼓励软件项目中的开发者、QA和非技术人员或商业参与者之间的协作。主要是从用户的需求出发,强调系统行为。BDD最初是由Dan North在2003年命名,它包括验收测试和客户测试驱动等的极限编程的实践,作为对测试驱动开发的回应。

ATDD(Acceptance Test Driven Development)

验收测试驱动开发

Cucumber

描述的测试用例的支持行为驱动开发(BDD)的自动化测试工具,用Ruby编写。

Hamcrest

一个测试的框架,它提供了一套通用的匹配符Matcher,灵活使用这些匹配符定义的规则,程序员可以更加精确的表达自己的测试思想,指定所想设定的测试条件。支持的语言:Java,Python,Ruby,Objective-C,PHP,Erlang,Swift

ActiveMQ

ActiveMQ是Apache出品,最流行的,能力强劲的开源消息总线。

HotSpot

一种JVM产品,SUN开发

SOA

面向服务的体系结构

LVS(Linux Virtual Server)

一个虚拟的服务器集群系统,1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。

AOM联合格式(Atom Syndication Format)

它是 一种基于XML的超媒体格式。它提供了灵活可扩展的互操作的格式,并且因为基于XML的特点,所以它为跨平台的应用间传递数据提供了很好的支持。

DSL(domain-specific languages)

领域特定语言

Lambda表达式

一种数学表达式

thoughtworks

一家全球软件设计与定制领袖企业。主要通过咨询帮助改善企业的IT组织,改进软件开发方法,以软件带动企业业务发展。

RFID(Radio Frequency Identification)

射频识别技术又称无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。

comet

“服务器推”模型,是一种新的 Web 应用架构

模式识别

一门学科,通过计算机用数学技术方法来研究模式的自动处理和判读。

finalize


CPU超线程

对偶原则

模式识别

聚类分析

主成分分析

隐马尔可夫模型

标识管理体系

DOM,SAX,STAX

知识的树形拓扑结构

知识与知识之间是存在依赖关系的,这种依赖关系可以用树形拓扑结构来描述。计算机最原始最基本的树形拓扑图如下所示:

计算机的所有知识都是建立在物理学(尤其是电学)和数学的基础之上的。物理学支撑了计算机的硬件方面,而数学则支持了计算机的软件方面。

再比如计算机中的HTTP的知识拓扑结构: