自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 内存分析排查

一次堆外内存泄露的排查过程jvm堆外内存监控_java堆外内存监控_車輪の唄的博客-CSDN博客Java内存占用分析 - 知乎 (zhihu.com)Java内存分析工具——jmap_IT技术分享网 (5ityx.com)java 进程占用系统内存过高分析_nonheap使用率高_fxh13579的博客-CSDN博客解Bug之路-记一次JVM堆外内存泄露Bug的查找 - 知乎一次堆外内存泄露的排查过程【性能优化】Java 堆外内存的实战分析 - 简书 (jianshu.com)关于G1收集器参数Initia

2023-06-30 18:13:22 304

原创 如何找出消耗CPU最多的线程?

jstack -l PID> ./PID.stack //PID为进程PID。cat PID.stack |grep '线程PID十六进制' -C 8。对所有进程按CPU使用率进行排序,找出消耗最高的线程PID。此时已经找到了消耗CPU资源最多的线程,下面为排查问题过程。显示Java进程 PID 为 136 的java进程消耗最。4.这个线程PID是十进制的,将十进制线程pid。如何找出消耗CPU最多的线程?,查出里面消耗最高的进程,继续。找出所有当前进程的运行列表。查看一下线程在文件里做了啥。

2023-04-15 16:30:00 1713

原创 selenium+python+Chrome

selenium+python+Chrome。

2022-07-28 04:33:10 128

原创 java8启动脚本

java8应用启动脚本:java7内存CPU备份:-server -Xmx2g -Xms2g -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMeth..

2022-06-23 00:02:52 262

原创 SpringCloudGateway&SpringBoot开启accesslog

SpringCloudGateway&SpringBoot开启accesslog

2022-03-01 18:08:35 2262 1

原创 SpringBoot异步线程池配置

配置线程池:import lombok.extern.slf4j.Slf4j;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Primary;import org.springframework.scheduling.concu.

2022-01-07 10:45:39 550

原创 记一次接口授权导致的500异常排查

有一个导出的接口通过postman调用是返回正常的响应体,但是发布到测试环境,通过浏览器请求时,会返回500通过浏览器请求通过Postman请求开始排查整个链路为nginx -> spring cloud gateway -> 业务服务首先从业务服务开始排查,增加一个log过滤器,打印下请求响应信息2021-05-24 14:43:00.447 aom-platform-[,] [http-nio-9991-exec-9] ERROR o.a.c.c.C.[

2021-05-24 18:04:52 1263 3

原创 记一次nginx 504排查

有一个导出接口,由于里面组装数据会很慢,直接表现为504 Gateway Time-out,时间为2min,梳理了下调用的链路,nginx -> spring gateway -> business server,里面打开了nginx的配置,如下:#user nobody;worker_processes 4;error_log /app/openresty/nginx/logs/error.log error;pid /app/openresty/nginx

2021-05-15 15:55:10 810

原创 开发工具推荐

idea:Java开发IDE ZooInspector:Zookeeper数据查看工具 RegexMatchTracer:正则工具 Navicat:数据库可视化工具 Postman:http接口测试工具 SwitchHosts!:hosts管理工具

2020-09-08 16:43:35 124

原创 SpringBoot log4j2日志追踪

写在前面本文只讨论非分布式体系的日志追踪,如果项目使用了微服务、RPC等分布式框架的话,日志追踪有很成熟的框架,Google的Dapper,阿里的EagleEye,Twitter基于Google的Dapper论文开发的Zipkin通过本文将了解到什么是MDC、MDC应用中存在的问题、如何解决存在的问题MDC介绍简介:MDC(Mapped Diagnostic Context,映射调试上下文)是 log4j 、logback及log4j2 提供的一种方便在多线程条件下记录日志的功能。MDC

2020-09-04 16:26:46 1706

原创 通用mapper代码生成

通用mapper代码生成基于maven插件方式pom.xml <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.7&l

2020-09-04 11:41:49 357

原创 SpringBoot2.0整合Redis

SpringBoot2.0整合Redis相关知识Redis 简介Redis 是一个开源的,基于内存中的,高性能的数据存储系统,它可以用作数据库、缓存和消息中间件。 Redis 支持多种类型的数据结构,如:string、hashes、lists、sets、sortedSets等。 Redis 内置了复制(replication)、LUA脚本(Lua scripting)、事务(transactions)、磁盘持久化(persistence)、LRU驱动事件(LRU eviction)等功能。 Re

2020-09-03 11:38:48 266

原创 一次springboot aop 不生效的奇葩分析之旅

一天不码点代码,心里就难受,度娘一波,copy了如下一段简单的aop代码,run起来,惊讶了,竟然没有生效。package com.foo.bar.aspect;import cn.hutool.json.JSONUtil;import java.util.Map;import java.util.Objects;import javax.servlet.http.HttpServletRequest;import javax.validation.constraints.NotNull.

2020-08-26 01:09:14 8459 5

原创 Nginx配置

nginx.conf#user www www;worker_processes auto;# mac [error] open() "/usr/local/Cellar/nginx/1.15.12/logs/nginx.pid" failed (2: No such file or directory)# 解决:cd /usr/local/Cellar/nginx/1.15.12/ mkdir logs touch error.logerror_log logs/error.lo.

2020-08-21 23:18:31 136

原创 JsonUtil工具类

import com.fasterxml.jackson.annotation.JsonInclude;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.core.type.TypeReference;import com.fasterxml.jackson.databind.DeserializationFeature;import com.fasterxml.jacks..

2020-08-20 19:25:07 370

原创 Postman中认证CAS

CAS-Protocol:https://apereo.github.io/cas/5.2.x/protocol/CAS-Protocol.html与一般token机制不同,想成功认证CAS需要sessionId与ticket两个这两个值可以去服务器查看日志获得sessionId:认证后的sessionId会存储在redis中,可以避免session丢失问题2020-08-20 15:23:19.319 [DEBUG] [qtp1665967079-42] com.foo..

2020-08-20 16:54:06 2150

原创 Spring Boot升级后之文件上传坑

Spring Boot升级后之文件上传坑SpringBoot又双叒叕出新版本啦,不加班的人们都在用SpringBoot了,What?你还在用xml配置,赶紧拥抱SpringBoot,以后迎娶白富美不是梦,最近一次系统改造需要将18年的老系统改造成SpringBoot,优雅发版,减少加班,走上云时代,拥抱微服务。。。二大,赶紧把这个幻想症患者带走咳咳咳。。。还是说正事,在改造的过程中遇到通过流文件上传的接口全部挂了,你没听错是全挂了怎么回事呢,听我娓娓道来,业务代码不外泄,所以来个模拟一、首先

2020-08-20 00:17:57 1105

原创 SpringBoot log4j2日志之旅

SpringBoot log4j2 完美配置解决方案1、首先配置 pom.xml 文件,将原有的 logback 移除,改用 log4j2 。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId>

2020-08-10 17:01:08 418 1

原创 SpringBoot集成Mybatis双数据源+Druid连接池+集成通用mapper+分页插件

SpringBoot + Mybatis + DynamicDataSource配置动态双数据源,可以动态切换数据源。添加依赖加入Mybatis启动器,这里添加了Druid连接池、Mysql数据库驱动为例。 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</arti

2020-07-26 20:09:02 876

原创 Spring boot请求/响应参数打印(修訂版)

原文鏈接:https://blog.csdn.net/jiahao1186/article/details/91870776关键词:请求参数,响应参数,过滤器,拦截器,日志过滤器,配置过滤器一、目的:对系统请求参数和响应参数,进行输出打印。支持表单提交及json提交。二、过滤器与拦截器  首先,了解一下过滤器和拦截器。两者功能很类似,但具体技术实现,相去甚远。对比两者的区别前,先理解一下AOP,AOP不是一种具体的技术,而是一种编程思想。在面向对象编程的过程中,我们很容易通过继承、多

2020-07-25 20:17:36 798

原创 Eclipse中使用Git管理代码

一.上传代码到远程仓库1.commit2.push二.解决冲突1.pull至本地仓库网上有详细的过程,不写了三.删除远程不需要的文件夹1.Team-Advanced-Untrack2.Team-Advanced-clean3.Team-commit4.commit and push5.去远端确认是否已经删除

2016-09-22 11:23:43 2019

原创 Java笔记--SpringMVC--@RequestMapping

在SpringMVC后台控制层获取参数的方式主要有两种,一种是request.getParameter(“name”),另外一种是用注解@RequestParam直接获取。这里主要讲这个注解 一、基本使用,获取提交的参数 后端代码: Java代码 收藏代码 @RequestMapping(“/delUser.action”) public String delUser(

2016-08-28 22:39:54 990

原创 JAVA笔记-三目运算符返回值规则

条件(三目)运算符:表达式 1 ? 表达式 2 :表达式 3  注意事项:  右结合性:a > b ? a : i > j ? i : j 相当于 a > b ? a : ( i > j ? i : j )  三目运算符中:第二个表达式和第三个表达式中如果都为基本数据类型, 整个表达式的运算结果由容量高的决定。如:int x = 4; x > 4 ? 99.9 : 9;

2016-07-14 22:46:27 4992 2

原创 JAVA笔记-字符类型(char)--特殊

JAVA中基本类型有八种,其中char类型比较特殊。 一种字符类型(char): char:16 位,是整数类型,用单引号括起来的 1 个字符(可以是一个中文字符),使用 Unicode 码代表字符,0~2^16-1(65535)。  注意事项:  不能为 0 个字符。  转义字符:\n 换行 \r 回车 \t Tab 字符 \” 双引号 \ 表示一个\  两字符

2016-07-14 22:39:37 5456

原创 JAVA笔记-String笔记(常量池)

测试代码及注释如下:(仅供学习)package day01;/** * 字符串在创建对象时,推荐使用字面量形式 * 创建。因为在使用字面量创建时,若创建内容 * 相同的字符串时会重用对象,减少内存开销。 * 由于内容相同的字符串会重用对象,所以java * 要求字符串对象是不变对象,即:字符串对象 * 一旦创建,内容不可改变。若要改变字符串内容 * 则会创建新对象。 * @auth

2016-07-09 19:01:04 487 1

原创 JAVA笔记-Static与Final详解笔记

static 成员变量静态变量属于类的变量,所有类的实例共享的同一个变量。 直接使用类名读写这个变量 应用场景: 案例: public class Demo04 { public static void main(String[] args) { //静态变量属于类的 变量 //直接使用类名读写这个变量 Hoo.z = 10;

2016-07-02 16:07:07 2373 2

原创 JAVA笔记-多态的意义(向上转型与向下转型)

多态是面向对象的重要特性,简单点说:“一个接口,多种实现”,就是同一种事物表现出的多种形态。编程其实就是一个将具体世界进行抽象化的过程,多态就是抽象化的一种体现,把一系列具体事物的共同点抽象出来, 再通过这个抽象的事物, 与不同的具体事物进行对话。 对不同类的对象发出相同的消息将会有不同的行为。比如,你的老板让所有员工在九点钟开始工作, 他只要在九点钟的时候说:“开始工作”即可,而

2016-07-02 11:09:33 7096 2

原创 JAVA笔记-类的初始化及对象的初始化

类的初始化及对象初始化初学Java,觉得类的初始化与对象的初始化这一块真的特别重要,翻了很多大神前辈的整理资料,还是有些懵懂,决定将资料整理下,也希望对后来的初学者有些许帮助。上图为类的生命周期看到  方法时,有些懵懂,翻阅资料后,最后的结论为下面这句话:(疑问?1:没有方法的类,是不是意味着该类没有被初始化???)在编译生成class文件时,会自动产生两个方法,一

2016-06-26 13:19:24 3955 3

空空如也

空空如也

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

TA关注的人

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