排序与我们日常生活中息息相关,比如,我们要从电话簿中找到某个联系人首先会按照姓氏排序、买火车票会按照出发时间或者时长排序、买东西会按照销量或者好评度排序、查找文件会按照修改时间排序等等。
设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。本文将介绍23种设计模式。课程入口设计模式的六大原则设计模式的学习,可以增强自己的代码复用意识。同时,也可以清晰地表达自己的编程思路。
Guava 工程包含了若干被 Google 的 Java 项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。 所有这些工具每天都在被 Google 的工程师应用在产品服务中。
JNI 是 Java 语言提供的 Java 和 C/C++ 相互沟通的机制,Java 可以通过 JNI 调用本地的 C/C++ 代码,本地的 C/C++ 的代码也可以调用 Java 代码。JNI 是本地编程接口,Java 和 C/C++ 互相通过的接口。Java 通过 C/C++ 使用本地的代码的一个关键性原因在于 C/C++ 代码的高效性。 代码和其他语言写的代码进行交互。NDK 是一系列工具的集合。
Log4j 是 Apache 的一个开放源代码项目,通过使用 Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI 组件、甚至是套接口服务器、NT 的事件记录器、UNIX Syslog 守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。
Swing 是一个用于开发 Java 应用程序用户界面的开发工具包。以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing 开发人员只用很少的代码就可以利用 Swing 丰富、灵活的功能和模块化组件来创建优雅的用户界面。 工具包中所有的包都是以 swing 作为名称,例如 javax.swing,javax.swing.event。课程入口
Maven 是一个采用纯 Java 编写的开 源项目管理工具。Maven 采用了一种被称之为 project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做 POM.xml 的文件中,通过该文件,Maven 可以管理项目的整个声明周期,包括编 译,构建,测试,发布,报告等等。目前 Apache 下绝大多数项目都已经采用 Maven 进行管理。
对 TCP/IP、UDP、Socket 编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:什么是 TCP/IP、UDP?Socket 在哪里呢?Socket 是什么呢?你会使用它们吗?下面让我们一步步解答这些问题课程入口
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生 Map 使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录。课程入口更多参考材料:《Mybatis 实战教程》
JDBC 是我们使用 JAVA 程序操作数据库的工具。Java Data Base Connectivity——Java 数据库连接是一种用于执行 SQL 语句的 Java API,可以为多种关系数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成我们想用 Java 程序操作数据库, 就需要使用数据库的驱动。由于每种数据库存储数据的方式不同, 他们所提供的数据库驱动也就不同。
MySQL 是一种快速易用的 RDBMS,很多企业(不分规模大小)都在使用它来构建自己的数据库。MySQL 由一家瑞典公司 MySQL AB 开发、运营并予以支持。它之所以非常流行,原因在于具备以下这些优点:基于开源许可发布,无需付费即可使用。自身的功能非常强大,足以匹敌绝大多数功能强大但却价格昂贵的数据库软件。使用业内所熟悉的标准SQL数据库语言。
结构化查询语言(Structured Query Language)简称 SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。小知识点:SQL 是一种编程语言,SQL Server 是微软推出的关系型数据管理系统。课程入口
Junit 目前在一些大的公司或者相对规范的软件中使用的比较多,相当多的小公司并没有把单元测试看的太重要。
“能工摹形,巧匠窃意。”—— 巴勃罗·毕加索开发属于自己的框架并非遥不可及的事情,只要你有心,就可以站在巨人的肩膀上,做出属于自己的框架,Mr OR Mrs 框架。注意:前方高能,需要领悟思想。课程入口
Apache Shiro 是一个强大易用的 Java 安全框架,提供了认证、授权、加密和会话管理等功能: 认证 - 用户身份识别,常被称为用户“登录”;授权 - 访问控制;密码加密 - 保护或隐藏数据防止被偷窥;会话管理 - 每用户相关的时间敏感的状态。对于任何一个应用程序,Shiro 都可以提供全面的安全管理服务。并且相对于其他安全框架,Shiro 要简单的多。课程入口
Spring Security 是一个能够为基于 Spring 的企业应用系统提供声明式的安全访问控制解决方案的安全框架。
Disruptor 是一个高性能的异步处理框架,或者可以认为是最快的消息框架(轻量的 JMS),也可以认为是一个观察者模式实现,或者事件-监听模式的实现,直接称 disruptor 模式。disruptor 最大特点是高性能,其 LMAX 架构可以获得每秒 6 百万订单,用 1 微秒的延迟获得吞吐量为 100K+。想要了解 Disruptor 为什么这么快吗?请看:课程入口
1.Netty 是什么?Netty 是一个基于 JAVA NIO 类库的异步通信框架,它的架构特点是:异步非阻塞、基于事件驱动、高性能、高可靠性和高可定制性。2.使用 Netty 能够做什么?开发异步、非阻塞的 TCP 网络应用程序;开发异步、非阻塞的 UDP 网络应用程序;开发异步文件传输应用程序;开发异步 HTTP 服务端和客户端应用程序;
小知识:SSH 其实是 Secure Shell 的缩写,SSH 为建立在应用层和传输层基础上的安全协议。SSH 框架为 struts+spring+hibernate 的一个集成框架,是目前较流行的一种Web应用程序开源框架。后者太过流行而导致目前人们提及 SSH 就想到它是一个集成框架。下图是 SSH 框架的系统架构图本书从综合应用的角度给你讲述不一样的 SSH 开发之路。课程入口
Hibernate 是一个高性能的对象/关系型持久化存储和查询的服务,其遵循开源的 GNU Lesser General Public License (LGPL) 而且可以免费下载。Hibernate 不仅关注于从 Java 类到数据库表的映射(也有 Java 数据类型到 SQL 数据类型的映射),另外也提供了数据查询和检索服务。
关注时代Java