自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 sharding-jdbc中的max.connections.size.per.query

分表项目启动慢的问题,sharding-jdbc中的max.connections.size.per.query

2022-09-12 12:44:56 2873 1

原创 java线程池底层原理(ThreadPoolExecutor)

通过分析ThreadPoolExecutor了解更多线程池底层实现原理。

2021-08-21 10:47:51 563

原创 Mybatis详解(配置详解、源码解读、一级缓存二级缓存原理)

mybatis各个配置有什么意义?在代码中如何影响运行?一级缓存二级缓存具体怎么实现的?本文带大家从源码理解。

2021-08-14 10:18:20 406

原创 java中jar包运行之-jar和-cp命令

或多或少,我们都会见到用这两种命令启动java程序,最基本的用法如:java[options] -jar xxx.jar[args]java [options] -cp xxx.jar classname [args]那这两种用法有什么区别呢?我们先写一个简单的测试类(为了方便说明问题,不借助开发工具):1)在本机随便找个目录,创建com.test目录,并编写HelloTest.java文件:package com.test;public class HelloTest..

2021-07-29 22:43:17 3820

原创 Java多线程之wait、notify、yield、sleep、join解读

java线程常见方法概述

2021-07-18 18:03:12 568 4

原创 java项目线上tomcat日志行前esc乱码问题

问题描述:tomcat日志文件路径:/apps/logs/tomcat/catalina.out用more或者tail命令打开文件时一切正常:用less或vi命令打开文件时,发现行前有esc乱码,如:考虑到最近项目变更,猜测是引入了新的jar包,里面依赖了高版本log相关jar,于是做了下依赖检测,发现果然多了一个高本版依赖,在pom里exclude掉,解决问题。至于行前这个esc乱码到底是什么?没研究,欢迎懂的大神评论指导。...

2021-06-11 09:27:54 1537

原创 用MessageFormat格式化替换数字导致多了千位分隔符问题

以前我格式化字符串时喜欢用String.format,如:String str = String.format("hello:%s", 1001);System.out.println(str);输出结果即是我要的期望值:hello:1001然而,我有一天想换个用法时,也就是MessageFormat.format():String str = MessageFormat.format("hello:{0}", 1001);System.out.println(str);结果得到

2021-06-02 10:12:58 955

原创 java.lang.IllegalArgumentException: Comparison method violates its general contract!

java.lang.IllegalArgumentException: Comparison method violates its general contract!

2021-04-02 10:34:23 812

原创 一次线上mongodb的upset操作

mongodb分片集合上不正确的update操作导致的does not contain shard key for pattern问题

2021-04-01 20:25:34 1014

原创 利用Fiddler对Android手机app进行https抓包

基本流程:Fiddler配置、https抓包配置、代理配置、证书配置、信任证书

2021-03-19 18:37:38 680

原创 JAVA之ConcurrentHashMap和HashMap关于线程安全问题分析

ConcurrentHashMap之所以是线程安全的,其内部使用了CAS乐观锁+synchronized锁机制,保证多线程下的操作安全。

2021-03-03 20:09:28 321 4

原创 Java-return-finally

在try...finally...语句块范围内:1、return并不意味着方法的结束,return执行后,仍然会执行finally语句块;2、return时,只是把值暂存到栈中,当finally中也有return时,会用新的值覆盖栈中的值,方法彻底结束后,返回栈中的值,;

2021-02-24 17:15:38 554

原创 Linux日志文件查询统计实用命令

利用du、grep、awk、sort等命令,查看日志文件大小情况、查询关键日志、统计日志中关键信息

2021-02-23 14:44:12 1734

原创 MongoCursorNotFoundException,关于mongodb使用过程报游标找不到的问题

游标是什么?什么情况下游标会找不到?

2020-06-24 10:15:04 1523

原创 JDK1.8常用容器类数据结构分析(List/Set/Map/Queue)

JAVA容器类很多,但内部数据结构主要是数组或链表或红黑树,容器的操作算法都是基于这些数据结构完成的。

2020-05-02 10:57:09 530

原创 java之ThreadLocal原理及使用案例

ThreadLocal是java.lang包下的类,用于保存线程级别的参数,在多并发编程中,为每一个线程创建一个单独的副本,实现彼此隔离。

2020-04-21 10:30:50 355

原创 REDIS高可用之持久化、主从复制、哨兵和集群

Redis实现高可用的手段主要包括持久化、主从复制、哨兵和集群,本文就每一个特点展开进行详解。

2020-04-18 20:44:48 525

原创 消息中间件之RabbitMq

主要概念介绍、交换机详解

2020-04-11 11:10:40 138

原创 MySql聚簇索引和非聚簇索引详解

聚簇索引、非聚簇索引

2020-03-15 10:48:47 480

原创 java之行,走过的路,踩过的坑

1.测试案例单独写,不要在正常逻辑中改代码,很容易忘记改回;2.判断有没有数据时,不要用count(*),改为limit 1;3.一切涉及资源交互、socket连接的代码,都要考虑是否需要手动close或release;4.使用的表,一定要考虑好业务场景,提前加好索引,否则数据量达到临界值会出问题,另外要考虑单独清理表数据;5.日常所有脚本和事项都要记录下来6.系统打不开,除了应用本身需...

2020-03-07 10:49:56 151

原创 MySql存储引擎详细介绍

MySql5.5及以上版本,默认引擎是innodb,5.5之前的版本默认是myisam引擎。概念:MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。在Myisam下,数据库的每个数据表都有*.frm、*.Y...

2020-03-03 10:03:25 151 1

原创 java内存溢出(OutOfMemoryError)问题排查

关于项目中出现OutOfMemoryError错误问题排查分析,可以根据实际情况使用不同的方法方法一、项目运行过程中,监控jvm内存使用情况,发现异常首先利用jps命令查看jvm进程ID这里的OomTest类是我Eclipse中运行的main方法所在的类,以此为例。然后利用jmap命令查看目前堆中对象的统计信息jmap -histo [pid] 命令可以列出内存中对象的...

2020-02-03 10:46:25 1285

原创 maven打包报错:Error creating shaded jar: invalid LOC header (bad signature)

使用maven打包时一直报错,打包命令:mvn clean install -Dmaven.test.skip=true -P product报错如下:根据提示使用 -X 参数debug,命令:mvn -X clean install -Dmaven.test.skip=true -P product找到本地仓库中E:\maven\repo\org\scala-lang\sca...

2019-11-25 11:45:27 589

原创 图文梳理ReentrantReadWriteLock内部原理

ReentrantReadWriteLock,可重入的读写锁,位于java.util.concurrent包下,相比于ReentrantLock属于排他锁,ReentrantReadWriteLock内部分别维护了一个读锁和一个写锁,在对共享资源的使用时,允许多个读线程共享资源,但不允许读和写线程同时访问资源,在多读的并发操作中,其性能远优于ReentrantLock。ReentrantRea...

2019-11-15 09:30:55 676 1

原创 Mysql大表数据清理

假设大表表名:t_logdelete操作会记录mysql日志,大数据量的清理会耗费大量时间,所以一般得用其他方式。1、如果大表数据对我们来说不重要,完全可以直接清理,那么可以用truncatetruncate table t_log;truncate的操作不记录mysql日志,所以数据是不能恢复的。2、如果需要保留部分数据创建表并直接保留需要的数据create tab...

2019-11-10 21:57:58 1605 3

原创 java各种锁概念大全(乐观、悲观、自旋、公平、非公平、CAS等等)

本篇主要介绍各种锁相关的概念,没有过多详细的讲解,帮助大家一起梳理整个java锁知识体系。关于锁的概念,很多都是从不同角度去划分的,有些是互斥的概念,如悲观锁和乐观锁,有些是兼容的概念,如悲观锁可以是公平锁,可以是阻塞锁,而有些则纯粹是锁实现的算法,如CAS算法是乐观锁的一种实现方式。1、悲观锁和乐观锁悲观锁:总是往坏处想,认为当前线程使用的共享资源一定会被其他线程修改,所以需要在开始...

2019-10-21 10:23:54 258

原创 java同步锁的几种实现方式

单机环境下对共享资源的同步访问可以用java提供的api去实现。一、synchronized关键字这应该是java开发人员很熟悉的一个关键字了,可以用在代码块和方法上,保证代码或方法的同步运行。看如下一个简单的代码示例,使用了十个线程,每个线程修改十次资源:public class LockTest { public static void main(String[] arg...

2019-10-15 11:08:18 2119

原创 jar包冲突解决思路

工作中,难免会因为各种原因需要对项目jar包进行升级,一升级,就会碰到各种jar包冲突问题,这时候就需要我们能很快定位冲突的位置,以及如何快速调整依赖。首先,我们通常说的jar包冲突到底是指什么?jar包冲突本质是因为项目中存在多个同包同名类,而虚拟机加载了我们不期望加载的类,这些类可能已经过时,缺失了一些新的方法或逻辑,也有可能太新,需要引入更高版本其他jar包的内容,这样就会导致项目中...

2019-10-10 09:52:46 6494 3

原创 java类加载器

Java所有的类都由类加载器负责加载到虚拟机内存中,对于任意一个类,都需要由加载它的类加载器和这个类本身一同确定其在java虚拟机的唯一性,所以我们通常比较的两个类“相等”,实则是同一类加载器加载的前提下,如果类加载器不同,即便是同一个类,也不会相等。java中类加载器分为两种:一种是用c++语言实现的加载器,也就是启动类加载器,是虚拟机的一部分;另一种就是java语言自己实现的加载器,全部继...

2019-09-29 09:20:18 484

原创 slf4j和logback日志框架详解

什么是slf4j?slf4j(Simple Logging Façade For Java)是门面模式的一种应用,提供一套接口供调用,本身不实现具体的日志输出逻辑,通常和其他的具体实现打印功能的日志框架组合使用,比如一会要说的logback,为什么要用slf4j,而不直接用logback呢?因为slf4j是一套接口规范,提供日志调用门面,不需要我们关心其具体使用的哪种日志框架,对项目来说低耦合...

2019-09-20 12:55:03 1344

原创 计算机真值、原码、反码、补码、移码

1.概念介绍首先,我们假设机器存储数字字长是8位。直接使用表格举例说明概念和计算方式:概念 例1 例2 例3 例4 例5 例6 转换关系 真值(十进制) +0 -0 +5 -5 +0.5 -0.5 十进制形态下的数字 真值(二进制) +0 -0 +101 -101 ...

2019-09-14 12:34:40 7870

原创 java泛型介绍

泛型是java1.5引入的新特性,用来参数化类型,可以用在接口、类、方法中,分别称为泛型接口、泛型类、泛型方法。1.泛型类我女朋友爱吃水果,家里也有很多天猫超市货品纸箱,买回来的水果都放到纸箱子里,作为箱子,当然是什么东西都可以放的,就像这样:public class Box { private int capacity = 10; private Object[] ...

2019-09-08 12:25:32 164

空空如也

空空如也

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

TA关注的人

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