自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 详解面向对象设计模式六/七大原则

为什么是什么设计模式六大原则设计模式七大原则六大设计原则七大设计原则单一职责原则开闭原则里式替换原则接口隔离原则依赖倒置原则迪米特原则组合/聚合复用原则工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

2021-08-20 00:18:50 545

原创 去趟八大胡同看懂多线程的wait和notify,notifyAll

一文讲清多线程的wait和notify,notifyAll前言头牌‘赛铁花’注意细节白话wait/notify/notifyAll原理Wait/notify/notifyAll用法wait/notify/notifyAll实现原理及结论wait/notify/notifyall的应用场景前言很多同学不太能搞明白wait,notify和notifyAll的用法,实现原理,应用场景今天试着来从一个故事入手来讲一下这几个问题。头牌‘赛铁花’京城有一名仕张三和好友李四,今天要款待俩人多年未见好友王五。酒过三

2021-02-11 00:24:27 311 1

原创 Java性能优化常用命令及工具简介

GC频繁,堆内存分析,性能分析,线程状态jmeterjmap jmap -histo pid |more jmap -histo:live pid | more jmap -dump:format=b,file=2020.jmap.hprof pidJprofilerjstat jstat -gc pid 5000top -Hp pidprintf "%x\n" threadIdjstack -l pid | grep -A12 ’tId\|running’

2021-01-24 23:36:31 270

原创 Dubbo3.0如何实现进行路由扩展

Dubbo3.0如何实现进行路由扩展前言关键类RouterFactory 接口CacheableRouterFactory抽象类Router 接口AbstractRouter 抽象类RouterChain 类怎么扩展路由实现抽象类Maven项目结构配置spi文件配置consumer的Reference前言Dubbo提供了丰富的路由配置规则,但有时候确实有一些自定义的路由规则在Dubbo的现有配置框架下不能满足我们的需求,需要我们对路由进行扩展。[官网文档]: https://dubbo.apache.o

2022-05-12 00:15:04 949

原创 【手撕RPC服务分几步】

手撕RPC服务分几步前言什么是RPC从被调用方(provider)来说从调用方(consumer)来说扩展思考dubbo架构图前言本文试图通过手撕RPC的理论步骤来帮助我们更好的理解其特性,也更好的理解像Dubbo,sofa-RPC等RPC服务的架构。什么是RPCRPC(Remote Procedure Call)远程过程调用,现在因为微服务概念的火爆又叫远程服务调用。再翻译一下就是允许像调用本地服务一样调用远程服务。比如说两个应用,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,

2022-05-07 12:56:56 595

原创 IntelliJ IDEA 行间距不一致问题

IntelliJ IDEA 行间距不一致问题问题描述Idea使用时候有些会碰到行间距过宽,或者行间距不一致的问题,如下图所示的两种情况即便调整了行间距也还是不行,还是要么间距过宽,要么就是有的宽有的窄。原因原因其实不是行间距的问题,而是Idea做了镶嵌提醒的原因,就是在行中间会增加一些提示信息,比如在某个类有多少子类的 n inheritor,或者某个方法、字段有多少处在使用的 n usages。如第二个图所示。那这样因为在行之间要添加这

2022-04-29 19:29:14 1448 2

原创 Mac安装MySQL8碰到的问题

Mac安装MySQL8碰到的问题链接数据库时候报错选择数据库或表的时候抛出异常,无限转菊花链接数据库时候报错报错信息大体如下Connection failed.MySQL said: Authentication plugin ‘caching_sha2_password’ cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 0x0002): tried: ‘/usr/local/mysql/

2022-02-10 16:59:11 886

原创 【详解在yaml中配置log格式】

详解在yaml中配置log格式需求成品拿走默认配置在哪里参数详细解释参考资料需求日志按照不同级别显示不同颜色日期时间打印把年份省略或只保留后两位线程名的全名显示出来显示输出日志的类名和行数成品拿走日志显示颜色添加如下配置spring: output: ansi: enabled: ALWAYS日期,线程名全显,打印行数用下面的配置## 配置日志logging: pattern: console: '%clr(%d{${LOG_DATEF

2022-01-27 23:46:02 1155

原创 数据库连接池数量配置公式

数据库连接池数量配置前言公式我的理解前言这里没有说明具体那种数据库那种连接池是因为这个公式适合大多数的各种数据库和各种连接池。服务器连接池的数量配置很重要,太少了DB服务器工作不饱和,客户端的事务在积压;太多了服务器又响应不过来,又得频繁切换上下文,导致适得其反。那么到底配置为多少才能既充分的发挥数据库新能而又不浪费客户端的性能呢?公式https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing上有较为详细的说明,英语好、感兴

2022-01-10 23:30:19 1257

原创 脏读会引起什么问题

脏读会引起什么问题引言什么是脏读会引起什么问题引言在事务的隔离级别中我们会看到四种事务隔离级别(读未提交,读已提交,可重复读,串行化),和在不同隔离级别下会产生的问题,其中第一个问题就是再读未提交下会产生脏读的情况。那究竟什么是脏读?而脏读又回引起什么问题呢?什么是脏读首先有两个背景要说明一下MySQL服务并不是单线程运行的脏读就是事务产生的修改在提交之前,已经可以被其他事务给读到了。假设两个不同的线程分别有两个不同的事务A和B,他们按照下面的时序来执行,假设初始值为0。那么,在B1读

2022-01-07 23:41:06 957

原创 VIM工具设置步骤

VIM工具设置步骤入门引子找到配置文件修改配置文件引子VIM作为常用的文本编辑器有很多可以设置项,比如我们打开一个文件以后在命令行模式输入set nu来显示行号。但是这个是针对当前打开的这个文件有效,有时候我们想对所有用vim打开的文件生效怎么办?其实很简单,它也是有一些配置文件可以配置的。找到配置文件vim的配置文件一般为vimrc,在系统命令行输入vim --version就会输出一些版本信息,其中在最下面几行就是VIM工具加载的配置文件的一些路径。如下:Test:~# vim --versi

2021-12-29 23:16:37 382

原创 你值得收藏的binlog设置参数详解

概述binlog即binary log,中文翻译一般为二进制日志。这里详细整理了常用的相关配置和解释,包括binlog_format,max_binlog_size,binlog_cache_size,max_binlog_cache_size,binlog_do_db,binlog_ignore_db,sync_binlog等。binary log包含那些可能会引起数据库或表数据变化的events或者statements,还包括更新语句的耗时信息,查询则不会不记录在binary log。这个日志有两

2021-12-29 00:09:41 3723

原创 超详细用profile工具分析sql语句执行及status说明

超详细的profile使用说明,附有status说明,和一个小案例通过该工具可以获取一条Query 在整个执行过程中多种资源的消耗情况,如 CPU,IO,IPC,SWAP 等,以及发生的 PAGE FAULTS,CONTEXT SWITCHE 等等,同时还能得到该 Query 执行过程中 MySQL 所调用的各个函数在源文件中的位置。

2021-12-20 23:35:20 1325

原创 Innodb引擎的innodb_lock_wait_timeout参数说明和验证

Innodb引擎在执行update语句时候会对对应的行进行锁定,直到事务提交完毕或回滚才会释放。在持有行锁的过程中如果有其他事务b也想修改锁定行的数据,则要等待锁的释放。如果锁一直不释放,那么事务b不可能一直等待下去,那么这个最大的等待时长就是由innodb_lock_wait_timeout来指定,单位是秒。如果等待锁的事件超过了 innodb_lock_wait_timeout 指定的秒数,则会抛出异常并回滚事务

2021-12-04 11:52:43 10053 1

原创 详解JDBC链接中的参数autoReconnect到底生效吗

JDBC链接中的参数autoReconnect到底生效吗?答案是肯定生效的,但是有一些注意事项如果没处理好就会导致不生效。并且即便生效了,也有一些小坑需要处理,所以官方意见是不推荐用这个参数的。

2021-12-03 17:32:36 6127

原创 如何让JProfiler打开hprof时不自动FullGC

如何让JProfiler打开hprof时不自动FullGC背景JProfiler是一款JVM运行状态分析,内存泄漏查询,线程状态查看的神器。在用来查看内存快照的时候(hprof snapshot),一般直接双加hprof文件就可以直接打开。然后Jprofiler会执行一些初始化和分析工作并生成一些分析结果文件,然后就可以打开了。问题-想看FullGC前的情况怎么办直接打开hprof文件的时候,JProfiler默认是对你的dump文件做了FullGC的。有图为证。双击打开以后内若如下图,注意①已

2021-12-03 12:00:21 1328 2

转载 df和du显示的磁盘空间使用情况不一致的原因及处理

df和du 不一致 磁盘空间 Disk Usage Disk Free lsof

2021-10-29 17:47:07 1574

转载 Bresenham算法的推导和改进(适应第一象限的任意斜率任意方向)

Bresenham算法推导过程Bresenham任意斜率 方向计算直线坐标起点和终点 经过的坐标Bresenham 全方向光栅化算法 改进

2021-01-25 23:25:28 1971

原创 IntelliJ IDEA svn提交报错 E000060

svn: E000060: Commit failed (details follow)svn: E000060: Error running context: Operation timed out

2021-01-15 22:15:20 1419

原创 《从Paxos到ZooKeeper》读书笔记之第一章(二)

《从Paxos到ZooKeeper》读书笔记之第一章(二)1.2从ACID到CAP/BASE这一节由三小节,从大家数值的数据库事务的四个特性,引出来分布式事务的概念。通过对ACID模型的讨论,提出如何构建一个兼顾可用性和一致性的分布式系统方案,于是出现了诸如CAP和BASE这样的分布式经典系统理论1.2.1 ACID事务: 1.多个程序并发访问数据库时,事务提供了一种进程间的隔离方法,防止互相干扰 2.未数据库操作序列提供了一个从失败中回复到正常状态的方法,同时提供了数据库即使在异常状态下仍能

2021-01-10 00:14:02 165

原创 《从Paxos到ZooKeeper》读书笔记之第一章(一)

《从Paxos到ZooKeeper》读书笔记之第一章(一)开始读《从Paxos到ZooKeeper》这本书,以了解和使用ZooKeeper,这里会记录一些随笔画下来的自以为的重点、自己理解和代码块。第一章 分布式结构1.1 从集中式到分布式定义:分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅通过消息进行通信和协调的系统特征:一个标准的分布式系统在没有任何特定业务逻辑约束的情况下,都会有如下特征1.分布性:空间上随意分布,分布情况也会随时变动2.对等性:1)分布式系统中的

2021-01-09 23:17:19 137

原创 bat 脚本启动class文件或jar文件,配置可remote debug

bat 脚本 class Jar remote debug 远程调试 命令行 找不到或无法加载主类 CLASSPATH rem 包含多个jar包和其他配置文件

2020-03-26 23:39:50 1372

原创 Java代码中Redis的scan方法中cursor(即scanResult.getStringCursor())返回乱码

Java代码中Redis的scan方法中cursor返回乱码scanResult.getStringCursor 乱码JedisDataException: ERR invalid cursor

2020-03-11 15:57:09 6011

空空如也

空空如也

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

TA关注的人

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