自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在jdk1.8的环境下模拟永久代内存溢出

相信不少小伙伴在看深入理解Java虚拟机的时候,作者给我们举例一个demo来发生PermGen space1、通过List不断添加String.intern();2、通过设置对应的-XX:PermSize与-XX:MaxPermSize(更快看到效果),3、在jdk1.6的环境下会抛出OOM:PermGen space异常public static void main(String[] args)...

2018-06-24 15:58:38 1287

原创 自定义httpservletrequestwrapper导致form表单提交数据丢失

自定义httpservletrequestwrapper导致form表单提交数据丢失

2022-12-22 12:04:10 1848 2

原创 线上程序假死如何定位呢?

分享下我一年中遇到的线上程序假死问题,都是如何排查的一下分析过程,假设你脱离了apm工具,或者像阿里巴巴提供的工具其实分析过程挺简单的,基本都是因为线程watting1、一般先看程序日志是否正常,如果日志没有任何打印2、curl "127.0.0.1:port"看看服务是否可以正常访问,再ss -s看看连接数什么的如果无法访问3、接着用 top 或者 jps -v 或者 ...

2019-03-07 18:42:31 1056

原创 xxl-job(spring boot)客户端执行器初始化bean与接收rpc请求处理流程简单分析

xxl-job客户端如何接入spring boot,按xxl-job官方给出来的demo,需要以下几个过程首先是配置 接着配置扫描地址,把对应的jobHandler加载到spring容器中 配置XxlJobSpringExecutor,接着启动项目即可1、==================================================================...

2019-01-08 18:03:39 18830

原创 xxl-job-admin(Bean模式)启动、执行、停止任务简单分析

1、点击启动任务按钮会请求/jobInfo/start,执行XxlJobService#start()方法@RequestMapping("/start") // TODO, resume >> start @ResponseBody public ReturnT<String> start(int id) { return xxlJobService.st...

2019-01-08 18:03:23 13441

原创 springmvc重定向导致的内存泄漏分析

  

2019-01-04 00:20:56 1731 2

原创 mybatis一个对象查询流程简单分析(集成spring boot)

<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version></de

2018-11-15 21:45:15 394

原创 基于spring boot简单搭建一个apollo配置中心

github load下apollo项目源码(1.2.0)地址是:https://github.com/ctripcorp/apollo ,前面我下载过快速启动的版本,好像版本是1.1.0,会有登录页面卡顿,无法删除NameSpace、增加人员等权限问题,所以还是下最新的吧。clone完项目之后,导入apolloconfigdb.sql,apolloportaldb.sql,新建两个...

2018-11-15 20:14:45 507

原创 Apollo如何巧妙把eureka-defaultZone配置放到数据库中维护?

将apollo测试环境部署好后,开始考虑单点eureka问题,但是以前看过的eureka互备,都是写死在配置文件中defaultZone下,但是apollo竟然可以配置到数据库中,觉得很神奇,所以clone了一下源码,研究了一下1、首先是自定义抽象类RefreshablePropertySource 继承 spring-core下的MapPropertySource,关系如下java.la...

2018-11-14 15:44:43 1812

原创 使用StringRedisTemplate保存的value前面有很多空格的坑

今天突然想着把旧RedisClient工具类更新一下,因为旧写法获取环境配置用的是读取properties,不是读取环境的active,出过坑,出于装逼的想法就干脆把整个都重写吧,使用更简洁的StringRedisTemplate去做,反正底层也是用的jedis,代码看起来也更简洁一些。然后就开始写了,接好之后开始验证,工具类部分如下@Componentpublic class...

2018-09-15 17:14:32 7032 6

原创 spring boot中支付宝生活号事件订阅,中文参数乱码问题解决方案

项目使用的是spring boot 2.0.0 RELEASE版本出发点:在支付宝生活号后台设置好支付宝默认应用网关之后,只要有关注、取关等等事件之后都会发推送过来。看样子默认是GBK编码,得验签返回。问题:当接收到签名后发现中文乱码(项目默认request编码是UTF-8)1、String biz_content = request.getParameter("biz_...

2018-08-29 21:00:36 1828 2

原创 淘宝免费ip地址查询导致服务堵死的坑

1、业务中因为想根据用户ip来做一些友好的提示,所以在网上找了个免费的ip查询地址http://ip.taobao.com/service/getIpInfo.php?ip=虽然说淘宝的这个地址会限制频率,但是也还勉强可以用但是今天线上几个服务突然全部被堵死了主要现象如下:本地curl "127.0.0.1:port"没反应,外部也进不来ss -s发现 TCP也是达到1W+...

2018-08-22 17:54:52 7588 1

转载 (转)性能分析之-- JAVA Thread Dump 分析综述

一、Thread Dump介绍1.1什么是Thread Dump?Thread Dump是非常有用的诊断Java应用问题的工具。每一个Java虚拟机都有及时生成所有线程在某一点状态的thread-dump的能力,虽然各个 Java虚拟机打印的thread dump略有不同,但是大多都提供了当前活动线程的快照,及JVM中所有Java线程的堆栈跟踪信息,堆栈信息一般包含完整的类名及所执行的方法,如果可...

2018-07-05 10:32:00 202

原创 spring security踩的一个小坑

今天遇到的一个spring security的bug 在做多线程导入的时候 response.getWriter().flush导致cookie的登录token被清空,主要是由于spring security是每次都从当前线程上下文拿信息,在flush的时候由于是多开了线程,因此cookie被清掉了,解决办法是拿到当前Security上下文(SecurityUtils.runInThread)并...

2018-07-02 21:39:45 474

转载 MySql间隙锁的一个实现

首先创建表demo:create table demo( id int, keyw varchar(20), PRIMARY KEY (id), key keyw (keyw)) 插入数据: INSERT INTO demo VALUES(1,'d1'),(5,'d1'),(2,'d2'),(6,'d2'); 开启两个事务-----------------------...

2018-07-02 21:37:22 1573

原创 spring boot突然挂掉4个节点的线上事故

由于机房断电,导致应用节点6个里面,突然挂了4个节点1、使用top查看,java线程还在2、查看程序日志,没有任何异常3、使用curl 访问 "127.0.0.1:port"没有响应4、使用jstack -l pid >> dump.txt 进行分析发现存在大量类似的信息Locked ownable synchronizers:    - <0x...

2018-07-02 21:15:57 2249

原创 spring声明式事务@Transactional后置,前置处理

想必不少人遇到过这样子的场景,希望在spring的事务完成后do something...前言:---------------------------------------------------------------------------------------------我遇到的场景是,希望在抢购方法上使用redis setnx简单的做一下锁,来防止重复提交步骤全部于@Transacti...

2018-07-02 21:14:55 1984 1

原创 spring-boot源码分析(1)--从main方法开始

--------------------------基与spring-boot-2.0.0.BUILD-SNAPSHOT--------------------------------------正常来说,我们一个spring boot 入门程序会大概这么写@SpringBootApplicationpublic class App { public static void main(S...

2018-07-02 21:12:36 2840 2

原创 spring-cloud-config service使用svn作为远程的例子

首先是新建项目config-server,在pom文件,加入对应的dependency<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM...

2018-07-02 21:11:37 288

原创 用Synchronized实现死锁

package com.thread;import java.util.Objects;/** * Created by hpx on 2016/11/26. * @desc 死锁 */public class DeadLock { private Object object1=new Object (); private Object object2=new ...

2018-07-02 21:09:54 606

空空如也

空空如也

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

TA关注的人

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