自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

回纹勾边宝相花团

似乎可以成为一个老派的UNIX程序员

  • 博客(117)
  • 收藏
  • 关注

原创 面试题:Java类初始化顺序

Java类初始化顺序和代码示例

2022-04-28 11:49:34 1080 1

原创 IntelliJ IDEA 使用 Jacoco 统计单元测试覆盖率

Q:为什么用Jacoco而不是IntelliJ IDEA自带的覆盖率Runner?A:因为DevOps流水线上用的 SonarQube,而SonarQube上执统计测试覆盖率就用的Jacoco。Jacoco统计覆盖率和IDEA自带工具统计出来的不一样。为了保持和SonarQube统计的覆盖率一致,所以开发环境也应将IDEA的统计工具换成Jacoco.步骤:Run/Debug Configuration->JUnit->Code Coverage->Modify->Spec.

2022-03-15 16:55:37 3092 1

原创 【CompetableFuture】Thread.currentThread().getName() 打印不出来

CompletableFuture.supplyAsync(()->{System.out.println(“Some Result”);//打印出来了System.out.println(“Some Result” +Thread.currentThread().getName());//打印不出来return “Some Result”;}).thenApplyAsync(result -> {/*Executed in a different thread from ForkJ

2022-02-05 16:49:33 519

原创 Windows 11 笔记本电脑打开盖子无法立刻唤醒

问题:Windows 11 笔记本电脑打开盖子无法立刻唤醒?原因:未打开【混合睡眠】解决办法:Step 1:进入【更改关闭盖子的功能】,确认关闭盖子是进入【睡眠】而非【休眠】Step 2:进入【编辑电源计划】-【更改高级电源设置】,展开树状菜单 [睡眠]-[允许混合睡眠],将[使用电池]和[接通电源]时都改为【启用】参考:如何设置笔记本电脑在打开盖子时唤醒?为什么笔记本电脑默认关闭混合睡眠?(以及如何打开它?)...

2021-12-17 22:04:06 11600 1

原创 Squid vs NGINX: Proxy&Cache

Squid Cache(简称为Squid)是HTTP代理服务器软件。http://www.squid-cache.org/https://www.zhihu.com/question/20143441https://stackshare.io/stackups/nginx-vs-squid

2021-10-13 17:20:24 387

原创 无厘头bug第一话:requestId的变故

文件下载请求,requestId为定值,无论如何更换参数,只能下载同一个文件,且只在测试环境复现。requestId 定值与重复结果下载逻辑,同样的requestId就返回上一次的结果,无论请求提JSON参数是否改变。测试、生产不一至生产的NG或者ELB讲 requestId设置为一个极大的负数,且随机,保证每次都不一样。测试环境没有这种机制,所以接受到的都是前端传的固定 requestId=100000....

2021-10-13 15:19:07 135

原创 Spring Boot i18n

ServiceException 统一异常处理@ControllerAdviceMessageSourcehttps://www.baeldung.com/spring-boot-internationalizationhttps://matthung0807.blogspot.com/2020/06/spring-boot-messagesource-i18n-example.html

2021-10-09 18:17:44 142

原创 配置加密常识:工作密钥与根密钥

#配置加密常识生产环境配置文件若密码且未加密,加密算法是公开的,密钥泄漏,加密算法体系就不安全加密工作密钥的根密钥明文存储且长度不够,很容易破解,应该过密码学上的安全随机数生成密钥。PBEWithMD5AndDES 不安全,用AES256分层加密:一般是两层或三层。两层:工作密钥、根密钥。工作密钥加密数据,根密钥加密工作密钥。根密钥不能明文存储在配置文件,也不能通过命令行添加(不能排除内部人员泄漏)。良好设计的根密钥一般不是一个密钥,而是由分别存储在多个地方的多段密钥材料生成的。...

2021-10-09 11:45:21 4172

原创 S-SDLC(Secure Software Development Lifecycle) 安全编码规范

S-SDLC(Secure Software Development Lifecycle)http://www.owasp.org.cn/OWASP-CHINA/owasp-project/S-SDLC/https://www.secpulse.com/archives/93058.html

2021-09-30 10:05:27 733

原创 不要再用本地IDE刷leetcode#练习要抓住要矛盾

初学编程时,使用Visual Studio/Dev C++ 写c/cpp 在OJ刷题,本地 cin cout,getline,单步调试(Single step debugging)不亦乐乎。求职刷面试题时,习惯沿用下来,在IntelliJ IDEA里写Java刷题,本地 Scanner,还将输入数组、矩阵、字符串封装一大堆方法。但是,真实笔试面试时,要不是在线IDE写代码,要么在线文本编辑器,要么白纸/Word写代码。1、模拟真实,直接在Leetcode 的网页编辑器编写,通过printf调试,那

2021-09-30 09:56:34 1918

原创 在线客服 Online Customer Service Live Chat

Spring BootWebSocketRedisNettyMulti-Tenanthttps://www.javainuse.com/spring/boot-websocket-chathttps://www.cnblogs.com/qlqwjy/p/14470517.htmlhttps://developpaper.com/developing-a-chat-room-based-on-websocket-with-spring-boot-integrated-netty/https:/

2021-09-17 18:10:21 7875 18

原创 UML类图关键图例解释#设计模式学习预备#OO

Explanation of the UML arrowsUML Class Diagrams: ReferenceUML Class Diagram Arrows Guide

2021-09-17 16:25:21 191

原创 接口安全错误合集

X-Frame-Options Header未配置DENYSAME ORIGINALLOW-FROM uriAppache Header always append X-Frame-Options SAMEORIGINNGINX add_header X-Frame-Options SAMEORIGIN;X-Frrame-Options 使浏览器是否允许网页在"frame""iframe"标签中显示,避免被应用,避免用于ClickJacking开启Options方法服务器如果不需要支持W

2021-09-15 16:08:32 135

原创 分片上传报错#我就传个文件怎么那么多屁事系列作品:第一篇

我就传个文件怎么那么多屁事系列作品:第一篇应用服务端限速,java app限制上传速度,应用服务器tc限制上传速度分片分片上海窜接口 判断文件大小前端上传超时服务器 tc限速20s 就会断开1Mbps 传2MB2Mbps 传4MB疑惑,什么断开时,文件服务器后端报错,chunfileSize大于Limit或为空,检查过配置,肯定不会大于limit那么就是为空NGINX 代理时,是否先把请求收到,然后再往app sever传为什么20s会断开?前端断开,后端断开,NGINX断开,

2021-09-14 23:55:18 118

原创 如何限制文件上传速度

文件上传接口限速,避免大文件上传挤占带宽。NGINX Rate limitinghttps://www.nginx.com/blog/rate-limiting-nginx/https://www.cnblogs.com/yyxianren/p/10837424.html

2021-09-12 21:45:44 963

原创 MySQL update from select #same table

如何用同一张表的查询结果来更新字段table中记录了菜单权限信息,菜单和各页面元素有父子关系,表结构和示例数据如下id,parent_id, action_code, desc//todo create insert 语句现在,某个子菜单的父级id有误需要更新。方法一:两部走去库里SELECT FROM WHRERE 父菜单的ID写出 UPDATE SET id=父菜单的ID WHERE 子菜单缺点:要查一次库,麻烦。手工赋值,可能出错。硬编码,不同环境插入的数据ID可能不一样

2021-09-09 17:06:52 600

原创 MySQL Communications link failure 错不在应用

Spring Boot 报错日志如下:... com.zaxxer.hikari.pool.HIkariPool -HikariPool-1 Exception during pool initialization.com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Comunications link failureThe last packet sent successfully to the server was 0 millise

2021-09-08 15:03:38 315

原创 AWS S3 对象存储 API 鉴权:签名版本的切换 v2 v4

一、AWS S3 对象存储API 切换签名版本示例示例代码摘抄自 DELL ECS EMC aws-java-workshop public static AmazonS3 getS3ClientWithV4Signatures() { System.out.println("Running with V4 Signatures:\n"); return getBasicS3ClientBuilder().build(); } public sta

2021-07-30 20:29:00 4026

原创 less 显示行号

less -N

2021-07-23 17:11:33 7486

原创 JRE 哪去了

https://stackoverflow.com/questions/52584888/how-to-use-jdk-without-jre-in-java-11二十年来,JDK和JRE都是捆在一起发布。实际上,JDK包含JRE,外置的那个JRE浪费了空间。Java 11 开始 Oracle 和 Open JDK 把外置JRE取消了。...

2021-07-23 16:48:40 140

原创 grep awk sort uniq

统计日志中,Interceptor日志里打印的IP信息grep -r -w “ip:” /data/logs/javamain/ | awk ‘{print $(NF)}’ |sort -t “.” -k1n,1 -k2n,2 -k3n,3 -k4n,4|uniq

2021-07-03 17:12:14 80

原创 SSD 速度对编译的影响

为了评估SSD升级对编译速度的影响,本文尝试对比更换前后,使用maven编译 https://github.com/apache/commons-lang 的速度。#old ssd specAvailability BytesPerSector Capabilities CapabilityDescriptions Caption CompressionMethod ConfigManagerErrorCode Co

2021-07-03 15:11:26 609

原创 安全开发:Spring Boot 打开 HttpOnly 和 Secure 属性

应用上线,需要修复安全问题,需要为 Cookie 设置 “HttpOnly” 和 “Secure” 属性。HttpOnly 设置方法配置默认值说明server.servlet.session.cookie.http-onlytrue是否对会话 cookie 使用 "HttpOnly"cookie。默认D:\learn\learn-java\spring-boot-high-concurrency>curl http://localhost:8080/stuff

2021-06-08 01:22:20 13776

原创 快捷键冲突:IntelliJ IDEA Ctrl + Alt + L 无法格式化代码

原因:与网易云音乐“喜欢歌曲”全局快捷键冲突。处理方法:关闭网易云音乐(PC端)“启用全局快捷键”选项。

2021-05-09 21:26:32 474

原创 OBS 对象存储初探:Amazon S3 简单使用

文章目录Java MainSpring Boot 集成参考Java MainSpring Boot 集成参考S3https://s3.console.aws.amazon.com/s3/home?region=ap-southeast-1#S3 文档https://aws.amazon.com/cn/s3/https://aws.amazon.com/cn/s3/developer-resources/?nc=sn&loc=6文档https://aws.amazon.com/cn

2021-05-02 23:18:19 1221

原创 ping 原理和本质:ICMP 控制报文协议初探

ping 原理和本质:ICMP 控制报文协议初探ping 本质ICMP (Control Message Protocol)ping 本质你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。ICMP (Control Message Protocol)...

2021-05-02 16:39:06 275

原创 【2021春招】21海康社招(Java后端)电话面试问题收录

文章目录21海康社招电话面试问题收录你印象最深刻的bug是什么你在公司做了什么项目说说你知道的Spring Boot的知识说说你知道的线程池的知识你的维护的项目为什么不能直接用开源项目,为什么要改,具体做了哪些改动21海康社招电话面试问题收录你印象最深刻的bug是什么你在公司做了什么项目说说你知道的Spring Boot的知识说说你知道的线程池的知识你的维护的项目为什么不能直接用开源项目,为什么要改,具体做了哪些改动挂了。...

2021-04-30 23:39:09 814

原创 maven基础知识:创建多模块项目

文章目录maven 创建多模块项目多模块 pom 的结构兄弟父子微服务场景下,一个项目有很多种子项目。自己学习中,一个大主题,有很多小知识,分开建立Git仓库很麻烦,使用maven多项目可以一次搞定。maven 创建多模块项目多模块 pom 的结构兄弟父子参考http://maven.apache.org/guides/mini/guide-multiple-modules.htmlhttp://maven.apache.org/guides/getting-started/index.h

2021-04-29 22:09:49 120

原创 Spring Boot 高并发:如何提高接口 TPS

Spring Boot 提高接口 TPS一、@Async二、embedded tomcat 性能調优一、@Async启动类开启 @EnableAsync ,服务类添加 @Async 方法,化同步为异步,可一定程度提高并发。二、embedded tomcat 性能調优增加 Spring Boot 内置 tomcat 的线程数和连接数,可以大幅度提升并发性能。但如果该接口会调用其他系统的接口,则该接口的 TPS 会受制于对方接口的 TPS。server.tomcat.accept-count=1000

2021-04-14 09:44:51 5049 2

原创 IntelliJ IDEA maven导入失败:Could not transfer artifact

问题IntelliJ IDEA 导入Maven项目,pom.xml某一些依赖有红色波浪线(在线查看该版本的的依赖已经存在与镜像中),更换镜像源,重启IDEA均无法解决。reimport后出现如下字样:Could not transfer artifact....解决办法:删除本地仓库中所有缓存的jar,重启IDEA,reimport 重新下载即可。...

2021-01-13 22:06:15 28565 8

原创 PTA 打印沙漏

https://pintia.cn/problem-sets/17/problems/260题解关键词:等差数列,循环思路:打印三个部分:每行左侧的空格,每行的符号,以及最后的剩余数字。坑点:沙漏右侧不能输出空格,否则会有格式错误。最后一行输出数字后换行。参考代码:#include <iostream>#include <vector>#include <string>#include <algorithm>#include <st

2020-06-12 01:26:26 558

原创 Ubuntu Linux 换源:兰州大学开源镜像站

文章目录Ubuntu Linux 换源:兰州大学开源镜像站零、导语一、得到版本代号二、准备配置文件三、设置镜像源地址四、更新软件包五、后记Ubuntu Linux 换源:兰州大学开源镜像站零、导语将 Ubuntu Linux 的官方镜像源替换为国内的镜像源,如:阿里云、清华、中科大,能够显著提升软件包的下载速度。本文以替换兰州大学开源镜像为例。一、得到版本代号#执行如下命令得到当前Ubu...

2019-09-20 23:30:22 1895

原创 重构速查表 Refactring Cheat Sheet

文章目录重构方法一览重构方法一览Extract Method (提炼函数)包个函数出来Inline Method (内联函数) 把函数放回去(消除非必要的间接性)Inline Temp(内联临时变量)Replace Temp with Query(以查询取代临时变量)...

2019-08-25 23:57:25 250

原创 一口气扔掉鼠标(键盘快捷键归纳)

Alt键:按下Alt之后,观察GUI上弹出的列表或按钮,只要字母下面有下划线,就可以按键盘。

2019-08-25 22:53:16 253

原创 一次性理顺关于 CORS 的所有问题

文章目录问题参考实践问题前端收不到Cookie参考https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORShttp://www.ruanyifeng.com/blog/2016/04/cors.htmlhttps://yq.aliyun.com/articles/69313https://en.wiki...

2019-08-25 22:49:26 151

原创 一口气理顺正则表达式

文章目录参考自动机理论速查正则可视化参考Mastering Regular Expressions 3rd Editon自动机理论速查正则可视化https://regex101.com/https://www.debuggex.com/https://regexr.com/https://www.regextester.com/94492...

2019-08-25 22:45:03 216

转载 Java Date 转换为日期数字串

/** * 根据用户传入的时间表示格式,返回当前时间的格式 如果是yyyyMMdd,注意字母y不能大写。 * * @param sformat * yyyyMMddhhmmss * @return */ public static String getUserDate(String sformat) { Date currentTime ...

2019-07-12 13:46:33 1780

原创 mybatis-plus 入门踩坑

使用其方法时保证实体类和表明一致,且表名不能与数据库的系统表明冲突。比如如果表明和实体类的名称为 User,则使用 selectList() 方法生成的查询语句为select id,name,age,email from user这是后会因为 user 表与 PostgreSQL 的用户表冲突,而导致查询出错。故讲实体类命名为SysUser,表明改为sys_user,则可以解决这个问题。...

2019-07-11 11:15:49 267

原创 spring boot myabti mybatis-plus 使用 xml 开发SQL

问题1: xml 路径到底在 applicatoin.properties 中配置还是在 pom.xml 的标签中配置?MyBatis-plus中自定义SQL语句详解https://www.jianshu.com/p/4c915d908ac7Spring boot整合mybatis,xml资源文件放置及路径配置问题https://blog.csdn.net/babyyaoyao/artic...

2019-07-11 11:03:48 7165

原创 原生JavaScript 获取动态表单的值并转换为对象(JSON)

需求:网页有一个插件配置项表单,每个插件的配置项不同,有<input>,<textarea>两种形式的输入方式,需要用一个js喊出将标签的 name 和 value 属性取出,并创建为对象,以JSON格式发送到后端。代码如下const getConfigJson = function () { var json = new Object() var input...

2019-05-31 18:51:30 1227

空空如也

空空如也

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

TA关注的人

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