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 中文乱码问题。课程入口
Eclipse 与 IntelliJ IDEA 谁好谁坏的问题已经争论了好久,中规中矩的说,每一种开发工具都是因需要而决定的,Eclipse 好上手,但是很多功能需要按转插件,IntelliJ IDEA 学习起来比较复杂,但是它的智能与方便也是值得称谓的,两个平台各有千秋,因人而异。本系列教程从 IntelliJ IDEA 的安装、卸载、软件设置、项目配置等各个方面进行讲解。
“工欲善其事,必先利其器”,一款上手容易的开发工具会让你学习和工作事半功倍,很显然,在 Java 领域,开发平台 Eclipse 和 IntelliJ IDEA 各有特色,几乎是平分秋色,所以无论你选择哪一种,都是你走入 Java 开发领域的尖兵利器。
Java 的前世今生名字来源Java 是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。Java 语言中的许多库类名称,多与咖啡有关:如 JavaBeans(咖啡豆)、NetBeans(网络豆)以及 ObjectBeans(对象豆)等等。SUN 和 JAVA 的标识也正是一杯正冒着热气的咖啡。语言起源Java 平台和语言最开始只是 SUN 公司在 1990 年 12 月开始研究的一个内部项目。
原文地址 作者: Jakob Jenkov 译者:叶文海(yewenhai@gmail.com)内容索引类加载器类加载体系类加载动态类加载动态类重载自定义类重载类加载/重载示例Java 允许你在运行期动态加载和重载类,但是这个功能并没有像人们希望的那么简单直接。这篇文章将阐述在 Java 中如何加载以及重载类。
原文地址 作者: Jakob Jenkov 译者:叶文海(yewenhai@gmail.com)内容索引创建代理InvocationHandler 接口常见用例数据库连接以及事物管理单元测试中的动态 Mock 对象自定义工厂与依赖注入(DI)容器之间的适配器类似 AOP 的方法拦截器利用Java反射机制你可以在运行期动态的创建接口的实现。 java.lang.reflect.Proxy 类就可以实现这一功能。
原文地址 作者: Jakob Jenkov 译者:叶文海(yewenhai@gamil.com)内容索引访问私有变量访问私有方法在通常的观点中从对象的外部访问私有变量以及方法是不允许的,但是 Java 反射机制可以做到这一点。使用这个功能并不困难,在进行单元测试时这个功能非常有效。本节会向你展示如何使用这个功能。
关注时代Java