- 博客(25)
- 收藏
- 关注
原创 IDEA自带 .http 请求工具文档
IDEA 自带的 HttpClient,可以在 IDEA 内模拟发送请求,并将请求声明在 .http 文件内,能够实现自动化脚本测试。本文提供 IDEA HttpClient 请求的使用文档。
2024-03-04 17:36:51 2984
原创 Swagger3 GET请求,使用对象接收 Query 参数,注解怎么写?
简中互联网上就没一个靠谱的答案,最终翻到了 Github Issue 上才解决,真 TMD…… CSDN 就一坨 shit mountain。
2023-11-13 10:18:55 3095 5
原创 记一次WebFlux应用内存泄漏排查
背景公司项目存在一个服务,类似于爬虫,需要解析给定的URL,从返回的HTML中提取页面的标题、封面图、摘要、icon等信息。由于这是一个无DB访问的纯内存服务,且下游服务(需解析的URL地址)并非内部服务,无需考虑并发压力,在服务搭建时选用WebFlux作为web层框架,选用spring的WebClient作为请求下游服务的HTTP客户端。服务部署于k8s容器内,JDK版本为OpenJDK11,Pod配置4C4G,Java服务配置最大堆内存2G。问题描述服务上线后请求压力不大,但长时间运行后,服务堆
2022-02-21 11:11:11 1513
原创 maven 下载源码提示connect refused 127.0.0.1
maven 下载源码提示connect refused 127.0.0.1修改host没有用preference->Build,Execution,Deployment->Build Tools->Maven->Importing->VM options for importer修改为-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http
2021-02-03 15:16:52 2824 6
原创 Windows环境下ElasticSearch启动报错:could not find java in bundled jdk
错误信息could not find java in bundled jdk at "D:\Program Files\elasticsearch\elasticsearch-7.9.3\jdk\bin\java.exe
2020-11-06 19:52:59 5861 2
原创 Netty学习笔记 - Unix的五种网络通信模型
文件描述符Linux将所有外部设备都看作一个文件,对文件的操作会产生文件描述符(fd,file descriptor)。对socket的读写描述符称为socket描述符(socketfd)。描述符是一个数字,指向内存中的一个结构体。Unix的五种网络通信模型阻塞I/O默认情况下,所有文件操作都是阻塞I/O。在进程空间执行读取数据的recvfrom,系统调用会等到数据包达到并复制到用户缓冲区或发生错误才返回,在此期间一直等待。因此被称为阻塞I/O。下图摘自《Netty权威指南》非阻塞I/O执
2020-09-27 15:31:57 273
原创 MySQL自增主键知识点总结
自增主键的实现####自增值的存储MyISAM引擎将当前自增值存储在表数据文件中。InnoDB引擎在5.7及之前将当前自增值存储在内存中,MySQL重启时从表中查询自增列最大值+步长作为当前自增值。InnoDB引擎在8.0及之后版本中将自增值变动记录存储在redo log中,重启MySQL后根据redo log恢复之前的自增值。自增值的变化执行插入语句时,如果自增列的值不指定,或指定为0或null,则插入时将表当前自增值填入该列,并增长自增值(当前自增值+步长)。执行插入语句时,如果自增列指定
2020-09-20 23:21:45 227
原创 MySQL自增字段的自增值超过字段声明的范围怎么办
问题来源面试遇到一个问题,设置自增主键的数据类型为int(10),范围设置的比较小,如果自增超过这个范围会怎么样?当时一脸懵逼,确实没考虑过这个情况。思路与猜测首先是知道,字段类型声明为int(10),后面的长度10只是zerofill的长度,不影响数据的存储,也就是自增超过的范围应该是int类型字段的最大值。| 类型 | 存储占用字节 | 最小值 | 最大值 || 无符号int | 4 | 0 |dd || 有符号int | 4 | -2147483648(-2^31) | 21474836
2020-09-12 12:14:48 2201 2
原创 Redis知识点总结
RedisRedis是一个基于内存的KV存储数据库。数据读写为单线程操作,线程安全;基本是内存操作,且没有并发资源竞争,性能较好;与客户端连接采用多路复用IO,支持连接数较多;支持数据持久化;value支持数据类型较多,满足日常需求;支持主从模式、集群模式;哨兵监控,可用性高;单线程 与 多路复用模型Redis使用一个线程接收网络请求,一个线程执行从网络请求读取到的指令。多路复用模型是用一个线程监听全部的网络连接,并不阻塞的读取数据,只在哪个网络连接的数据就绪时,从连接的流中读取指令数
2020-09-10 08:10:45 119
原创 JVM内存分区与GC知识点
Java 内存分区本地方法栈:native方法调用时的方法调用栈,存储本地栈帧虚拟机方法栈:Java的栈,每个线程有一个线程调用栈,栈的元素是栈帧。栈帧包括:局部变量表、操作数栈、指向堆中对象的引用、返回地址、附加信息。每个方法调用时,回向当前指向的线程栈顶部压入一个栈帧,栈帧的大小是固定的,虚拟机通过解析.class文件可以得知。堆:堆是所有Java线程共享的一个内存区域,用于分配对象。方法区:存储类的信息(类名、方法信息、字段信息)、静态变量、常量池。程序计数器:用于记录下一条要执行的指令,
2020-09-06 22:29:34 149
原创 JUC -AbstractQueuedSynchronizer 源码:从独占与共享的角度分析(待续)
关于AbstractQueuedSynchronizer这个类作用的理解AbstractQueuedSynchronizer是一个同步器,本身并没有限制只能用于实现锁,它是一个资源同步器,用于保证独占占有资源或共享占有资源。在AbstractQueuedSynchronizer中,“资源”指的是一个int类型的变量state,“独占占有资源”是指在同一时刻,只可能有一个线程能够访问资源(state),“共享占有资源”则是同一时刻可能有多个线程能够访问资源。如何实现独占占有资源?AbstractQueu
2020-08-28 07:51:03 151
原创 Eureka高可用注册中心,available-replicas不出现分布式注册中心
在学习Eureka中配置高可用注册中心,启动两个注册中心c1和c2,但是在c1注册中心的available-replicas项中没有c2存在,反而是unavailable-replicas中有; 在网上搜索了之后,说是如下原因:eureka.client.serviceUrl.defaultZone配置项的地址,不能使用localhost,要使用service-center-1之类的域名,通过h
2020-08-06 08:42:04 3946 6
原创 css实现保持元素宽高比
原理元素的padding值如果使用百分比,那这个百分比是相对于父元素宽度而言的,padding-top和padding-bottom指定百分比时也是相对于父元素高度而言;IE盒模型中,width = content + padding + border,因此只设置padding也会使元素在页面上占据一部分区域;chromium内核浏览器大多采用IE盒模型而非W3C标准盒模型;验证写两个...
2020-01-14 09:22:28 1295
原创 Lambda表达式获取传入的方法引用的方法名
LambdaQueAbstractWrapperAbstractLambdaWrapperLambdaUtilseq(boolean, R, Object )addCondition(boolean, R, SqlKeyword, Object)columnToString(SFunction<T, ?>, boolean)resolve(SFunction<T, ?>)L...
2019-09-18 08:08:28 11666 8
原创 设置自己的SpringBoot自动配置
声明在META-INF/spring.factories中的自动配置,只要spring.factories文件被扫描到,声明的配置类都会被配置,不论配置类上是否有@Configuration注解(但是方法上必须有@Bean注解);# spring.factoriesorg.springframework.boot.autoconfigure.EnableAutoConfiguration=...
2019-04-17 10:31:22 206
原创 如何依赖一个packaging为war的模块
Maven子模块,打包为war,如果其他项目需要依赖这个子模块,可以通过插件来实现;先在需要打包为war的模块中添加插件 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> ...
2019-01-16 10:30:54 695
原创 SpringCloud Maven依赖配置
本机只有Edgware.SR5可以依赖,Einchley.SR2依赖找不到(估计是我的Maven配置问题)Edgware.SR5 对应的SpringBoot版本为 1.5.x,否则可能报错java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.<init>...
2018-12-23 13:13:04 14230 1
原创 SpringBoot Maven依赖配置 starter
SpringBoot核心依赖:1. 以父项目形式依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE<...
2018-12-23 13:12:38 4028
原创 Eureka注册中心配置,Client配置,高可用配置中心配置
Eureka注册中心server: port: 10081# 禁止注册中心将自己注册为clienteureka: instance: hostname: sky.brozen.top client: # 是否将自己注册到注册中心 register-with-eureka: false # 是否需要检索服务注册信息 fetch-reg...
2018-12-22 22:46:58 1869
原创 SpringBoot全局错误映射
需要自定义ErrorController,继承org.springframework.boot.autoconfigure.web.BasicErrorController,重写两个方法:// 错误映射到Html,Accept-Type为text/html的 public ModelAndView errorHtml(HttpServletRequest request, HttpServletR
2017-12-25 11:55:54 1357
原创 SpringBoot Actuator端点访问失败
Actuator部分端点的访问需要鉴权,否则访问返回401失败; 此时需要在配置文件中将安全校验关闭:# ymlmanagement: security: enabled: false# propertiesmanagerment.security.enabled=false需要鉴权的端点为Sensitive端点,如下: ID 描述 Sensitive autocon
2017-12-25 11:46:42 4770
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人