狐狸的搬砖生活

Quartz 每个任务日志单独保存至数据库中

Quartz作为常用的定时调度框架,每个任务的运行日志如果混杂在程序中就很难 Debug 和问题。本文将把每个 Quartz`的任务单独抽离出来,可以把每个任务的日志保存到数据库或者文件中。主要使用Logback动态添加 Appender 和 Logger 来实现

aBadFox aBadFox 发布于 2022-02-12

Java HashMap源码解析

aBadFox aBadFox 发布于 2021-02-17

OkHttp 自动切换代理

原理OkHttp 支持 Http、Socket代理,可以在初始化OkHttpClient时,设置客户端指定的代理。OkHttpClient client = new OkHttpClient.Builder() .addInterceptor(new SwitchProxyIntercepto

aBadFox aBadFox 发布于 2020-12-06

Netty中Handler执行顺序

Netty中的Handler共分为ChannelInboundHander(入站),和ChannelOutboundHandler(出站),其中Inbound事件由系统触发,例如连接的开启,关闭,读完成等,而Onbound事件由用户线程或者代码发起。当系统中存在多个InboundHandler和OutboundHandler时,多个Handler的执行顺序由事件的类型决定。

aBadFox aBadFox 发布于 2020-09-11

Java 函数式编程

Java函数式编程新旧对比Lambda表达式递归方法引用Runnable接口未绑定的方法引用构造函数引用函数式接口多参数函数式接口缺少基本类型的函数高阶函数闭包作为闭包的内部类函数组合柯里化和部分求值纯函数式编程本章小结Java函数式编程函数式编程语言操纵代码片段就像操作数据一样容易。虽然Java不

aBadFox aBadFox 发布于 2020-09-07

Java 正则表达式

java正则表达式节选自《java编程思想》很久之前,正则表达式就已经整合到标准Unix工具集之中,例如sed、awk和程序语言之中了,如Python和Perl(有些人认为正是正则表达式促成了Perl的成功)。而在Java中,字符串操作还主要集中于String、StringBuffer和String

aBadFox aBadFox 发布于 2020-09-07

Java 数据结构-二叉树的实现与遍历

java数据结构-二叉树的实现与遍历二叉树的定义publicclassBinaryNode<T>{privateTdata;privateBinaryNode<T>left;privateBinaryNode<T>right;publicTgetData(){re

aBadFox aBadFox 发布于 2020-09-01

Java8 日期API

java8日期API常用类的概述和功能概述Instant类(类似于TimeStamp)Instant类对时间轴上的单一瞬时点建模,可以用于记录应用程序中的事件时间戳,在之后的学习的类型转化中,均可以使用Instance类作为中间类完成转化Duration类Duration类表示秒或纳秒时间间隔,适合

aBadFox aBadFox 发布于 2020-07-03

Spring AOP

aBadFox aBadFox 发布于 2020-06-22

Spring Bean生命周期

Spring Bean生命周期bean的生命周期: bean创建---初始化----销毁的过程容器管理bean的生命周期;我们可以自定义初始化和销毁方法;容器在bean进行到当前生命周期的时候来调用我们自定义的初始化和销毁方法构造(对象创建)单实例:在容器启动的时候创建对象多实例:在每次获取的时候创

aBadFox aBadFox 发布于 2020-06-22