自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我只是无聊

我随便写写,您随便看看。

  • 博客(54)
  • 资源 (2)
  • 收藏
  • 关注

原创 HashMap阅读笔记 也来说说快速失败机制

我发现大部分博文对快速失败机制是这样描述的:在使用迭代器对集合对象进行遍历的时候,如果 A 线程正在对集合进行遍历,此时 B 线程对集合进行修改(增加、删除、修改),或者 A 线程在遍历过程中对集合进行修改,都会导致 A 线程抛出 ConcurrentModificationException 异常。给出的代码示例如下: HashMap hashMap = new HashMap();...

2019-07-10 17:50:27 478

原创 SpringBoot源码解析 内置Tomcat启动流程(二)

在上一篇文章中,我们了解到了Spring是如何启动内置Web服务器的。我们也知道Spring Boot本身是使用Tomcat作为默认服务器的。这又是如何做到的呢?我们来细看下EmbeddedWebApplicationContext中的createEmbeddedServletContainer方法。Spring Boot所支持的WebServer都是在这里初始化并创建的。我们可以看到其先获...

2019-01-02 17:57:43 2775

原创 SpringBoot源码解析 内置Tomcat启动流程(一)

打开源代码过程略去不谈,找到入口方法之后发现有两次调用,而我们实际需要开始关注的是下面这个方法。public static ConfigurableApplicationContext run(Object[] sources, String[] args) { return (new SpringApplication(sources)).run(args);}可以...

2018-08-20 15:22:10 8831 2

原创 Jira改造笔记四 ScriptRunner 更新问题优先级

【代码】Jira改造笔记四 ScriptRunner 更新问题优先级。

2023-04-19 11:05:31 178

原创 Jira使用笔记三 ScriptRunner 获取自定义字段

jira 获取自定义字段

2023-04-03 21:56:03 431

原创 Jira使用笔记二 ScriptRunner执行JQL查询

【代码】Jira ScriptRunner执行JQL查询。

2023-03-31 11:28:56 400

原创 Jira使用笔记一 ScriptRunner 子任务完成后变更父任务状态

Jara ScriptRunner 子任务完成后更新父任务

2023-03-28 10:25:40 663

原创 解决aspose在linux上中文乱码的方法

解决aspose在linux上中文乱码的方法

2022-07-20 10:22:26 4196 4

原创 Go 监控系统硬件指标

Go语言进行系统参数监控

2021-12-08 14:44:27 836

原创 MySQL PostgresQL查询所有表结构

导出表结构到文档

2021-12-03 17:24:29 396

原创 MySQL的MVCC机制可以完全解决幻读么?

定义MVCCMVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。在MySQL,MVCC并不是Server级别的实现,而是InnoDB引擎的实现。快照读像不加锁的select操作就是快照读,即不加锁的非阻塞读;快照读的前提是隔离级别不是串行级别,串行级别下的快照读会退化成当前读;之所以出现快照读的情况,是基于提高并发性能的考虑,快照读的实现是

2021-06-11 22:23:41 1135 2

原创 Spring事务传播特性源码笔记

Spring事务传播特性

2021-05-25 16:33:49 126 1

原创 填坑日志2021-03-12 xml解析异常:Content is not allowed in prolog

场景测试通过后运维上线,出现异常提示Content is not allowed in prolog。原因排查后发现文件编码被修改为ANSI码。解决方法重新修改xml文件至UTF-8格式。

2021-03-12 23:58:31 762

原创 ThreadLocal作用和原理分析

ThreadLocal主要为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。要理解ThreadLocal需要理解下面三个问题:每个线程的变量副本是存储在哪里的?(参考ThreadLocal的get()源码)每个线程都有一个threadLocals成员,引用类型是ThreadLocalMap,以ThreadLocal和ThreadLocal对象声明的变量类型作为参数。这样,我们所使用的ThreadLocal变量的实际数据,通过get函数取值的时候,就是通过取出Thread中th

2021-02-22 18:22:15 283

原创 JDK源码阅读 ConcurrentHashMap探秘1

都知道ConcurrentHashMap是线程安全的Map,那么它的线程安全是如何实现的呢?让我们来看一下吧。

2020-10-28 16:13:30 73 2

原创 SpringBoot源码解析 AutoConfigure机制

SpringBoot只要引入对应Starter就可以自动加载对应配置项并且初始化对应组件实在是太方便了。那么SpringBoot是如何做到这一点的呢?

2020-09-14 14:27:01 386 1

原创 Redis 高级特性 布隆过滤器

布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。

2020-09-10 16:17:18 202 1

原创 Jenkins使用笔记(五) 参数化构建

构建过程中免不了需要使用各种参数,比如备份版本号,打tag也需要参数,甚至进行分支切换,那么参数化构建就很方便了。

2020-09-09 19:57:09 1229

原创 Spring源码阅读2 AsyncConfigurer 配置线程池及异常处理

简介先看下代码吧public interface AsyncConfigurer { /** * The {@link Executor} instance to be used when processing async * method invocations. */ @Nullable default Executor getAsyncExecutor() { return null; } /** * The {@link AsyncUncaughtExcepti

2020-07-10 10:52:22 647

原创 填坑日志(20200611) Feign入参为Null引起的血案

某天我正闲的无聊瞎晃悠。

2020-07-05 11:37:19 4347

原创 Apache POI操作PPT: 文字替换 图片替换 表格填充 PPT合并

工作中经常使用的一些PPT操作。

2020-07-05 10:44:15 3073 4

原创 解决MySQL创建UDF报错ERROR 1418的正确姿势

MySQL创建UDF ERROR 1418ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL,or READS SQL DATA in its declaration and binary logging is enabled(you *might* want to use the less safe log_bin_trust_function_creatorsvariable)搜索资料,发现大部分资料是这么写

2020-07-03 19:00:55 313

原创 Spring源码阅读1 AOP如何判定是否可以使用JDK动态代理

Spring DefaultAopProxyFactory源码或许大家会奇怪了,不就是判断是不是代理的接口就可以了吗?其实并不是这么简单。直接上代码。 @Override public AopProxy createAopProxy(AdvisedSupport config) throws AopConfigException { if (config.isOptimize() || config.isProxyTargetClass() || hasNoUserSuppliedProxyIn

2020-06-11 16:40:18 809

转载 强软弱虚引用,只有体会过了,才能记住

以前学习强软弱虚引用的时候,只是走马观花看看博客,并没有自己写代码去实践、去证明,导致每次看完后,过不了多久就忘了,后来下定决心,一定要自己敲敲代码,这样才能让印象更加深刻,古人云:纸上得来终觉浅,绝知此事要躬行。Java中的四种引用Java中有四种引用类型:强引用、软引用、弱引用、虚引用。Java为什么要设计这四种引用Java的内存分配和内存回收,都不需要程序员负责,都是由伟大的JV...

2020-03-22 23:49:40 122

转载 有点深度的聊聊JDK动态代理

在接触SpringAOP的时候,大家一定会被这神奇的功能所折服,想知道其中的奥秘,底层到底是如何实现的。于是,大家会通过搜索引擎,知道了一个陌生的名词:动态代理,慢慢的又知道了动态代理有多种实现方式,比如 JDK动态代理,Cglib 等等。今天我就来简单说说JDK动态代理。JDK动态代理的简单应用我们还是从一个最简单的例子着手:首先我们需要定义一个接口:public interface...

2020-03-22 23:16:14 282

原创 wakeonlan成功!树莓派远程开机

树莓派已经配置了frp,映射到了云服务器上。如果加上远程唤醒的话就可以随时随地移动办公了。记录下实现的过程。1. 修改Bios,开启网络唤醒。1.1 官方文档说明我的主板型号是B250M,去技嘉官网找了说明文档 。文档在此上面关于网络开机的选项有如下几个:NetWork Stack Driver SupportDisabled 关闭网络开机功能支持。(预设值)Enabled ...

2020-03-06 02:32:57 11433 1

原创 MySQL面试索引必问

为什么选择B+树作为索引结构Hash索引:Hash索引底层是哈希表,哈希表是一种以key-value存储数据的结构,所以多个数据在存储关系上是完全没有任何顺序关系的,所以,对于区间查询是无法直接通过索引查询的,就需要全表扫描。所以,哈希索引只适用于等值查询的场景。而B+ 树是一种多路平衡查询树,所以他的节点是天然有序的(左子节点小于父节点、父节点小于右子节点),所以对于范围查询的时候不需要做全...

2020-03-03 15:05:55 670 1

原创 Java SPI(服务发现机制)

简介SPI 全称为Service Provider Interface,是一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。正因此特性,我们可以很容易的通过 SPI 机制为我们的程序提供拓展功能。Java原生SPI使用步骤1 定义接口package com.chen.service;...

2020-03-02 11:47:09 535

原创 Redis的四种搭建模式

1.单节点单节点实例还是比较简单的,平时做个测试,写个小程序如果需要用到缓存的话,启动一个Redis还是很轻松的,做为一个key/value数据库也是可以胜任的。过于简单,在此不做说明。2.主从模式存在问题:主节点挂了之后,无法从新选举新的节点作为主节点进行写操作,导致写服务不可用搭建方式:只需要在配置文件中加上一行配置:slaveof 192.168.1.1 6379主从模式的一个作...

2020-01-14 21:07:53 886

原创 填坑日志(20200102) 记一次HttpClient引发的线程池死锁

背景某同学求救说任务可以提交,但是无法执行,所有线程都hang在了同一个地方。让帮忙看下,而且说自己跑单元测试的时候复现不了。问题定位过程导出栈第一步当然是导出栈信息看下。导出之后相关日志大致如下:"threadPoolTaskExecutor-5" #95 prio=5 os_prio=0 tid=0x00007f2a6018d000 nid=0x7179 runnable [0x00...

2020-01-02 18:06:51 1124

原创 填坑日志(20190926) PageHelper引发的慢SQL

PageHelper引发的慢SQL。

2019-09-26 21:34:18 2011 2

原创 or会导致MySQL索引失效的原因

此处的失效是指:如果条件中有or,只要其中一个条件没有索引,其他字段有索引也不会使用。

2019-09-23 22:12:02 9186

转载 MySQL事务隔离级别

事务的基本要素(ACID)原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱...

2019-09-16 23:09:34 99

原创 HashMap源码阅读笔记 put(K key, V value)实现

先说下众所周知的结论吧,HashMap是个数组加链表(或树)的形式。先来看下类图吧。从类图可以看到,HashMap继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口的。重要字段。 /** * 在第一次使用的时候初始化 自动扩容。当重新分配大小时,其长度总会是2的倍数 */ transient N...

2019-07-03 22:55:08 224

原创 SpringBoot源码解析 事件分发(Event)机制实现

事件分发机制源码阅读。

2019-06-24 21:00:00 1481

原创 SpringBoot源码解析 关于Exception的骚操作

看到SpringBoot的源码,突然看到个骚操作,跟大家分享下。

2019-06-21 21:41:23 822

原创 填坑日志 MyBatis执行任意SQL

公司业务需要做可配置报表,SQL不一定,结果也不一定。

2019-06-18 10:30:50 1774

原创 填坑日志(20190613) 自定义Header莫名消失解决

公司的项目目前使用Spring Cloud+Vue架构,通过Nginx做反向代理,一直运行正常。今天却遇到了一个奇怪的问题,自定义的Header怎么都获取不到。开始以为是自己写的有问题,debug后发现Spring确实没有接收到Header。于是怀疑到了Nginx上,查阅资料发现了这个配置:Syntax: underscores_in_headers on | off;Default: u...

2019-06-13 11:35:25 1640

原创 《深入理解Java虚拟机》读书笔记 垃圾回收算法

标记-清除算法过程,首先标记所有需要进行回收的对象,标记完成后统一清除缺陷:效率低下:标记及清除效率不高产生大量不连续的内存碎片,难以进行再次分配。复制算法过程:将内存分为对等的两部分,每次只使用其中一部分,垃圾回收时,将仍存活的对象复制到另一块区域,同时将原使用内存区域清空。优点:简单方便运行高效缺点:只能使用一半内存标记-整理算法过程:标记过程和标记清除算...

2019-06-01 22:48:38 688

原创 JVM源码阅读笔记:String为什么要设计为final类型

看String源码时,最显眼的莫过于public final class String implements java.io.Serializable, Comparable<String>, CharSequence那么String为什么要设计为Final类型呢?在String类的源码中,我们可以看到这段注释Strings are constant; their valu...

2019-05-28 22:18:43 738

光阵高拍仪开发包

光阵高拍仪开发包,控件采用微软ActiveX技术, 控件名称为 : LiteArrayCtrl.ocx。 基于ActiveX技术,控件可被目前主流的开发语言, 比如VC、 VB、 Delphi、 C#、 java、 javascript等, 再归结一下, 就是可以用于C/S和B/S项目中利于用户 快速的调用高拍仪实现图像采集的需求

2017-02-14

代码生成器JAVA

代码生成器JAVA

2017-01-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除