自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 记一次由于多次请求超时导致伪高并发,使得Tomcat线程耗尽响应速度慢的线上问题

故事背景:由于线上需要及时的刷新某些第三方数据,导致请求第三方接口需要频繁调用。然而由于某些原因,服务器把该第三方地址给拉进黑名单了,导致频繁请求超时,线程耗尽呈一直等待状态,导致后续请求阻塞。解决方案:本应是由网管解决网络不通畅的问题。但是由于网管重启技术有限,使用技术手段进行尝试规避——为伪高并发接口配置线程池,限制它支配线程的自由,从而达到不影响其他网络请求性能的目的。项目框架springboot+threadPoolExecutor。springboot的优势莫过于万物皆可配,最常用的方式

2020-12-10 23:51:47 1993 3

原创 NIO(non-Blocking)的简单原生实现

最近在学习过程中,稍微比较了下Tomcat与Netty的区别。Tomcat主要为http协议的web容器,不适合自定义协议等一定操作。Netty的话,则一定要提到他的高并发的网络编程接口框架。使用NIO的方式进行通信,NIO,同步非阻塞式通信,它相较于传统IO来说,他仅需要一个线程用来管理建立连接的事情,尽管建立玩连接后的IO仍然是同步等待的,但是已经有了很大的并发支持性。(Netty官网的介绍也有提到他的NIO方式)于是,我动手写了一个简单的基于NIO底层的服务端-客户端实例,也贴了详细注释,欢迎讨

2020-12-02 23:17:07 226

原创 FASTJSON返回数据首字母默认大小写问题(解决)

故事背景:接手的同事框架,在优化时添加了FastJsonHttpMessageConverter,导致响应数据时转成默认的fastjson的字符格式,首字母小写的驼峰。但是由于之前就对接过数据,导致以前上下游接字段大小写敏感接不到。尝试过修改序列化特征SerializerFeature,没有适用我场景的。查阅资料,还发现有人指导怎么强制首字母大写哈哈,这个太治标不治本了。后来还是选择按照定义的字段名称大小写来输出。解决方案:修改fastjson包里的typeutil类里面的field属性即可,

2020-11-03 23:03:18 3107

原创 (从源码解答)Failed to instantiate [org.elasticsearch.client.transport.TransportClient]

报错信息:之前项目整合了redis,今天我试着整合elasticsearch时,项目启动Error creating bean with name ‘elasticsearchClient’;具体报错如下org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'elasticsearchClient' defined in class path resource [org/spring

2020-05-14 23:48:10 5155 2

原创 我的go语言的第一个hello world小程序!

语言学习者逃不过hello world的入门命运!下面直接是go的hello world小程序分享以及go文件的编译、运行命令;//我的第一个go语言hello worldpackage mainimport "fmt"func main() { fmt.Println("hello world!")}编译完成后,可以直接在控制台打出exe文件名称,然后敲回车即可。go build .\hello.go也可以直接使用go run命令运行go文件go run .\hello

2020-05-12 01:01:12 319

原创 go环境搭建,最新go14版本sdk分享(开启我的go语言学习之路)

里面包含mac os 、Windows、 linux三端的64位sdk以及go的源码语言包七天有效~链接:https://pan.baidu.com/s/1xnUbZDVyoGyjxS9squU9Ug提取码:aluv

2020-05-12 00:16:42 814 1

原创 使用Docker镜像部署tomcat容器web网站war包

前提linux环境已安装部署好Docker服务,从镜像中下载好Tomcat容器步骤1、启动tomcat容器 docker run --name mytomcat -d -p 8888:8080 tomcat2、进入到tomcat容器开启一个交互式的伪终端(目的是查看tomca容器所在t目录)docker exec -it mytomcat bash此时会发现进入到tomcat容器所在目录:root@96c4a9296392:/usr/local/tomcat# 3、第二步的目的是查看

2020-05-09 13:50:29 261

原创 日常问题记录(持续更新)

日常问题记录:问题1:描述,springboot+hibernate下,单元测试jpa数据库事务时抛出threw ‘org.hibernate.LazyInitializationException’ exception.解决: 问题原因则是hibernate默认采用懒加载模式,在单元测试环境下,系统启动与数据库的session关闭了,导致在执行sql语句时,No session会话,故在映射sql映射对象时抛出该异常。由于是测试代码,直接在方法加上@Transactional注解,加上事务管理,则会

2020-05-08 21:20:35 91

原创 Linux Ubuntu16.04环境下使用Docker镜像常用命令

故事背景:在Linux基础环境下,使用Docker镜像,简化开发、生产环境中使用到的常用软件的部署。Docker介绍:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。——百度百科官方Docker镜像地址:https:...

2020-04-18 20:14:22 481

原创 (解答)SpringBoot从2.1.X过渡到2.2.X后,网站图标favicon.ico去哪了?

(解答)SpringBoot从2.1.X过渡到2.2.X后,网站图标favicon.ico去哪了?故事发生背景:在学习springboot源码的过程中,阅读到自动配置webmvc静态资源的时候,发现favicon.ico代码块改动过了,于是想办法把它找出来。在2.1.X版本中,springboot jar包中还是会默认携带一个存放于resources文件夹下的favicon.ico文件。并且...

2020-04-15 19:48:58 2072 8

原创 Navicate连接mysql:2059 - authentication plugin 'caching_sha2_password'

今天尝试在本地搭一个mysql服务端,下载的是mysql8.0跟navicat12.1,对接没有任何问题。但是当我尝试换成navicat12.0.*版本时,重新连接本地数据库时,报了2059 - authentication plugin 'caching_sha2_password’原因:创建mysql8.0数据库时,我们新增的用户默认使用的密码加密插件是caching_sha2_pass...

2019-08-25 18:42:56 220

空空如也

空空如也

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

TA关注的人

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