自定义博客皮肤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)
  • 收藏
  • 关注

原创 JVisualVM再次分析

有了这款可视化工具,Java 应用性能分析、调优 so easy...JVisualVM 简介VisualVM 是Netbeans的profile子项目,已在JDK6.0 update 7 中自带,能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的)。在JDK_HOME/bin(默认是C:\Program Files\Java\jdk1.6.0_13\bin)目录下面,有一个jvisualv.

2020-09-02 09:00:03 273

原创 mysql优化数据库对象

1 优化表的数据类型 表需要使用何种数据类型,是需要根据应用来判断的。虽然应用设计的时候需要考虑字 段的长度留有一定的冗余,但是不推荐让很多字段都留有大量的冗余,这样即浪费磁盘存储 空间,同时在应用程序操作时也浪费物理内存。 在 MySQL 中,可以使用函数 PROCEDURE ANALYSE()对当前应用的表进行分析,该函数可 以对数据表中列的数据类型提出优化建议,用户可以根据应用的实际情况酌情考虑是否实施 优化。 以下是函数 PROCEDURE ANALYSE()的使用方法:

2020-09-01 09:44:06 226

原创 mysql索引设计和使用

1,概述 MyISAM 和 InnoDB 存储引擎的表默认创建的都是 BTREE 索引。MySQL 目前还不支持函 数索引,但是支持前缀索引,即对索引字段的前 N 个字符创建索引。 例如,要为 city 表创建了 10 个字节的前缀索引,语法是: mysql> create index cityname on city (city(10)); Query OK, 600 rows affected (0.26 sec) Records: 600 Du...

2020-08-31 17:09:18 146

原创 java cpu变高,他在做什么

1.查找jvm进程ID: jps -lv 或者 ps aux | grep java2.根据pid,查找占用cpu较高的线程:ps -mp pid -o THREAD,tid,time 如图所示:找到占用cpu最高的tid (可以使用sort命令排序:sort -k 3 -r -n)3.将tid转换为16进制的数字:printf "%x\n" tid4.使用jstack命令,查询线程信息,从而定位到具体线程和代码:jstack pid | grep 7ccd -A 30 (注意7ccd..

2020-08-31 11:24:53 109

原创 ThreadLocal内存溢出

ThreadLocal 面试六连问,你能 Hold 住吗?ThreadLocal为Java并发提供了一个新的思路, 它用来存储Thread的局部变量, 从而达到各个Thread之间的隔离运行。它被广泛应用于框架之间的用户资源隔离、事务隔离等。但是用不好会导致内存泄漏, 本文重点用于对它的使用过程的疑难解答, 相信仔细阅读完后的朋友可以随心所欲的安全使用它。一、内存泄漏原因探索ThreadLocal操作不当会引发内存泄露,最主要的原因在于它的内部类ThreadL...

2020-08-20 13:19:07 2576

原创 一台 Java 服务器可以跑多少个线程?

每个线程都有一个线程栈空间通过-Xss设置,查了一下我们服务器的关于jvm内存的配置 -Xms4096m -Xmx4096m -XX:MaxPermSize=1024m 只有这三个,并没有-Xss 和-XX:ThreadStackSize的配置,因此是走的默认值。几种JVM的默认栈大小不考虑系统限制,可以通过如下公式计算,得出最大线程数量线程数量=(机器本身可用内存-JVM分配的堆内存)/Xss的值,比如我们的容器本身大小是8G,堆大小是40...

2020-08-20 13:08:09 306

原创 JAVA使用jdk的jvisualvm分析内存溢出

1.使用jdk的jvisualvm打开如下:此处文件是从服务器直接抓包的文件最终发现代码

2020-08-19 14:24:14 611

原创 幂等性验证

为需要保证幂等性的每一次请求创建一个唯一标识token, 先获取token, 并将此token存入redis, 请求接口时, 将此token放到header或者作为请求参数请求接口, 后端接口判断redis中是否存在此token: 如果存在, 正常处理业务逻辑, 并从redis中删除此token, 那么, 如果是重复请求, 由于token已被删除, 则不能通过校验, 返回请勿重复操作提示 如果不存在, 说明参数不合法或者是重复请求, 返回提示即可 ...

2020-08-14 09:30:54 301

原创 redis原子性库存校验+分布式锁

1,基于分布式锁秒杀出现商品超卖publicSeckillActivityRequestVOseckillHandle(SeckillActivityRequestVOrequest){SeckillActivityRequestVOresponse;Stringkey="key:"+request.getSeckillId;try{BooleanlockFlag=redisTemplate.opsForValue().setIfAbs...

2020-08-14 09:22:00 962

原创 java jdk1.6报错SSLException: Could not generate DH keypair解决方法

1,先看错误javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:190) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1747) a...

2020-08-13 09:57:58 1098 1

原创 mysql索引

-- 创建表索引explain select * from t_sms_submit_200706 where msgid ='1'explain select * from t_sms_submit_200706 where MSISDN='1'explain select * from t_sms_submit_200706 where MSISDN=1 -- 不走索引explain select * from t_sms_submit_200706 where MSIS...

2020-07-08 23:17:18 83

空空如也

空空如也

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

TA关注的人

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