设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。本文将介绍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 是一系列工具的集合。
对 TCP/IP、UDP、Socket 编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:什么是 TCP/IP、UDP?Socket 在哪里呢?Socket 是什么呢?你会使用它们吗?下面让我们一步步解答这些问题课程入口
JDBC 是我们使用 JAVA 程序操作数据库的工具。Java Data Base Connectivity——Java 数据库连接是一种用于执行 SQL 语句的 Java API,可以为多种关系数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成我们想用 Java 程序操作数据库, 就需要使用数据库的驱动。由于每种数据库存储数据的方式不同, 他们所提供的数据库驱动也就不同。
结构化查询语言(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 开发之路。课程入口
Tomcat 是由 Apache 软件基金会下属的 Jakarta 项目开发的一个 Servlet 容器,按照 Sun Microsystems 提供的技术规范开发出来,Tomcat 8 实现了对 Servlet 3.1 和 JavaServer Page 2.3(JSP)的支持,并提供了作为 Web 服务器的一些特有功能,如 Tomcat 管理和控制平台、安全域管理和 Tomcat 附加组件等。
“对语言设计人员来说,创建好的输入/输出系统是一项特别困难的任务。”――《Think in Java》前面我们在《Java 语言快速入门》已经了解 Java I/O 这个知识点,但是一门伟大的开发语言,怎么能有缺陷呢,IO 可以面向流,但是谁去面向缓冲区?下面给你答案。Java NIO 和 IO 之间第一个最大的区别是,IO 是面向流的,NIO 是面向缓冲区的。
冰川的反射图像,是不是很美!如果你认为 Java 的反射就是我们物理学上的反射,那么可能让你失望了,反射用在 Java 身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的 classes。反射(Reflection)机制是 JAVA 成为动态语言的一个关键特性。从这个观点看,Perl,Python,Ruby 是动态语言,C++,C# 不是动态语言,Java 算是准动态语言。
Java 线程之间的通信对程序员完全透明,内存可见性问题很容易困扰 Java 程序员。Java 程序运行在 JVM(Java Virtual Machine,Java 虚拟机)上,可以把 JVM 理解成 Java 程序和操作系统之间的桥梁,JVM 实现了 Java 的平台无关性,由此可见 JVM 的重要性。所以在学习 Java 内存分配原理的时候一定要牢记这一切都是在 JVM 中进行的,JVM 是内存分配原理的基础与前提。
提及多线程,我们就会想到进程、线程、中央处理器(CPU)。那么什么是进程呢?进程是程序执行的最小单位、线程是程序的执行流,CPU 则是处理执行流的中转站和翻译器。那么并发呢?
如果你想成为一个 Java 开发的高手,那就不止能够开发代码,改改 bug,做些页面的增删改查,你还需要了解 Java 背后的故事。JVM 是 Java Virtual Machine(Java 虚拟机)的缩写。Java 语言的一个非常重要的特点就是与平台的无关性。而使用 Java 虚拟机是实现这一特点的关键。想知道为什么 Java 能够在长期霸占 TIOBE 编程语言社区排行榜榜首的吗?
很多初学者或是使用 Java 语言很久的开发者都容易忽视一个问题——乱码!每次出现乱码后,都会去百度或是 Google 查一下解决方案,但是究竟是什么原因造成的乱码,大部分却不关心,造成了很多人知其然不知其所以然,本文作者将通过《Java 中文乱码解决之道》彻底分析、解决 Java 中文乱码问题。课程入口
关注时代Java