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 数据类型的映射),另外也提供了数据查询和检索服务。
Spring 框架是由于软件开发的复杂性而创建的。Spring 使用的是基本的 JavaBean 来完成以前只可能由 EJB 完成的事情。然而,Spring 的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性的角度而言,绝大部分 Java 应用都可以从 Spring 中受益。
序言纯 JSP 盛行的时代是乱世,那时候编写的 HTML 和 Java 混用代码很少存活到今天。业务逻辑越来越复杂,JavaBean 和 Servlet 开始广泛应用,这个世界里开始散发着文明的气息,事情开始变得有秩序。Struts 出现的意义大致相当于《拿破仑法典》的颁发,框架的广泛使用铲除了杂乱和无序,还提供给人们各种方便。
Tomcat 是由 Apache 软件基金会下属的 Jakarta 项目开发的一个 Servlet 容器,按照 Sun Microsystems 提供的技术规范开发出来,Tomcat 8 实现了对 Servlet 3.1 和 JavaServer Page 2.3(JSP)的支持,并提供了作为 Web 服务器的一些特有功能,如 Tomcat 管理和控制平台、安全域管理和 Tomcat 附加组件等。
提到 Java Web 开发就离不开 Servlet 与 JSP。JSP 是一种能够把 HTML、JS、Java 代码混合在一起的编程技术,中文名 Java 服务器页面,其根本是一个简化的 Servlet 设计。它实现了 Html 语法中的 Java 扩展(以 <%, %>形式)。JSP 与 Servlet 一样,是在服务器端执行的。通常返回给客户端的就是一个 HTML 文本,因此客户端只要有浏览器就能浏览。课程入口
Web 技术成为当今主流的互联网 Web 应用技术之一,而 Servlet 是 Java Web 技术的核心基础。因而掌握 Servlet 的工作原理是成为一名合格的 Java Web 技术开发人员的基本要求。要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 Servlet 容器的关系有点像枪和子弹的关系,枪是为子弹而生,而子弹又让枪有了杀伤力。
“对语言设计人员来说,创建好的输入/输出系统是一项特别困难的任务。”――《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 集合类的简写,集合类在 Java 中有很重要的意义。为什么需要 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 的基础语法后,你可能会简单的了解到什么是面向对象,面向对象的三大特征,接口,异常、集合等概念,对他们有了初步的理解,但是,个中原理可能还不是非常清楚,本着学习要学到明白的原则,这篇教程将会是你提高 Java 认识的不错选择。课程入口
很多初学者或是使用 Java 语言很久的开发者都容易忽视一个问题——乱码!每次出现乱码后,都会去百度或是 Google 查一下解决方案,但是究竟是什么原因造成的乱码,大部分却不关心,造成了很多人知其然不知其所以然,本文作者将通过《Java 中文乱码解决之道》彻底分析、解决 Java 中文乱码问题。课程入口
Eclipse 与 IntelliJ IDEA 谁好谁坏的问题已经争论了好久,中规中矩的说,每一种开发工具都是因需要而决定的,Eclipse 好上手,但是很多功能需要按转插件,IntelliJ IDEA 学习起来比较复杂,但是它的智能与方便也是值得称谓的,两个平台各有千秋,因人而异。本系列教程从 IntelliJ IDEA 的安装、卸载、软件设置、项目配置等各个方面进行讲解。
关注时代Java