你改变了时间,也受到了时间的报复

“极客时间”《DDD 实战》课程笔记 (一)DDD 与微服务

这是一系列学习笔记,对象是 极客时间 上面的收费课程 《 DDD实战 》。如果你也想要学习一下这门课程,但是不想购买,而且也嫌学习过程漫长(毕竟有20多节课,每节课还挺长),那么可以浏览一下这一系列笔记。

阅读全文
发布于2020-02-18

Java的动态生成编译库

从 JDK 1.6 开始java 引入了用 Java 代码重写的编译器接口,使得我们可以在运行时编译 Java 源码,然后用类加载器进行加载,让 Java 语言更具灵活性,能够完成许多高级的操作。不过,我们最期望的还是给定一段代码,直接编译,然后运行,也就是空中编译执行(on-the-fly)。

阅读全文
发布于2020-02-10

使用jOOQ(二)

上一篇《使用jOOQ代替Mybatis》介绍了jOOQ的简单入门,这里介绍一下它的代码生成和更复杂的查询能力。

阅读全文
发布于2020-01-19

使用jOOQ代替Mybatis(一)

jooq是老外提供的函数式SQL解决方案。目标是减少开发人员在SQL设计上的时间,让我们能把更多时间放在业务逻辑的编写上。不管是使用mybatis还是hibernate,都不能完美解决每个方面:hibernate能让我们的开发变得智能,mybatis能让我们利用原生SQL的强大:它们彼此的优势都是对方最大的劣势。jooq将它们的能力进行了折中,这里我们简单学习一下。

阅读全文
发布于2020-01-18

使用Mybatis-plus代替原生Mybatis

mybatis-plus是国人折腾出来的一个mybatis扩展(关于它的介绍可以看开源中国或官网,用的人越来越多了)。从大的角度看,原生的mybatis对比其他流行orm框架(当然是Hibernate,你可能以为它死多年了吧)较大的差别是需要编写sql。而mybatis-plus把这一点又抹平了:模仿JPA干掉了sql和xml文件!

阅读全文
发布于2020-01-17

使用Mybatis生成Java的模型和Mapper

Mybatis是国内Java界广泛使用的持久化框架。除了使用它基本的Mapper调用能力外,通常大家还会使用它的generator生成java模型类以及PageHelper的分页能力。这里介绍一下Mybatis-generator,并说明如何提升使用体验:覆盖更新并生成注释。

阅读全文
发布于2020-01-07

Java的NIO系统(5) - NIO的用法简介

NIO 除了可以基于通道进行输入输出,还可以基于流,还可以基于文件系统。这一篇里通过文件操作简单说一下NIO的这三种用法。

阅读全文
发布于2019-12-28

Java的NIO系统(4) - 概述

NIO,一般认为是New IO的缩写,是Java4开始出现的。NIO是基于通道、面向缓冲区的IO模型。而且在Java7中对其进行了重大改进,甚至被称为NIO2。这个简单介绍一下NIO的关键特性。

阅读全文
发布于2019-12-26

Java的IO系统(3) - 字符流类

字节流虽然方便也强大,但是不支持Unicode。字符流就是为了解决这个问题的,所以除了面对的对象不一样(一个是字节,一个是字符),他们的类和行为很相仿。

阅读全文
发布于2019-12-25

Java的IO系统(2) - 字节流类

Java的IO系统针对输入和输出分别有两个基类:字节输入流InputStream、字符输入流Reader,字节输出流OutputStrea、字符输出流Writer。在操作字符或字符串时应该使用字符流,在操作字节或其他二进制格式时,应使用字节流。这里先介绍字节流的常用实现类。

阅读全文
发布于2019-12-25

Java的IO系统(1) - 概述

输入输出是一门语言要提供的基本功能,Java从最早的1.0版本就提供了相对完善的IO能力。这篇开始我们简单介绍一下Java的IO系统。

阅读全文
发布于2019-12-24

Java内存代码的动态编译(运行时编译)

Java 可以在运行时动态编译并执行代码,一种代码是本来就可以在虚拟机上跑的字节码,如Java、Scala、groovy等,另一类是Java特意提供了执行引擎的JavaScript。这里看一下如何进行动态编译。

阅读全文
发布于2019-12-18