自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

胡金水的博客

有技术问题,可以QQ联系:805460597

原创 如何使用命令导出mysql数据

简单,如下命令:mysql -h1.0.0.0 -proot -uroot -e"select * from dual;" >/tmp/test.xls如果上面这个不行,用下面这个:echo "select * from dual;" mysql -h1.0.0.1 -proot -uroot > /tmp/test.xls

2020-07-20 16:11:03 26

原创 maven使用命令将jar包deploy到Nexus

命令:➜ mvn deploy:deploy-file -DgroupId=net.sourceforge.cpdetector -DartifactId=cpdetector -Dversion=1.0.7 -Dpackaging=jar -Dfile=/Users/lcp/Downloads/cpdetector-1.0.7.jar -Durl=http://192.168.2.4:18888/repository/thirdparty/ -DrepositoryId=releases说明:

2020-06-17 19:39:25 110

原创 use dubbo version 2.5.7 is now destroyed! Can not invoke any more

异常报错:com.alibaba.dubbo.rpc.RpcException: Rpc cluster invoker for interface com.xxx.WithdrawFacade on consumer 10.0.0.1 use dubbo version 2.5.7 is now destroyed! Can not invoke any more.问题分析:  生产者的服务器内存不足导致的异常报错.解决方案:  干掉其他无用的进程,或者加内存....

2020-06-11 15:35:59 230

原创 SpringBoot 的jar包为什么可以直接启动?
原力计划

  首先,先准备一个jar包,我这里准备了一个demo-0.0.1-SNAPSHOT.jar;先来看看jar包里面的目录结构:├── BOOT-INF│ ├── classes│ │ ├── application.properties│ │ └── com│ │ └── sf│ │ └── demo│ │ └── DemoApplication.class│ └── lib│ ├─

2020-06-10 22:54:09 155

原创 One of the two will be used. Which one is undefined.

启动main方法,遇到如下报错信息:objc[95202]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_141.jdk/Contents/Home/bin/java (0x1074014c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_141.jdk/Contents/Home/jre/lib/libinstrument

2020-06-10 15:26:05 67

原创 maven install 提示:Process terminated

报错如图:解决方案:打开idea,Preferences界面(可以用快捷键Ctrl+,或command+,),找到maven,重新设置User setting file配置就可以了,其实就是找不到setting.xml文件。前人踩坑,后人避坑!给一些初学者一些解决方案吧!...

2020-06-09 16:43:18 1469 1

原创 什么是fat jar?

  在java中,通常将应用程序及其依赖jar一起打包到一个独立的jar中,就叫fat jar,它也叫uberJar。springboot的打包方式就是这样,将应用程序代码打包到BOOT-INF.classes,将依赖包打包到BOOT-INF.lib目录,以下是springboot的jar包的目录结构(目录生成命令是tree,没有的话可以自己安装哈):├── BOOT-INF│ ├── classes│ │ ├── application.properties│ │ └── co

2020-06-09 14:52:19 78

转载 fastjson又双叒叕出安全漏洞了

  近日,阿里云应急响应中心监测到fastjson爆发新的反序列化远程代码执行漏洞,黑客利用漏洞,可绕过autoType限制,直接远程执行任意命令攻击服务器,风险极大。1. 漏洞描述  fastjson采用黑白名单的方法来防御反序列化漏洞,导致当黑客不断发掘新的反序列化Gadgets类时,在autoType关闭的情况下仍然可能可以绕过黑白名单防御机制,造成远程命令执行漏洞。经研究,该漏洞利用门槛较低,可绕过autoType限制,风险影响较大。阿里云应急响应中心提醒fastjson用户尽快采取安全措施阻止

2020-06-03 13:58:39 444

原创 MAC工具之复制粘贴备忘录(Pasteasy)

  有时候,你需要复制很多文本或者图片啥的,突然需要重新去找可能会比较麻烦,这时候复制备忘录就派上用场了,他可以将所有复制后的记录,都放在Pasteasy里面,当你需要复制以前的记录,可以从这里面找,无需从源头找起。下载地址:http://www.pc6.com/mac/153530.html...

2020-05-27 23:03:56 66

原创 MAC 多窗口切换(HyperSwitch)

牛逼的MAC软件,大名叫:HyperSwitch ,可以随意切换窗口,跟Windows一样,使用Ctrl+tab就可以切换自己想要的窗口,MAC我是找了很久,今天终于给我遇到了,真棒!!下载地址:http://www.pc6.com/mac/588353.html...

2020-05-27 22:58:38 121

原创 cron表达:周一至周五每天早上9点40执行定时任务(BUG记录)

  今天周五,发现线上环境定时任务没有执行,我之前的表达式是这样的:0 40 9 ? * 1-5这个表达式其实是有问题的,可以从源码CronExpression中发现,它里面有这样的一个枚举:dayMap.put("SUN", 1);//星期日dayMap.put("MON", 2);//星期一dayMap.put("TUE", 3);//星期二dayMap.put("WED", 4);//星期三dayMap.put("THU", 5);//星期四dayMap.put("FRI", 6);//星

2020-05-22 15:56:52 644

原创 深入浅出Mysql-InnoDB锁算法
原力计划

Record Lock  行锁,总是会去锁住索引记录,如果InnoDB存储引擎表在建立的时候没有设置任何一个索引,那么这时InnoDB存储引擎会使用隐式的主键来进行锁定Gap Lock  间隙锁,锁定一个范围,但不包含记录本身(⚠️注意间隙锁只会存在隔离级别REPEATABLE-READ),如下表中,当锁定id=3,Gap Lock会锁定(1,3),(3,5);idab12a34b56c78dNext-Key Lock  临键锁,即Ga

2020-05-22 00:14:13 80

转载 redis性能优化你知道几个?

1、尽量使用短的key  当然在精简的同时,不要为了key的“见名知意”。对于value有些也可精简,比如性别使用0、1。2、避免使用keys *   keys *, 这个命令是阻塞的,即操作执行期间,其它任何命令在你的实例中都无法执行。当redis中key数据量小时到无所谓,数据量大就很糟糕了。所以我们应该避免去使用这个命令。可以去使用SCAN,来代替。3、在存到Redis之前先把你的数据压缩下  redis为每种数据类型都提供了两种内部编码方式,在不同的情况下redis会自动调整合适的编码方式

2020-05-16 21:45:51 90

原创 什么是缓存雪崩、缓存穿透、缓存击穿以及解决方案

什么是缓存雪崩?场景:  例如淘宝平台,某位后端研发童鞋小明,将Redis缓存中所有key(假设有1000w的key)的过期时间设置为同一时间,假设都设置为5秒;5秒后,所有key都过期了,这时候就需要从数据库中拿到key对应的数据,重新设置到缓冲中,这是正常流程。其实,当有1000w的请求打到数据库中,试问哪家的数据库可以抗住这个压力(除非特别有????),肯定是顶不住的,最后数据库宕机,凉了~,绩效也没了。图解:解决方案:要保证redis的高可用,可以使用主从+哨兵或redis clus

2020-05-14 17:49:48 118

原创 使用JD-GUI反编译报// INTERNAL ERROR //错误

什么都别说了,换一个工具(Luyten)吧;下载地址:https://github.com/deathmarine/Luyten/releases很强~~欢迎关注我的微信公众号,里面有很多干货,各种面试题

2020-05-13 14:41:26 197

原创 Springboot 基于@Retryable实现重试机制

首先,添加依赖配置:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></dependency><dependency> <g...

2020-05-03 21:05:35 340 2

转载 chmod命令总结

  Linux/Unix 的文件调用权限分为三级:文件拥有者、群组、其他。利用chmod可以控制文件如何被他人所调用。语法:  chmod [-cfvR][--help] [--version] mode file...mode:  权限设定子串,格式为:[ugoa...][[+-=][rwxX]...][,...]参数说明:u表示该文件的拥有者,g表示与该文件的拥有者属于同一个群组...

2020-04-07 15:32:01 50

原创 idea 如何删除Open Recent项目

  用idea打开很多不同项目后,就会在Open Recent记录打开项目的历史记录。对于有强迫症的人来说,这历史记录多了,心里难受,就想着怎么清理掉。打开idea->File->Open Recent->看到最下面有一个Manage Project,然后光标移动到想删除的项目,点击右边的小叉叉就可以了...

2020-04-01 15:37:32 360

原创 简单实现基于Spring实现责任链(二)

场景:  OA审核;员工提交请假条,需要组长、主管、老板、HR等审批。话不多说了,直接上代码看吧首先,构建一个抽象的审批类->ProcessChainpackage com.example.springchaindemo.chain.oa;/** * @projectName: spring-chain-demo * @className: ProcessChain * @...

2020-03-30 19:59:14 163

原创 简单实现基于Spring实现责任链(一)
原力计划

场景:  短信发送;有很多规则,例如:开关、发送次数、黑名单、手机格式校验等等。  现在,下面基于这种场景来实现过滤式责任链,如果不使用责任链,就会产生很多if else存在,并且下次要添加新的规则,需要改动原来的代码,不符合开闭原则。  这里为了演示,实现起来会比较简单,重点是要理解责任链这个东西的使用方法。短信发送场景:短信发送SmsDTO实体对象:package com.exam...

2020-03-30 19:41:06 330

原创 idea:properties in parent definition are prohibited提示报错

<parent> <artifactId>demo</artifactId> <groupId>com.app</groupId> <version>${demo.parent.pom.version}</version></parent>maven 配置父pom文件时,idea提示这...

2020-03-20 10:16:58 1125

原创 zookeeper异常奔溃分析

网络情况:内存情况:磁盘使用情况:cpu使用情况:故障分析思路(故障时间Wed Feb 26 21:28:24 2020,zookeeper版本号3.4.11):1、查看网络、内存、磁盘、cpu等情况;2、查询是否有人执行了kill命令(排查人为操作);3、查看jvm启动参数,找到ErrorFile对应的错误文件以及dump日志文件;主要是通过以上方式排查问题:  首先,...

2020-03-05 01:23:21 130

原创 安装brew命令遇到坑

安装brew遇到如下报错信息:ruby brew_install.rb Warning: The Ruby Homebrew installer is now deprecated and has been rewritten inBash...

2020-03-05 00:58:13 1851 2

原创 Mac 本地安装docker以及安装Zookeeper和Redis镜像

安装方式1、手动下载安装(墙裂推荐)Stable版(每个季度更新stable版本):https://download.docker.com/mac/stable/Docker.dmgEdge版(每个月更新edge版本):https://download.docker.com/mac/edge/Docker.dmg2、使用Homebrew安装(很慢,不推荐,而且还会出错)命令:brew c...

2020-02-26 20:30:58 123

原创 64匹马8个跑道需要多少轮才能选出最快的四匹

分成两种场景:计时的场景:8场,不用解释,根据计时排名无计时的场景:最少10场,最多11场思路:1、分8组决出8组前四名,共跑8次,每个小组剩下四人;(已跑8场)2、把八个小组里面的第一名选手代表小组出来跑(已跑8+1 = 9 场) ,淘汰后四组,他们组中的第一名都没进前四,剩下的肯定不行,后四组全部淘汰3、排名第四的组,淘汰剩下的3个,因为他们中最好的,顶多就是维持目前的...

2020-02-19 17:41:33 327

原创 java实现代理的三种方式

静态代理JDK动态代理CGLib动态代理代理类图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5k0OYSOi-1582104681524)(/Users/lcp/Downloads/proxy-class.png)]静态代理实现方式/** * @projectName: thread-demo * @className: IHelloServi...

2020-02-19 17:32:41 79

原创 什么是组合索引?在哪些场景中,组合索引会失效?

什么是组合索引?  给多个字段一个索引叫组合索引。问题:在哪些场景中,组合索引会失效?场景:数据表:job_status_trace_log【说明:id是主键】数据量:35w创建索引:ALTER table job_status_trace_log add INDEX creation_time_index(creation_time,job_name,source)例子:组合索引...

2020-02-17 01:20:13 716 1

原创 咱们来聊聊CAP和BASE理论

  在接触分布式事务的时候,往往离不开两个理论,那就是CAP和BASE理论。什么是CAP理论?C:一致性(Consistence)。所有节点访问的都是同一份最新的数据副本。A:可用性(Availability)。每次请求都能获取正确的响应——但不保证获取的数据为最新数据。P:分区容错性(Tolerance of network Partition)。以实际效果而言,分区相当于对通信的时限要...

2020-02-11 00:41:51 88

转载 Cache 和 Buffer 都是缓存,主要区别是什么?

Cache 和 Buffer 都是缓存,主要区别是什么?  首先cache是缓存,buffer是缓冲,虽然翻译有那么一个字的不同,但这不是重点。个人认为他们最直观的区别在于cache是随机访问,buffer往往是顺序访问。虽然这样说并没有直击本质,不过我们可以待分析完毕之后再来讨论真正的本质。  为了说明这个问题,让我将他们分开来说:read cache(读缓存),read buffer(读...

2020-01-02 23:10:05 83

原创 mac+lua环境搭建及开发脚本

环境搭建# 安装luabrew install lua⚠️注意:mac安装完之后路径是在/usr/local/bin/lua,linux下是安装路径是/usr/bin/lua开发脚本:Test.lua#!/usr/local/bin/luaprint('hello world')需要给lua脚本修改成可执行权限chmod +x Test.lua运行./Test.luahel...

2019-12-31 11:10:08 46

转载 如何正确访问redis中海量数据

如何正确访问redis中海量数据目录前言事故产生分析原因解决方案总结前言有时候我们需要知道线上的redis的使用情况,尤其需要知道一些前缀的key值,那我们怎么去查看呢?事故产生因为我们的用户token缓存是采用了【user_token:userid】格式的key,保存用户的token的值。我们运维为了帮助开发小伙伴们查一下线上现在有多少登录用户,直接用了keys use...

2019-12-25 13:34:33 35

转载 为什么 ConcurrentHashMap 的读操作不需要加锁?

为什么 ConcurrentHashMap 的读操作不需要加锁?我们知道,ConcurrentHashmap(1.8)这个并发集合框架是线程安全的,当你看到源码的get操作时,会发现get操作全程是没有加任何锁的,这也是这篇博文讨论的问题——为什么它不需要加锁呢?ConcurrentHashMap的简介我想有基础的同学知道在jdk1.7中是采用Segment + HashEntry + R...

2019-12-20 14:47:56 113

原创 nginx配置http和https代理

nginx配置如下:upstream api_service { server 127.0.0.1:8080 max_fails=3 fail_timeout=30; ip_hash; keepalive 256;}# 支持http访问server { listen 80; server_name localhost;...

2019-12-19 17:41:47 42

转载 面试官:设计一个本地缓存,需要考虑那些点?

面试官:设计一个本地缓存,需要考虑那些点?前言最近在看Mybatis的源码,刚好看到缓存这一块,Mybatis提供了一级缓存和二级缓存;一级缓存相对来说比较简单,功能比较齐全的是二级缓存,基本上满足了一个缓存该有的功能;当然如果拿来和专门的缓存框架如ehcache来对比可能稍有差距;本文我们将来整理一下实现一个本地缓存都应该需要考虑哪些东西。考虑点考虑点主要在数据用何种方式存储,能存储多少...

2019-12-19 14:32:47 85

转载 设计秒杀系统,应该如何思考?

设计秒杀系统,应该如何思考?前言秒杀大家都不陌生。自2011年首次出现以来,无论是双十一购物还是 12306 抢票,秒杀场景已随处可见。简单来说,秒杀就是在同一时刻大量请求争抢购买同一商品并完成交易的过程。从架构视角来看,秒杀系统本质是一个高性能、高一致、高可用的三高系统。而打造并维护一个超大流量的秒杀系统需要进行哪些关注,就是本文讨论的话题。整体思考首先从高维度出发,整体思考问题。秒...

2019-12-18 23:12:57 48

转载 Dubbo 序列化协议 5 连问,你接得住不?

Dubbo 序列化协议 5 连问,你接得住不?1)dubbo 支持哪些通信协议?2)支持哪些序列化协议?3)说一下 Hessian 的数据结构?4)PB 知道吗?5)为什么 PB 的效率是最高的?面试官心理分析上一个问题,说说 dubbo 的基本工作原理,那是你必须知道的,至少要知道 dubbo 分成哪些层,然后平时怎么发起 rpc 请求的,注册、发现、调用,这些是基本的。接着就可...

2019-12-18 14:23:52 29

原创 Mac express全局安装后 command not found

Mac express全局安装后 command not found异常信息:express command not found我mac电脑上安装了express 和express-generator之后,依然会出现如上 找不到命令的异常信息,真是气死人。后来,仔细观察,发现安装express-generator之后会输出一串信息,如下:lcpMacBook-Pro:~ lc$ npm...

2019-12-17 19:32:16 396

原创 autoreconf: command not found

autoreconf: command not found安装步骤1、下载autoconf、libtool、automake下载链接:见我的下载库2、解压并安装对应的包解压命令:tar -zxvf xxxxxxx.tar.gz安装步骤:先sudo ./configure --prefix=/usr/local/autotools-bin,然后make,最后sudo make insta...

2019-12-08 22:54:23 2782

原创 使用SonarLint连接SonarQube提示

异常提示:Analyzers Not LoadedThe following plugins do not meet the required minimum versions, please upgrade them in SonarQube:javascript(installed:3.2.0.5506,minimum:4.0.0.5862),java(installed:4.15...

2019-10-21 20:52:15 1208

原创 Eclipse Memory Analyzer:使用-data参数异常的解决方案

启动Eclipse Memory Analyzer(即MAT)程序报如下异常:eclipse.buildId=unknownjava.version=1.8.0_141java.vendor=Oracle CorporationBootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=zh_CNFramework argumen...

2019-10-17 16:45:14 167

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