Fork me on GitHub

core-java

Java NIO 概述

在 java 1.4 以前, Java 对 I/O 的支持并不完善,开发人员在开发高性能 I/O 程序的时候,会面临一些巨大的挑战和困难,主要问题如下: 没有数据缓冲区, I/O 性能存在问题; 没有 C 或者 C++ 中的 Channel 概念,只有输入和输出流 同步阻塞式 I/O 通信(BIO),通常会导致通信线程被长时间阻塞 支持的字符集有限,硬件可移植性不好。 所以在 JDK 1.4 以后, Java 支持非阻塞的 I/O 通信模型的类库,被称为 NIO。可...

JDK 动态应用实例

公司需要新开发一个项目,功能在这里不需要Care,主要是基于我们之前的会员网关以及资金网关。这两个服务都是支持 GET/POST 的 https 请求的调用。因为我们这个项目是第三方支付,所以安全方面比较关注。请求方式使用的是 https 方式,然后数据在传输过程过程中需要把请求的数据进行加签,对于敏感数据(比如手机,实名,银行卡等)还需要加密。其中请求参数包括基本参数与业务参数,而对于响应参数的格式是 JSON 的数据 基本参数就是所有请求都需要传递的参数:主要包...

Java AES 加密算法

Javassist是一个开源的分析、编辑和创建Java字节码的类库。是由东京工业大学的数学和计算机科学系的 Shigeru Chiba (千叶 滋)所创建的。它已加入了开放源代码JBoss 应用服务器项目,通过使用Javassist对字节码操作为JBoss实现动态”AOP”框架。 关于java字节码的处理,目前有很多工具,如bcel,asm。不过这些都需要直接跟虚拟机指令打交道。如果你不想了解虚拟机指令,可以采用javassist。javassist是jboss的一个子...

Java AES 加密算法

转载地址:JAVA版AES加密算法 密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院 (NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密...

Jdk8 Optional 的正确姿势

转载地址:jdk8 Optional 的正确姿势 我们知道 Java 8 增加了一些很有用的 API, 其中一个就是 Optional. 如果对它不稍假探索, 只是轻描淡写的认为它可以优雅的解决 NullPointException 的问题, 于是代码就开始这么写了. 1234567891011Optional<User> user = ......if (user.isPresent()) { return user.getOrders();&#...

Orika User Guide

Orika simpler, lighter and faster Java bean mapping 作为开发人员,我们必须为业务问题提供解决方案,我们希望利用我们的时间来做真正重要的事情。在现在这个时代,企业应用程序变得越来越复杂,有大量的体系结构和设计约束。 设计的约束会产生大量的机械工作。很多的开源项目例如:Spring,Guice,Hibernate,Wicket,….等等,解放我们的双手。我们有很多可用的选项来解决整个问题的每个部分。但是对于这些不同的t...

JavaEE 13个核心规范

你听过这句话吗?“一流企业做标准、二流企业做品牌、三流企业做产品!”我时我就在想,做标准的企业就是一流的?卖产品就是三流公司?而坐产品或者加工的公司,即使说销售量很大也挣不了太多的钱,为什么呢? ###1、标准的价值分析 生产只是一个劳动密集型的产业,是体力劳动,而体力劳动在这个时代是拼不上脑力劳动,拼不上智慧的!这就像所有的生命诞生之初,都是白纸一张,而一个婴儿成长到成年过程,却是不同的,而这些不同恰恰成为了我们和其他人不同的地方,就像这些公司,从三流到一流是个成长的...

Java Class Object

刚开始学的时候,老师对我们说的第一句话就是在Java的世界里一切都是对象。那么这个对象是什么呢?就是在java.lang包下面的Object对象。Object是一个具体的类,它的设计主要是为了扩展。在JDK中对于Object的描述如下: /** Class {@code Object} is the root of the class hierarchy. Every class has {@code Object} as a superclass. All obj...

Java Annotation 原理

引用地址:Java注解(Annotation)原理详解 注解在Java中到底是什么样的东西?具体是如何实现的?本文将一层一层深入探究注解的实现原理。为了尽可能的将分析的过程呈现出来,所以文章包含了大量的截图和代码。(ps:如果图片看不清楚,请将网页放大来看,chrome可以通过ctrl+鼠标滚轮放大) ###1、前期准备开始分析前,提醒一下,下面的分析必须具备以下知识 知道如何自定义注解 理解Java动态代理机制 了解Java常量池 如果不具备以上的知识,会...

Java IO 总结

流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 ###1、IO流的分类 根据不同的类型或者按流向可以把IO分为以下两种不同的类型: 根据处理数据类型的不同分为:字符流和字节流 根据数据流向不同分为:输入流和输出流 ####1.1 Java IO相关的类:|类|说明||—|—||InputStream|字节输入流||OutputStre...