摘要:
近期工作中涉及到文件记录、文件翻转等操作,思考有没有成熟的代码以便参考.
因此,第一时间就联想到Logback的AsyncAppender以及RollingFileAppender.
AsyncAppender:通过队列储存日志事件,启动Worker线程读取日志事件并写入关联的Appender中;
Roll... 阅读原文
2020-01-02 09:27:02 阅读(3583) 评论(0)
摘要:
本系列笔记主要基于《深入理解Java虚拟机:JVM高级特性与最佳实践 第2版》,是这本书的读书笔记。
Java虚拟机的内存区域中,程序计数器、Java栈和本地方法栈是线程私有的,随线程而生随线程而灭,因此这几个区域的内存回收和分配都有确定性,所以主要探究的是Java堆和方法区的内存分配及回收。
Java堆... 阅读原文
2020-01-02 09:06:02 阅读(2406) 评论(0)
摘要:
一、背景
书接上文手写MQ框架(三)-客户端实现 ,前面通过web的形式实现了mq的服务端和客户端,现在计划使用netty来改造一下。前段时间学习了一下netty的使用(https://www.w3cschool.cn/netty4userguide/52ki1iey.html)。大概有一些想法。
netty... 阅读原文
2020-01-02 07:14:01 阅读(2407) 评论(0)
摘要:
事务一般是指数据库事务,是指作为一个程序执行单元执行的一系列操作,要么完全执行,要么完全不执行。事务就是判断以结果为导向的标准。
一.spring的特性(ACID)
(1).原子性(atomicity) 原子性就是一个不可分割的工作单元。简单的说,就是指事务包含的所有操作要么全... 阅读原文
2020-01-02 06:37:07 阅读(2354) 评论(0)
摘要:
背景
上文JDK8中的HashMap源码写了HashMap,这次写ConcurrentHashMap
ConcurrentHashMap源码
/**
* Maps the specified key to the specified value in this table.
* Neit... 阅读原文
2020-01-02 06:00:13 阅读(2459) 评论(0)
摘要:
背景
很久以前看过源码,但是猛一看总感觉挺难的,很少看下去。当时总感觉是水平不到。工作中也遇到一些想看源码的地方,但是遇到写的复杂些的心里就打退堂鼓了。
最近在接手同事的代码时,有一些很长的python脚本,没有一行注释。就硬着头皮一行一行的读,把理解的都加上注释,这样一行行看... 阅读原文
2020-01-02 00:00:04 阅读(2435) 评论(0)
摘要:
1.泛型类
public class Dog<T> {
private T age;
public Dog(T age) {
this.age = age;
}
public T getAge() {
ret... 阅读原文
2020-01-01 21:06:02 阅读(2626) 评论(0)
摘要:
一、Spring Data JPA
1、简介
(1)官网地址: https://spring.io/projects/spring-data-jpa参考文档: https://docs.spring.io/spring-data/jpa/docs/2.2.3.RELEASE/reference/html/... 阅读原文
2020-01-01 20:12:56 阅读(2354) 评论(0)
摘要:
程序入口
SpringApplication.run(BeautyApplication.class, args);
执行此方法来加载整个SpringBoot的环境。
1. 从哪儿开始?
SpringApplication.java
/**
* Run the Spring ap... 阅读原文
2020-01-01 19:04:02 阅读(2427) 评论(0)
摘要:
Talk is cheap, show me the code!
public class TestMybatis {
public static void main(String[] args) throws IOException {
//1. 读取配置文件
In... 阅读原文
2020-01-01 18:07:02 阅读(2280) 评论(0)