“极客时间”《DDD 实战》课程笔记 (一)DDD 与微服务
这是一系列学习笔记,对象是 极客时间 上面的收费课程 《 DDD实战 》。如果你也想要学习一下这门课程,但是不想购买,而且也嫌学习过程漫长(毕竟有20多节课,每节课还挺长),那么可以浏览一下这一系列笔记。
Java的动态生成编译库
从 JDK 1.6 开始java 引入了用 Java 代码重写的编译器接口,使得我们可以在运行时编译 Java 源码,然后用类加载器进行加载,让 Java 语言更具灵活性,能够完成许多高级的操作。不过,我们最期望的还是给定一段代码,直接编译,然后运行,也就是空中编译执行(on-the-fly)。
使用jOOQ(二)
上一篇《使用jOOQ代替Mybatis》介绍了jOOQ的简单入门,这里介绍一下它的代码生成和更复杂的查询能力。
使用jOOQ代替Mybatis(一)
jooq是老外提供的函数式SQL解决方案。目标是减少开发人员在SQL设计上的时间,让我们能把更多时间放在业务逻辑的编写上。不管是使用mybatis还是hibernate,都不能完美解决每个方面:hibernate能让我们的开发变得智能,mybatis能让我们利用原生SQL的强大:它们彼此的优势都是对方最大的劣势。jooq将它们的能力进行了折中,这里我们简单学习一下。
使用Mybatis-plus代替原生Mybatis
mybatis-plus是国人折腾出来的一个mybatis扩展(关于它的介绍可以看开源中国或官网,用的人越来越多了)。从大的角度看,原生的mybatis对比其他流行orm框架(当然是Hibernate,你可能以为它死多年了吧)较大的差别是需要编写sql。而mybatis-plus把这一点又抹平了:模仿JPA干掉了sql和xml文件!
使用Mybatis生成Java的模型和Mapper
Mybatis是国内Java界广泛使用的持久化框架。除了使用它基本的Mapper调用能力外,通常大家还会使用它的generator生成java模型类以及PageHelper的分页能力。这里介绍一下Mybatis-generator,并说明如何提升使用体验:覆盖更新并生成注释。
Java的NIO系统(5) - NIO的用法简介
NIO 除了可以基于通道进行输入输出,还可以基于流,还可以基于文件系统。这一篇里通过文件操作简单说一下NIO的这三种用法。
Java的NIO系统(4) - 概述
NIO,一般认为是New IO的缩写,是Java4开始出现的。NIO是基于通道、面向缓冲区的IO模型。而且在Java7中对其进行了重大改进,甚至被称为NIO2。这个简单介绍一下NIO的关键特性。
Java的IO系统(3) - 字符流类
字节流虽然方便也强大,但是不支持Unicode。字符流就是为了解决这个问题的,所以除了面对的对象不一样(一个是字节,一个是字符),他们的类和行为很相仿。
Java的IO系统(2) - 字节流类
Java的IO系统针对输入和输出分别有两个基类:字节输入流InputStream、字符输入流Reader,字节输出流OutputStrea、字符输出流Writer。在操作字符或字符串时应该使用字符流,在操作字节或其他二进制格式时,应使用字节流。这里先介绍字节流的常用实现类。
Java的IO系统(1) - 概述
输入输出是一门语言要提供的基本功能,Java从最早的1.0版本就提供了相对完善的IO能力。这篇开始我们简单介绍一下Java的IO系统。