自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(261)
  • 资源 (6)
  • 收藏
  • 关注

原创 开发中你不得不知的一些英文缩写(专业术语)

前面才更新了一篇关于Dubbo基础知识的文章,今天看到一个问题,你最了解的RPC框架是什么?立马就蒙圈了,RPC指的什么玩意儿?你要问分布式开源框架,我肯定知道啊,所以,单独开一篇博客,用以记录这些英文缩写所表示的含义。IDE:集成开发环境(Integrated Development Environment )JDK:Java开发工具包(Java Development Kit)J...

2020-02-28 17:31:22 2880 1

原创 程序猿必备工具或者技术论坛推荐(收藏)

一 搜索引擎秘迹搜索:https://mijisou.com(个人觉得比度娘好用,最最重要的一点是,该搜索引擎不会收集私人信息)DogeDoge(多吉搜索):https://www.dogedoge.com/(国内的谷歌,侧重知乎、博客园、CSDN等技术点,关键是没广告,没广告)二 常用工具优品PPT:http://www.ypppt.com(免费PPT模板...

2019-12-18 10:39:16 1852

原创 验证本机(windows7)相应工具是否安装成功命令

1、验证JDK是否安装成功1)windows+R键------输入cmd命令------输入java -version2、验证Tomcat是否安装配置成功1)切到Tomcat的bin目录,复制路径2)windows+R键------输入cmd命令------进入tomcat的bin目录3)输入service.bat install命令4)bin目录下,点击启动tomcat7w.e...

2018-09-28 10:21:00 1532

原创 Java书单推荐(珍藏)

本文主要推荐一些笔者看过觉得不错的书单,从简到难,且持续补充,另附上资源提取码,有需要的童鞋,可以自行提取书单分享链接如下:链接: https://pan.baidu.com/s/175j3ugvPZsZ2CvIih1xcwA 提取码: jbx2 基础篇《Java面试宝典Beta5.0》对于刚步入编程行业或者准备换一份工作的童鞋,非常推荐这本书,总结非常到位,相当于Java面试...

2018-09-18 08:59:00 1158

原创 记录:同事问为什么Mysql设置id自增,结果是雪花算法生成?

Mysql中id为什么会是雪花算法产生的

2022-06-16 15:20:05 1494 1

原创 记一次低级错误:关于mybatis和mybatis-plus的路径扫描配置写法问题

一个项目采用SpringBoot和Mybatis-plus进行开发,测试环境验证通过,上线,出问题了,报错:大致意思就是找不到表,经过验证,表的确存在,这么一看,只能是扫描不到XML文件,估计配置文件有问题,一看配置文件,自己都没想到,犯了这么一个低级错误:#mybatis 设置mybatis.mapper-locations=classpath:mybatis/mapper/*.xmlmybatis.config-location=classpath:mybatis/config/my

2022-02-23 11:09:24 2061

原创 不得不提一嘴的索引命名规则

索引命名规则

2021-12-15 11:42:21 2130

原创 记录:@JSONField和@JsonProperty和@ApiModelProperty一起使用,swagger显示不正常

@JSONField(name = "C-API-Status")@JsonProperty("C-API-Status")@ApiModelProperty(value = "响应码") private String CApiStatus;@JSONField(name = "C-Response-Code")@JsonProperty("C-Response-Code")@ApiModelProperty(value = "888888")private String CResp.

2021-12-03 11:18:31 2026

原创 设计接口,保证幂等性是基本的要求,那么关于幂等性,一般接口应该如何设计?

什么是接口幂等性?接口幂等就是无论客户端调用服务端接口多少次,有且只有一次有效。比如保存信息时候,不管是因为重复点击或者网络重发等,我们只能存储一条,也就是保证一次生效,针对这个设计,就是所谓的接口幂等性要求,一般会造成这个问题的原因有哪些呢?1)短时间内极速点击提交按钮(点击两次及以上);2)点击刷新按钮;3)使用浏览器后退按钮重复之前的操作,导致重复提交表单;4)使用浏览器历史记录重复提交表单;5)浏览器重复的HTTP请;6)nginx重发等情况;7)分布式RPC的try重发等;

2021-05-12 14:49:24 547

原创 编程中我所用的IDEA插件

aiXcoder:aiXcoder插件主要用来做代码补全,而且可以搜索不用用的API,非常好用。alibaba java coding guidelines:阿里巴巴开发手册插件,不用说,你也知道是干啥的,推荐,纠正编程习惯,从安装这个插件开始。CheckStyle:可帮助程序员编写符合编码标准的Java代码,自动化检查Java代码,可以发现类设计问题,方法设计问题,甚至具有检查代码布局和格式问题的能力。Easy Code:将数据库表映射成Java中的entity、controller、serv

2021-05-11 17:27:41 278 1

原创 Idea打开properties文件时,如何设置默认为UTF-8编码

有时候打开.properties文件时,编码格式会默认为GBK,如何设置utf8编码,使得中文注释也能显示呢?file->setting->editor->file encodings下,勾选transparent native-to-ascll conversion即可,如图所示(记录一下,免得老忘):...

2021-05-11 11:40:40 3531 1

原创 推荐一款Vue的JavaScript包管理工具Yarn

之前个人所接触的Vue项目,大多时候的JavaScript包管理工具都是用npm,自从用了Yarn以后,就果断放弃Npm了,为什么呢?因为Yarn本身其实也是在npm的基础上进行改进的,弥补了Npm速度慢,安全等方面的不足。Yarn比Npm的优势1)加入了缓存机制,离线安装,速度比Npm更快;2)加入算法校验包完整性,更安全(npm安装时可以运行代码,不安全);3)使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作,更可靠。Yarn和Npm命令归纳对比

2021-03-17 15:14:58 252

原创 Navicat连接Mysql:1251 - Client does not support authentication protocol requested by server问题解决

本来本地Mysql好好的(版本Mysql8.0),Navicat连接也没毛病,可是用Navicat Premium连接了局域网下另外一台Mysql后(版本Mysql7.0),再返回本地连接时,竟然就报错了:为什么会出现这个问题呢?主要是因为Mysql8之后,加密规则更改了,之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,把mysql用户登录密码加密规则还原成mysql_native_password即可,但

2021-03-02 11:14:35 210

原创 为什么要了解Jdk1.8,我用亲身经历告诉你

有一个同事写的一个项目,因为手上比较忙,让我临时帮忙,需要做的事情是这样的:数据库中某个字段值存的是Json字符串,这其中包含了问卷信息Json,我需要统计其中选项的累计票数,按道理而言,不是很难,但是我拿到了项目,还是有一瞬间愣神,比如该字段值的字符串如下:[{ "title": "您最喜欢的社团", "type": 0, "selects": [{ "value": "轮滑社" }, { "value": "篮球协会" }, { "value": "羽毛球社" }, {

2021-02-09 17:41:42 777

原创 Idea连接数据库报错:Server returns invalid timezone. Need to set ‘serverTimezone‘ property

因为之前工作的缘故,很少使用Idea,导致用起来不是很顺畅,今天用Idea连接数据库的时候报错,提示设置时区:在url后添加:?serverTimezone=GMT%2B8

2021-02-09 17:41:06 107

原创 Idea连接数据库报错:Server returns invalid timezone. Need to set ‘serverTimezone‘ property

因为之前工作的缘故,很少使用Idea,导致用起来不是很顺畅,今天用Idea连接数据库的时候报错,提示设置时区:解决办法:在url后添加:?serverTimezone=GMT%2B8

2021-01-08 17:28:51 358

原创 Apache Shiro反序列化高危漏洞升级,结果导致org.apache.shiro.crypto.CryptoException: Unable to acquire a Java JCA

突然接到一个通知,关于Shiro RememberMe 1.2.4反序列化高危漏洞加固整改的通知,要求对一个老系统进行整改。这个漏洞的危害以及影响范围是什么呢?因为Shiro默认使用“CookieRememberMeManager”,其在处理cookie的流程中,使用了AES加解密,但是,AES的密钥却是硬编码的,导致攻击者可以构造恶意数据,造成反序列化的远程命令执行漏洞,获取目标系统控制权限,Shiro1.2.4及以下版本都受该漏洞影响,如何解决呢?1.升级Shiro版本至1.2.5及以上2.修改

2020-12-03 11:19:35 1518

原创 git pull或者git push时,为什么要每次都输入用户名和密码?

使用git pull或者git push命令时,竟然提示我输入用户名,用户名输完以后,弹窗提示输入密码,等我把代码拉下来以后,要提交的时候,又提示要要输入用户名和密码,真是贼烦,如何解决这个问题呢?输入命令:git config --global credential.helper store上面这个该命令会在你本地生成一个文本,上边记录你的账号和密码。然后接下来,再操作一次git pull或者git push命令,然后此时会提示输入用户名和密码,这一次输入以后,以后就不需要

2020-10-28 09:32:14 2213

原创 如何用git命令提交本地修改到远程分支?

因为早期用的都是SVN,对git命令就不是很熟悉,用起来还不是很顺畅,因为是程序猿节,就祝大家节日快乐了,趁着这个机会,简单地说下,如何用git命令提交本地修改到远程分支。因为早期用SVN,所以就间接地养成了一个习惯,喜欢用比对工具,代码喜欢用两份,怎么说呢?比如,用git从远程拉取了文件以后,我会把这个拉取的文件新复制一份到另外一个文件夹,再用编译工具进行导入开发,开发完毕调试以后,用比对工具进行比对,把需要提交的先存到本地仓储。1、git status 查看本地修改具体状态如下:1.

2020-10-24 14:48:15 2159 1

原创 网关Zuul有什么作用?如何集成Nginx实现一个网关集群?

大家节日快乐啊,哈哈哈哈

2020-10-24 13:59:31 706

原创 加薪最快的方式,还是跳槽

在做财政电子化项目的过程中,让一个小伙伴根据报文帮忙建表,建表完成以后,我进行业务逻辑处理,其中在执行插入的时候,总是提示错误,我就觉得奇怪,基类操作是我写的,执行对象

2020-10-16 09:50:00 247 1

原创 Mysql的Limit都没搞懂,怪不得就老是报Java heap space的错了

一个同事需要做一件事情,需要从数据库取数据,然后按照固定格式存入文件,然后传至总行,在测试的过程中,需要大量数据,就以19年的生产数据进行测试,测试的过程中,老是提示Java heap space,便问我如何解决这个内存溢出的问题。如何解决这个问题,便只有从开发工具:Eclipse+Tomcat入手了,增大内存,不就Ok了吗?如何调整Eclipse和Tomcat运行时内存,网上方法很多,这里就不说了,可是奇怪的事情发生了,该同事调整以后,再次运行,又报Java heap space的错了。那么,初步

2020-09-27 11:10:39 614

原创 简单地说下Java中的三目运算

三目运算在Java中算是比较常用的,对于一些分支判断,这个会非常适用,三目运算:表达式1?表达式2:表达式3;表达式1为true,取表达式2表达式1为false,取表达式3(a<b)?a:b -- 如果a<b为真,取a值,否则取b值。为什么要说下三目运算呢?今天遇到了一个很有意思的问题,一个新同事需要组装数据传送,每一行数据的每一个字段之间采用|@|作为分隔符,结果后面生成的文件,分隔符个数不对,由于每一行大概有100多个分隔符,他就懒得一一对比,我去看了一眼代码,便大概知道问题

2020-09-11 11:01:52 686

原创 Shell中的$0、$1、$2、$3等表示什么意思?

在Shell脚本中,我们经常会看到$0、$1、$2、$3等,看着像是参数,但又不太像,这些究竟表示啥呢?其实非常简单:$0:你写的shell脚本本身的名字$1:给你写的shell脚本传的第一个参数$2:给你写的shell脚本传的第二个参数#!/bin/shecho "shell脚本本身的名字: $0"echo "传给shell的第一个参数: $1"echo "传给shell的第二个参数: $2"假设该脚本名字叫test.sh,那么我们执行bash test.sh a 1,就可以看到结

2020-09-09 16:40:53 20882

原创 Tomcat如何代理多个前端(Vue)项目?

遇到这样一个有趣的事情,由于行里测试服务器有限,需要在一台测试服务器上同时部署多个项目,前端采用Vue进行开发,由于是多个项目,所以代理这些静态文件直接丢到webapp下肯定不可取,采用Nginx也完全没必要,所以打算利用Tomcat对这些Vue项目进行代理,那具体如何操作呢?我们说一下项目环境,后端暂定2个项目,都是SpringBoot开发,一个项目跟路径为ybt,启用8080端口,一个项目跟路径为mzt,启用8081端口,Tomcat代理vue项目采用7070端口,那么,前端大致的路由映射为:

2020-08-26 18:20:20 2516

原创 FileWriter追加文件写入遇到的坑,默认是ISO-8859-1 或者 US-ASCII编码

一个同事需要把一个对账文件进行筛选,推送给第三方,很有意思的问题是,该第三方明确要求每一行文件必须固定长度,按照gbk进行编码,而且每一天的对账文件不管多大,尽量筛选控制在一个txt文件中,然后进行压缩传送,本来是挺简单的一件事,结果遇到了编码问题,第三方说我们的长度有问题,那同事说没问题,我检查了,代码中都是gbk编码,没有用到utf-8编码的,我去看了一眼,搜索了一下,的确代码中没有utf-8编码,但这还不足以打消我的疑虑,我继续追踪代码:InputStreamReader inputReader

2020-08-14 09:54:07 1036

原创 org.xml.sax.SAXParseException: 不允许有匹配“[xX][mM][lL]“的处理指令目标问题解决

之前写过一篇如何用SoapUI工具发一个xml请求,今天那个小伙伴再发请求,结果就抛异常啦:javax.xml.bind.UnmarshalException: null at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:335) at com.sun.xml.bind.v2.runtime.unmarshaller.Unmarshall

2020-07-30 17:25:10 2154 1

原创 如何利用SoapUI工具调试XML请求格式的WebService接口?

尽管WebService已经是比较老的技术了,但是很多时候还是不得不用,尤其是多方对接的时候,在做医保这个项目的过程中,对方要求我方提供一个WebService服务,这个就比较简单了,服务写完了,一个同事想要调试一下这个接口,我便推荐了SoapUI工具,可是他的请求老是被拦截,便找到我,问我是否做了XSS拦截,能否取消这个拦截?2020-07-23 17:31:25.372 [http-nio-8080-exec-12] WARN o.a.cxf.phase.PhaseInterceptorCh

2020-07-23 17:40:00 3441

原创 校验参数是否为空,但是参数个数不确定的工具类如何写?

今天一个同事问了一个问题,我回单(报文)给对方,但是对方会对一些参数进行校验,校验失败,就不签收,但是这个参数有时候会是两个,有时候会校验三个,不确定参数个数,我想写一个工具类,用以满足这个情景,校验不过关的,就不调接口进行签章发送,问这个工具类应该如何写?如果不封装一个工具类,那么可能就会频繁地在if处进行判断更改,比如像这种:if(StringUtils.isNotEmpty(a) && StringUtils.isNotEmpty(b) && ……){}

2020-07-08 11:12:03 705

原创 记录一次SSH框架报错解决:no session for current thread

在开发电子化自动支付的开关功能过程中,遇到了一个很有意思的问题,no session for current thread,查找资料,这句话的大概意思是说当前线程不存在会话管理,查找代码配置文件,采用的事务管理是通过注解的方式进行配置管理,而且项目是已经生产运行了很久,不存在不管理事务的情况,那么唯一的情况,就是自己调用的数据库查询方法有误了。我们看一下事务配置管理文件:排除了这个问题,那么可能就是自己调用的dao接口错误了,我们看一下出错的这段代码逻辑(由于就新增了一段代码,很容易就确定问

2020-07-06 11:08:55 341

原创 Tomcat假死问题排查:java.lang.OutOfMemoryError: PermGen space

电子化上线了一个新版规范以后,竟然给我抛出一个我都没想到的异常,昨晚临近下班的时候,一个业务员打电话说电子化系统点击无反应,我去生产试了试,果然如此,换了几个浏览器,登陆的时候都是在转圈圈(等待响应)。。赶紧登陆服务器查了查,尼玛,进程还在呀?怎么感觉像Tomcat死了呢?这个就是所谓的Tomcat假死了。什么原因呢?赶紧打开日志,我擦,java.lang.OutOfMemoryError: PermGen space,竟然内存溢出??立即打开Tomcat目录的bin目录下,打开catalina.s

2020-06-19 09:16:57 567

原创 Java中war包项目生产中应该如何变更?

因为一个新来的小伙伴参与的一个项目,在我不知情的情况下上线了,他的上线方式非常粗暴,开发调试好以后,直接打了一个war包丢上去,结果导致项目不可用了,前面两天,我都在调试这个项目,所以我觉得有必要说一下,针对这种Web项目的变更,应该采取什么方式为妥。一般而言,使用springBoot进行项目开发,都会考虑使用多环境配置,一个程序的正常配置,应该是有3份,分别是dev、test和pro,配置格式需要满足application-{profile}.properties的格式,其中{profile}对应你的

2020-06-11 11:35:07 505

原创 Java中如何理解可重入锁的概念?为什么ReentrantLock不手动释放锁会造成死锁?

之前有文章说过,synchronized和ReenTrantLock都是可重入锁,那么什么是可重入锁?可重入锁从字面意思就比较容易理解,自己获取了锁以后,可以再次获取该锁(重入)就叫可重入锁,同一个线程每次获取锁,锁计数器都自增1,所以要等到锁的计数器下降为0时才能释放锁。我们就以之前卖票的例子进行讲解,因为synchronized加锁和解锁的过程是自动进行,所以不会造成死锁,而ReentrantLock加锁和解锁的过程需要手动,所以如果加锁和释放锁次数不一,会导致死锁,我们看代码:publi

2020-06-02 10:50:49 2660 1

原创 如何理解Java中的公平锁和非公平锁?

从字面意思理解,其实灰常简单,公平就是大家买票都排队,不公平就是有人开了超级VIP,插队了。所以在多线程中,就存在公平锁和非公平锁,如何理解呢?公平锁:多个线程按照申请锁的顺序去获得锁,所有线程都在队列里排队,这样就保证了队列中的第一个先得到锁。优点:所有的线程都能得到资源,不会饿死在队列中。缺点:吞吐量会下降很多,队列里面除了第一个线程,其他的线程都会阻塞,cpu唤醒阻塞线程的开销会很大。非公平锁:多个线程不按照申请锁的顺序去获得锁,而是同时直接去尝试获取锁(插队),获取不到(插队失败),

2020-06-01 10:18:28 2719

原创 synchronized和ReenTrantLock有什么区别和联系?

synchronized是Java内建的同步机制,它提供了互斥的语义和可见性,当一个线程已经获取当前的锁时,其他试图获取的线程只能等待或者阻塞在那里。ReentrantLock和synchronized类似,都是可重入锁,但是ReentrantLock内部有提供了许多方法,使用起来相对灵活,比如需要通过.lock()实现加锁,通过.unlock()释放锁,不然会一直上锁。synchronized和ReenTrantLock都是可重入锁可重入锁:自己可以再次获取自己的内部锁就叫可重入锁。比如线程A获得了

2020-05-29 17:18:45 430

原创 双重检验锁方式实现单例模式的原理是什么?

单例模式大概是Java编程中最常用的设计模式之一了,之前也有文章说过什么是单例模式,链接如下:https://blog.csdn.net/weixin_39309402/article/details/98126883虽然这篇文章中也分析了如何利用同步锁机制保证懒汉式单例模式的线程安全问题,同步方法,同步代码块等,但都非最优的解决方法,今天我们就来讲讲什么是双重检验锁方式实现单例模式,包括它的特点和原理。/** * 双重检验锁方式实现单例模式 */public class DualLaz

2020-05-29 14:17:39 2589 1

原创 多线程中如何解决资源争抢的问题(synchronized关键字)?

说到解决多线程中资源争抢的问题,大多数第一个想到的关键字就是synchronized,它能够保证多个线程之间资源访问的同步性(即它修饰的方法或者代码块在任意时刻只能有一个线程执行)。/** * 一个座位一个人 两个电影窗口卖票 不加锁会造成什么结果? */public class Seat implements Runnable { private int seatNumber = 100; @Override public void run() { while (true) {

2020-05-27 09:42:40 2644

原创 无论什么外包公司,大部分人都待不过3年

之前有一篇文章说过,为什么不建议去外包公司,结果博主收到了很多小伙伴的私信,其中有一个小伙伴问了一个很有意思的问题:为什么你建议年轻人不要去外包,自己还待在外包公司呢?那么,针对这个问题,今天我就详细地说说,为什么楼主不建议去外包?虽然楼主现在还在外包,不过不用多久,也要说拜拜啦。昆明这个地方,名气响亮一些的公司80%都是外包公司,您还别不信,您随便一个招聘网站上搜一搜,基本都是外包,我随便点几个名字,大伙就都知道了,长亮、东电、软通动力、中软国际、欣网、海颐、亚信、数通、华腾等等等,之所以说名气响亮一

2020-05-20 16:00:27 4622 11

原创 说出来你可能不信:你们肯定从未见过如此垃圾的接口

某个小伙伴离职了,领导安排我接手了一个不动产抵押登记的项目(主要就是项目维护啦),这个项目的情况是这样的:业务人员录件(页面进行抵押信息登记),然后调用扫描仪上传扫描件(房产证之类的信息),做完这些操作以后,就调用不动产提供的接口1,进行抵押信息登记。登记完毕以后,不动产会提供一个接口2,让我方进行状态轮询(查看办件状态),我方采取自动任务方式进行登记。如果查询到状态是已受理,就会调用接口3,查...

2020-04-29 18:11:38 492

原创 犯了一个低级错误:忽略console.log()在IE下不兼容的问题

在开发电子化的新功能的过程中,我犯了一个很低级的问题,在开发者模式下,无论是IE浏览器,还是谷歌浏览器,其实对console.log()都是支持的,所以个人调试无误以后,就部署了测试环境,让另外一个老师进行测试,收到他的测试报告以后我就对生产进行了更新。说来也好笑,更新了以后,那个负责测试的老师就开了个玩笑,说希望不要出什么幺蛾子,当时自己还自信满满地说,不会有啥问题的,我都测试过,你也测试过...

2020-04-20 18:13:32 724 2

itex插件进行pdf的生成需要的jar

在pdf中生成一个可变表头的表格,并向其中填充数据。通过泛型动态的生成表头,这里通过itex插件进行pdf的生成,需要的jar包括以下几个

2018-12-26

Shiro所需jar包

Shiro开发所需Jar包 一次性下载使用 包括单点登录所需Jar以及日志依赖Jar

2018-11-08

Spring基础

Spring5基础知识大全,百问百答,有什么疑问可以在这里边找答案

2018-09-04

教育网站前端

教育网站前端代码,可省去大部分时间,下载修改即可用

2018-08-29

SVN和GIT中文版使用手册

对于初学者而言,版本控制工具的熟练使用,是其日后发展的必备技能之一,现如今最流行的版本控制工具无外乎GIT和SVN,所以对于初学者而言,提前学习是十分必要的。

2017-12-09

Java赛车游戏源码,新手可作为参考

作为新手,有很大的参考价值,学了一段时间的Java之后,心血来潮写了一个赛车游戏,实现功能如下: 1.键盘监听,控制赛车的左右和上下移动,包括发射子弹。 2.赛车类型选择,可以选择其中的三种车型。 3.分数、生命数、奖励类型等等都已经实现。 4.爆炸效果的实现,撞击之后敌车自动消失的效果实现。

2017-11-15

空空如也

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

TA关注的人

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