自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MieMieFly的专栏

只是好读书不求甚解,不好不好!!!!!!!!!!!!

  • 博客(21)
  • 资源 (3)
  • 收藏
  • 关注

原创 ThreadPoolExecutor创建线程池的几种案例

今天看了一下其它公司是怎样创建线程池的.基本都差不多.有些是单线程的线程池.如下:1.公司用来处理每日定时任务的线程池:ThreadPoolExecutor pool = new ThreadPoolExecutor(3, 20, 60 * 3, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>(100), Executors.defaultThreadFactory(), new ThreadPoolExecutor.Ab

2020-07-31 10:21:09 1060

原创 Java小技巧系列一:List去重

List去重一般利用set的不可重复特性去重,还有一个是利用Java8的stream 去重.示例如下: public static List<String> removeDuplicates(List<String> list) { //使用TreeSet也一样 return new ArrayList(new LinkedHashSet(list)); } public static void main(String[] a

2020-07-28 00:55:00 106

原创 使用FeignClient调用接口报错:Caused by: java.lang.NoClassDefFoundError: feign/Feign$Builder

由于引入了api的jar包,Application扫描不到@FeignClient的接口类.在Application上添加了basePackages.@EnableFeignClients(basePackages = "com.sysmgr.service.api").我使用的版本是1.5.2.RELEASE.启动后报错如下:Caused by: java.lang.NoClassDefFoundError: feign/Feign$Builder at java.lang.Cl..

2020-07-27 23:59:02 3070

原创 SpringBoot自动配置@EnableAutoConfiguration分析

@EnableAutoConfiguration 启动自动配置.在spring-boot-autoconfigure-xxx.RELEASE.jar中.EnableAutoConfiguration 有两个重要注解@AutoConfigurationPackage,@Import({AutoConfigurationImportSelector.class})1.@AutoConfigurationPackage引入了@Import({Registrar.class})会扫描启动类所在的包,并注册.

2020-07-27 13:33:51 284

原创 MySQL中时间的处理与DATE_FORMAT() 和STR_TO_DATE()

前提:apply_time为datetime类型,jdbcType="TIMESTAMP"如果Java中时间参数是String类型.mybatis中可以写成<if test="param.applyTimeStart!=null and param.applyTimeStart!='' ">AND apply_time &gt;=str_to_date(#{param.applyTimeStart},'%Y-%m-%d %H:%i:%S')</if>.

2020-07-23 18:10:44 2696

原创 Java线程6种状态以及转化

Java线程6种状态:1.new(初始化):start()方法转runnable2.runnable(可执行/执行): 等待synchronized 的隐式锁时转blocked3.blocked(阻塞): 当等待的线程获得 synchronized 隐式锁时,就又会从 BLOCKED 转换到 RUNNABLE 状态4.waiting(无限期等待): 三种情况:第一种场景,获得 synchronized 隐式锁的线程,调用无参数的 Object.wait() 方法 第二种场景,调用无参数的

2020-07-23 10:08:21 104

原创 SpringBoot1.5升级到2.2时报错:NoClassDefFoundError: org/springframework/boot/bind/RelaxedPropertyResolver

从SpringBoot1.5升级到2.2时报错:NoClassDefFoundError: org/springframework/boot/bind/RelaxedPropertyResolver.这个是因为从2.0开始删除了这种方式获取参数.2.0之前是RelaxedPropertyResolver resolver = new RelaxedPropertyResolver(environment, "kafka.consumer.");Map<String, Object&g.

2020-07-23 00:48:23 1334 1

原创 Linux下安装AsmTools工具

一、安装官网最新版本1.下载apache-ant最新版wget http://mirrors.cnnic.cn/apache//ant/binaries/apache-ant-1.9.15-bin.tar.gz2.解压tar -zxvf apache-ant-1.9.15-bin.tar.gz 3.移动到安装目录mv /root/apache-ant-1.9.15/ /home/software/4.配置变量并应用vim /etc/profile.

2020-07-21 00:58:53 344

原创 MySQL唯一索引和普通索引对性能的影响

先说结论:对查询:普通索引和唯一索引对查询性能影响很小对更新:唯一索引比普通索引更耗时.查询流程:唯一索引找到第一个匹配数据后不继续往后查找.1.普通索引,从索引树根节点开始按层往下查找,找到对应的数据页,然后二分法查找节点,找到第一个匹配的数据后,继续往后查找,直到不满足条件.然后返回.2.唯一索引,从索引树根节点开始按层往下查找,找到对应的数据页,然后二分法查找节点,找到第一个匹配的数据后,直接返回.更新流程:唯一索引对更新需要判断是否冲突1.普通索引,找到对应的..

2020-07-17 16:40:02 3073

原创 MySQL查询第N大的问题

关键点:LIMIT在MySQL教程网上找到介绍TheLIMITclause is used in theSELECTstatement to constrain the number of rows to return. TheLIMITclause accepts one or two arguments. The values of both arguments must be zero or positiveintegers.大意是,LIMIT用在SELECT语句中,用来限制...

2020-07-17 01:42:54 363

原创 雪花算法实现分布式ID生成器

package com.common.generator;/** * Snowflake */public class IdGenerator { private final long twepoch = 1288834974657L; private final long workerIdBits = 5L; private final long datacenterIdBits = 5L; private final long maxWorkerId = -1L ^ (-1L &.

2020-07-16 01:19:49 658

原创 Docker构建镜像容器实用操作

1.构建镜像:docker build -t imageName:tag . 注意最后有个点 表示当前目录的Dockerfile文件docker build -t flowable92:6.4.1 .2.启动容器docker run -d --name flowable_web_92 -v /root/flowable_war/flowable_92/container-conf92/:/opt/tomcat/conf -p 28082:8080 flowable92:6.4.1dock..

2020-07-15 10:21:58 227

原创 FlowableException: Error initialising dmn data model报错问题

flowable war包启动失败,报错Caused by: org.flowable.common.engine.api.FlowableException: Error initialising dmn data model类似问题.比如Caused by: org.flowable.common.engine.api.FlowableException: Error initialising cmmn data modelCaused by: org.flowable.common.eng

2020-07-15 10:14:29 9344

原创 查询以及删除MySQL中重复的数据

先查询重复数据的单号, 再查询重复的数据select * FROM transaction_detailWHERE id IN ( SELECT id FROM ( SELECT id FROM transaction_detail GROUP BY trade_flow_no, account_no, service_code, direction, trade_type HAVING COUNT(*) > 1 ) dis);另一种是使用not inSEL

2020-07-14 09:50:46 91

原创 MySQL的MVCC与其它锁的区别

多版本并发控制(MVCC),是一种用来解决读-写冲突的无锁并发控制,也就是为事务分配单向增长的时间戳,为每个修改保存一个版本,版本与事务时间戳关联,读操作只读该事务开始前的数据库的快照。 这样在读操作不用阻塞写操作,写操作不用阻塞读操作的同时,避免了脏读和不可重复读。不仅是MySQL,包括Oracle、PostgreSQL等其他数据库系统也都实现了MVCC,但各自的实现机制不尽相同。MVCC与乐观锁和悲观锁:悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。但开销很大,在SELE

2020-07-14 01:42:00 1057

原创 MySQL长事务处理办法

长事务(Long-Lived Transactions),顾名思义,就是执行时间较长的事务。在innodb中可以查询到当前执行中的事务。select * from information_schema.INNODB_TRX;在访问表时,innodb会自动给加上元数据锁(meta data lock,MDL),MDL是表级锁。如果是读,就是共享锁,写就是排它锁。当执行长事务时,后续的事务如果要获取排它锁就会被阻塞。可能引发系统崩溃严重事故。解决办法:1.等系统不繁忙时操作2.检查表inf

2020-07-13 01:07:37 2170

原创 MySQL页分裂与页合并以及磁盘大小变化

从磁盘的物理结构来看存取的最小单位是扇区,一个扇区是512字节。微软操作系统(DOS、WINDOWS等)中磁盘文件存储管理的最小单位叫做“簇”。一簇就是一组连续的扇区,每个簇可以包括2、4、8、16、32或64个扇区。一个文件通常存放在一个或多个簇里,但至少要单独占据一个“簇”。 也就是说两个文件不能存放在同一个簇中。NTFS文件系统格式化的时候默认是8个扇区组成一个簇,即4096字节,即4kb。而MySQL读取数据的最小单位为页,默认大小为16kb。lnnoDB逻辑存储结构MySQL所

2020-07-08 01:47:27 2963

原创 Xml与Bean转换

有些接口接收参数是Xml格式,可以通过实现这个基础类转换.减少冗余代码/** * Xml Bean转换基础类 * */public abstract class MarshallAble{ public String marshallToString() throws JAXBException { JAXBContext jaxbContext = JAXBContext.newInstance(ClassUtils.getUserClass(childClass.

2020-07-06 10:06:32 384

原创 MySQL的文件格式file_format与行格式row_format

MySQL的文件格式在5.7之前是只有Antelope(羚羊)一种,在5.7之后新加了一种文件格式Barracuda(梭子鱼)。所以MySQL的InnoDB引擎有两种文件格式:Antelope和Barracuda。那怎么查询文件格式呢?如果查询不到说明是默认文件格式。show variables like "innodb_file_format";那怎么设置文件格式呢?设置为BARRACUDA需要开启INNODB_LARGE_PREFIX参数。SET GLOBAL INNODB_LA

2020-07-04 00:27:04 1886

原创 Java开发者MySQL使用手册

这个是对Java开发人员的MySQL使用手册.乱序持续更新中,建议不要使用5.6以下的版本,至少5.7以上.1.MySQL的数据类型MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。这个一定要熟悉,因为关系到你设计的表是否合理.可以参考MySQL 数据类型.2.字符集不要设置为utf8 ,改为utf8mb4.COLLATE使用utf8mb4_general_ci3.使用 int 或者 bigint 类型。如果需要存储到分的维度,需要 *100 进行放大.或者

2020-07-03 01:23:44 262

原创 Java使用位运算进行int的加减乘除运算

通过位运算计算int的加减乘除:加法原理:a+b位的异或运算跟求'和'的结果一致:异或 1^1=0 1^0=1 0^0=0求和 1+1=0 1+0=1 0+0=0位的与运算跟求'进位‘的结果一致:位与 1&1=1 1&0=0 0&0=0进位1+1=1 1+0=0 0+0=0所以a+b = (a^b)+((a&b)<<1)减法原理:a-b减去一个正数等于加上这个负数的补码.一个正数的补码是它的原码.一个负数的补码等于它的反码.

2020-07-01 16:31:52 11684 1

mysql-connector-java-8.0.23.jar.zip

MySQL5.8 jdbc 驱动包,下载后解压即可

2021-03-05

asmtools.jar

最新版asmtools.jar,基于Java8编译。可以查看字节码,修改字节码,转换jasm格式等。https://wiki.openjdk.java.net/display/CodeTools/asmtools

2020-07-21

Zookeeper_DistributeLock_Demo.zip

基于zookeeper的分布式锁实现Demo,可以直接使用.一个是初步实现功能,一个是改进可以直接使用的.建议使用改进版

2020-06-28

空空如也

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

TA关注的人

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