- 博客(21)
- 资源 (15)
- 收藏
- 关注
原创 windows系统电脑将nacos/zookeeper等第三方组件注册成windows服务,开机自启
原理:使用apache的Procrun软件,自主注册windows服务,需指定启动脚本和停止脚本。大致步骤如下:1.下载Procrun: http://archive.apache.org/dist/commons/daemon/binaries/windows/ 选择最新的版本,如commons-daemon-1.2.2-bin-windows.zip2.解压zip包3.准备好zookeeper/nacos的资源,解压,其中nacos的下载地址:https://github.com/ali
2020-06-03 14:20:44
4168
2
原创 SpringBoot在Centos(Linux)系统上以init.d即SysVinit(SystemV)守护进程的方式部署项目Jar包
一.引言在linux系统中,我们通常使用下面指令来部署springboot项目:nohup java -jar appname.jar --spring.profiles.active=qa > /dev/null 2>&1 & echo $! >"appname.pid"除了上述使用java -jar的方式部署springboot项目之外,spri...
2019-12-29 16:24:42
1033
原创 记一次linux重装后ssh导致的问题: IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
情景: 1.腾讯云上买了一台linux服务器,然后本机使用ssh密钥登录过。 2.过年的时候抢票,自己没有服务器资源,然后把腾讯云服务器重装系统成windows系统去抢票。 3.抢票完之后,又把windows系统装回linux系统,还是使用的原来那份密钥。 4.这时候本机再使用ssh密钥登录,问题就来了。问题如下图...
2019-12-27 12:09:40
4364
原创 记一次Java程序莫名其妙消失不见的排查
表现: 1.前端突然问我,Java服务是不是停了。 2.第一反应查看java日志文件,没有发现服务重启的日志,OOM的日志,异常日志也没有信息 3.根据日志里面显示的pid以及启动保存的pid,去查看linux进程,发现该进程已经不在分析: 1.先确认java进程是否停止,指令:lsof -i:8080 或者netstat -...
2019-12-26 15:31:52
2659
原创 归并排序算法
归并排序(二路归并排序)是一个高效的排序算法,仅次于快速排序。思想:将元素从中间一直往下切分,直到分解成1个元素(不能再分时)就开始将数组进行合并排序。一直往下二分,不能再分时,再把所有的二分合并并且排序。核心在于二分,还有就是合并时如何进行排序。实现:二分使用递归,合并排序实际上是将两个有序序列进行排序,解决这两个问题,代码就没有任何问题了。时间复杂度:O(nlo...
2019-12-13 17:39:01
233
原创 Springboot整合RestHighLevelClient进行Elasticsearch操作,基于6.3.2版本,6.1.1测试通过(辛酸踩坑历史及经验分享)
说一下写这篇文章的原因,有点小复杂。1.公司的es版本是6.1.1.禁用了9300的transport端口,只开放了rest端口. 我的springboot项目版本是2.2.0.2.一开始兴致勃勃使用了springdata starter es,觉得就这么完事了。跑起来完全不报错,结果一来个简单查询就给我报错了,报的是查询参数多了,es当前版本并不支持该参数,不就是http请求吗?多传个参...
2019-12-12 15:31:36
4490
2
原创 插入排序算法
插入排序算法 插入排序就像斗地主”打扑克“一样,发牌的时候把手里的扑克牌排好顺序,每从扑克牌里抽一张牌的时候,把抽到的牌与手里的牌作比较,插入到合适的位置。(实际上插入的时候,后面的牌都依次往后移了一位) 该算法就是插入排序。插入排序属于最基础的排序算法,比冒泡排序的应用场景更多。1.时间复杂度: 最差的结果-逆序:O(n^2),最好的结果-正序:O(n)2.空间复杂度...
2019-12-12 11:23:35
115
原创 IntelliJ IDEA中好玩的注释
1.TODO comments -待办事项注释写代码时,有时候写着写着突然就有个线上的bug或者有个更紧急的需求,不得不放下正在写的东西,去做别的事。当那件事情忙完之后,回到原来的代码,不知道自己写到哪了。需要凭着记忆找半天。这时候有个非常好的注释,//todo,如果代码中有该注释,注释会高亮显示,并且会在todo窗口中罗列出所有有todo注释的地方,点击即可跳转对应的地方,方便你定位代...
2019-12-09 16:42:26
4660
原创 mysql explain笔记
一、explain是什么根据表,列,索引以及where中的条件,mysql优化器底层使用了许多相关的优化技术来进行sql查询的最优化,使之单表查询时不用全表扫描,多表连接时,无需进行逐个比较等。mysql优化器选择最优算法的行为称为查询执行计划,也叫explain计划,执行explain语句,可以知道mysql底层优化器针对select到底做了些什么,如果这时你发现一些低效的操作,则可以对...
2019-12-04 15:18:47
136
原创 Java打包、上传服务器、部署springboot应用简单脚本
一.应用场景:本地开发java应用程序,当部署时,要打包java应用,上传jar包到远程服务器,登录远程服务器并执行指令进行重启java服务。有时候需要频繁反复进行该操作,每次都这样一步一步的做,有些繁琐并且浪费时间,因此写了一份shell脚本,只需要执行一个脚本指令,便自动做了上述所有的事情,节省了许多事。二.环境1.springboot的应用,java -jar跑服务,linu...
2019-12-03 09:46:57
1834
2
原创 SpringBoot启动异常:This is very likely to create a memory leak. Stack trace of thread
错误信息警告: The web application [ROOT] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of t...
2018-06-15 10:24:50
70273
1
原创 SpringMvc实现分片上传,断点续传,进度条上传,秒传,分段下载
一、需求背景大文件上传,需要分片,并实现断点续传,进度条显示,秒传功能。下载时可以暂停,分段下载。二、实现原理1.分片:前端浏览器将文件根据设定的规则分割成多片小文件,一片一片的上传到服务器。2.秒传:前端浏览器截取文件的前面几m和最后几m字节又或者全部字节进行md5编码,可以生成文件的唯一md5码,根据这个md5码可以唯一确定一个文件,上传文件时同时将该md5码传送到后台,又或者
2018-06-10 13:45:56
9682
原创 如何自定义Spring restTemplate请求及回调
Spring restTemplate是一个很好的http请求代替方案,当你对HttpClient等其他框架厌倦的时候。其原本的api已经足够许多场景的http调用,但在实际应用中仍然可能会有一些自定义的场景。例如这样的情况,出于安全性的考虑,我们对http请求进行了加解密的约定。但是我们在程序的调用中又期望加解密透明,即封装该层加解密,这时我们需要对restTemplate进行自定义。翻阅Spr...
2018-06-10 05:44:09
6624
原创 windows系统nginx重启发生异常The system cannot find the file specified
windows系统nginx重启发生异常:nginx: [error] CreateFile() "C:\Users\chemphern\Desktop\nginx-1.14.0/logs/nginx.pid" failed (2: The system cannot find the file specified)问题分析:启动或者重启nginx需要处理掉原来的nginx进程,正常启动nginx...
2018-06-09 01:22:53
147084
11
原创 如何随心所欲地自定义log4j输出格式
在某种情况下,我们需要在不影响原有代码的基础上自定义log4j的输出格式。例如这样的需求,硬性规定了项目的日志格式为: 日期 日志等级 ClassName:line - [版本号] [请求ip地址] [项目应用名称] [服务接口模块] [模块方法] [业务参数1] [业务参数2] [业务参数3] 日志详细内容(必须为json格式)示例:2018-05-10 14:04:50,972 INFO V...
2018-06-09 00:53:21
10905
原创 svn合并分支到主干,工具操作
分支库中单元测试通过的源代码要合并到主干,例如有一个开发中的代码 branches -> dev 需要合并到主干 trunk。步骤:第一个步骤:在本地副本上进行操作,选择主干上的源代码文件,右键选择tortoiseSVN菜单,点击合并。(将trunk代码 拉回本地,checkout到本地。在trunk 代码上 使用merge)如图第二个步骤:选择merge two different tr...
2018-04-11 16:49:21
31908
6
原创 window系统tomcat进行远程调试
1.命令行启动远程调试 java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888 -jar xxx.jar2.tomcat将参数添加到Java Options:3.idea 启动远程调试:
2018-02-06 18:02:27
1345
原创 Swagger除了注解方式之外自定义添加接口,额外定义接口
一、业务场景 集成swagger框架之后,在代码上添加swagger注解即可生成api接口文档,在大多数情况下都适用。但除此之外我们还有其他的一些场景: 1.非springMvc注解暴露接口,无法通过这种注解方式生成api接口文档 2.引入了其他jar包,jar包里暴露了接口,但没有在接口上添加swagger注解,我们要为其生成api接口文档3.jar包引入的接口,并且使用了s
2018-01-29 15:38:18
11410
11
原创 Spring项目集成apidoc生成api接口文档
一、背景需求 JavaWeb/spring项目写成的api接口,需要自动生成api文档,甚至需要在线测试接口。考虑实现的方案有swagger,apidoc,spring rest docs。在之后的项目都有一一尝试,最终还是觉得apidoc的方式比较合适,虽然有一些问题(针对在线测试方面),但可以进行定制修复并解决。二、方案对比1.现在大家普遍使用的是swagger结合springmv
2018-01-29 14:05:24
30231
1
原创 SpringBoot热部署
一、需求背景在IntelliJ IDEA 2017+版本中开发SpringBoot项目,在没有热部署的情况下,效率极低,要不停的stop/run,stop/debug,迫切需要热部署二、参考资料,建议大家都看一下A:非常有用的issues : https://youtrack.jetbrains.com/issue/IDEA-141638#u=1474048879057&tab=Lin
2018-01-24 18:02:17
553
原创 SpringBoot项目在window系统下以系统服务的方式部署jar包
1.部署背景: 作者的Java框架是以Spring cloud体系为基础构建的。基于Spring Boot一般有两种打包方式,一种是War包,一种是Jar包,抛开War包部署不讲,以jar包的形式部署是基于以下的考虑: A:SpringBoot本身的优势之一是内置tomcat,如果我们以war包的形式打包并部署在tomcat下,那么这个优势还有没有必要? B:官方建议使用veloc
2018-01-22 17:57:02
36468
9
make-windows-service.zip
2020-06-03
SpringBoot实战.pdf
2018-02-27
破解版AxureRP 8.1.0.3372
2018-02-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人