随笔分类 - javaSE
摘要:CompleteFuture实现简单的任务编排实践 一:前言 CompleteFuture是java8 新提供的API,是对函数式编程思想的体现,提供了很多的对于函数式编程支持。不止有同步处理功能,还有异步处理能力。 通过函数式编程可以实现线程的简单任务编排。高效,整洁实现多线程异步编程。 二:
阅读全文
摘要:Java 的SPI机制 什么是java的SPI机制 SPI(Service Provider Interface)主要是被框架开发人员使用的一种技术。例如,使用 Java 语言访问数据库时我们会使用到 java.sql.Driver 接口,不同数据库产品底层的协议不同,提供的 java.sql.
阅读全文
摘要:JAVA日志和Springboot日志集成 1:java的日志生态中又很多日志实现框架,比如: JUL Apache Log4j1 Apache Log4j2 Logback 但是我们在项目中引入很多包,很多包的日志打印的框架不一样,这样会导致我们要配置很多日志的配置文件, 但是java又日志接口,
阅读全文
摘要:几种常见的OOM异常 oom异常就是Out Of Memory Error 内存溢出异常,是我们开发中常见的异常。oom异常也分成多种。 java.lang.OutOfMemoryError: Java heap space 堆空间溢出,最常见的 在创建大对象的时候特别注意堆内存的使用,避免产生
阅读全文
摘要:关于volatile关键字的解析 什么是volatile volatile是Java虚拟机提供的轻量级的同步机制 三大特性 不保证原子性 禁止指令重排 保证可见性 不保证原子性 对于volatile不保证原子性,我们可以通过一段代码来验证 package javase; import java.
阅读全文
摘要:记一次Mysql的优化经历 1.建立一个课程表 create table Course( c_id int PRIMARY KEY, name varchar(10) ) 2.建立一个学生表 create table Student( s_id int PRIMARY KEY, name varch
阅读全文
摘要:java8新特性 异步编程 CompletableFuture 实现异步编程 supplyAsync 有返回值 CompletableFuture<String> f1 = CompletableFuture.supplyAsync(() -> "hello"); runAsync参数是Runabl
阅读全文
摘要:/** * 快速排序:定义第一个数为比较值,一个从前面开始为i,一个从后面开始为j,左边碰到比比较值大的,和右边碰到比比较值小的交换 */ public class QuickSort { public static int[] quickSort(int[] arr, int start, int
阅读全文