- 博客(22)
- 资源 (9)
- 收藏
- 关注
原创 Metaspace内存溢出排查思路、定位、工具与解决
Metaspace内存溢出排查思路、定位、工具与解决背景:线上项目,每天约50w笔交易请求,每隔两周需要重启一次,发生过几次cpu飙升,无响应的情况。故障分析:1.首先排查cpu飙升的原因,根据cat定位cpu飙升开始阶段存在大量gc情况(每分钟7w次),初步定位内存泄露。2.排查应用日志里oom类似日志,发现爆 metaspace 溢出。3.因故障后第一时间进行了重启,并未dump日志,第一时间无法分析4.事后第三天使用dump内存(/app/jdk1.8.0_121/bin/j.
2021-04-20 18:08:26
4039
1
原创 Peppa配置中心设计-第一篇:设计概述
简述: 为多个应用提供生产、测试、联调、开发环境的配置,使应用无状态化。 隔离性:多个应用配置隔离;生产、测试、联调、开发环境隔离; 配置推送延时:秒级推送。 颗粒度:细致到单机配置推送。 提供配置管理控台,权限控制、配置CURD。 支持多种数据存储方式:zookeeper、redis、mysql; 高可用性:进程内存、本地文件...
2018-09-29 21:58:10
389
原创 Collections.emptyList()与高并发
设想下,当我们要先查询数据,而后遍历列表时的常用代码写法第一种: List a = getList();//有可能返回是null if(a != null){ for(...){ } }第二种: List a = = getList();//当无结果时返回空列表 for(...){...
2018-09-27 14:50:28
1772
4
原创 Java多线程下载文件实例
import java.io.BufferedInputStream;import java.io.IOException;import java.io.RandomAccessFile;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLConnection;import java.uti...
2018-09-04 10:07:52
7042
原创 DML DDL DCL 是什么
DML(data manipulation language): 它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言DDL(data definition language): DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE...
2018-09-03 16:48:42
171
原创 TCPIP三次握手-最简说明
第一次第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。第二次第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次...
2018-09-03 16:47:17
6664
原创 常见设计模式简明概述
设计模式:一个设计模式描述了一个被证实可行的方案。这些方案非常普遍,是具有完整定义的最常用的模式。一般模式有4个基本要素:模式名称(pattern name)、问题(problem)、解决方案(solution)、效果(consequences)常见模式概述:(1)抽象工厂模式(Abstract Factory):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。...
2018-09-03 16:45:00
154
原创 Oracle Parallel 并发查询
1. 用途 强行启用并行度来执行当前SQL。这个在Oracle 9i之后的版本可以使用,之前的版本现在没有环境进行测试。也就是说,加上这个说明,可以强行启用Oracle的多线程处理功能。举例的话,就像电脑装了多核的CPU,但大多情况下都不会完全多核同时启用(2核以上的比较明显),使用parallel说明,就会多核同时工作,来提高效率。但本身启动这个功能,也是要消耗资源与性能的。所有,一般都...
2018-09-03 16:39:23
22987
原创 tar命令
压缩tar –cvf jpg.tar *.jpg 将目录里所有jpg文件打包成tar.jpg tar –czf jpg.tar.gz *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz tar –cjf jpg.tar.bz2 *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用bz...
2018-09-03 16:34:53
167
原创 VM虚拟机压缩磁盘方法
启动linux#dd if=/dev/zero of=/0bits bs=2M count=剩余磁盘空间/2M如:剩余磁盘还有15000M# dd if=/dev/zero of=/0bits bs=2M count=7500 # rm -rf 0bits原理:将所有空文件剪切到制定文件夹,就是写到磁盘上的一个连续的块上去,然后删除。 然后关闭linux到win...
2018-09-03 16:32:15
1907
原创 Redis 实现日排行榜,周排行榜算法
首先,来个“今日积分榜”吧,排序规则是今日用户新增积分从多到少。那么用户增加积分时,都操作一下记录当天积分增加的有序集合。 假设今天是 2017 年 03 月 01 日,UID 为 1 的用户因为某个操作,增加了 5 个积分。 Redis 命令如下:ZINCRBY rank:20170301 5 1假设还有其他几个用户也增加了积分:ZINCRBY rank:20170301 1...
2018-09-03 14:26:29
8670
2
原创 Solr安装及常用命令
安装cd /softwget https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/5.5.3/solr-5.5.3.tgztar zxvf solr-5.5.3.tgzcd solr-5.5.3启动bin/solr start -e cloud -noprompt导入文件建立索引bin/post -c ge...
2018-09-03 14:08:07
220
原创 Mysql InnoDB行锁实现方式
简述:InnoDB行锁是通过给索引上的索引项加锁来实现的,这一点MySQL与Oracle不同,后者是通过在数据块中对相应数据行加锁来实现的。InnoDB这种行锁实现特点意味着:只有通过索引条件检索数据,InnoDB才使用行级锁,否则,InnoDB将使用表锁!1.在不通过索引条件查询的时候,InnoDB确实使用的是表锁,而不是行锁。session_1session_2my...
2018-09-03 14:02:05
9707
2
原创 SSH免密码登录脚本
#!/bin/bash# Description: configuration local host and remote host ssh keypair authentication, Support Ubuntu and CentOS operation system.# Blog: http://lizhenliang.blog.51cto.com function color...
2018-09-03 13:42:47
1234
原创 LVS Centos7 安装
Centos7已经自带了LVS,因此只需要安装LVS管理程序 ipvsadm(理解为ipvs admin)并配置即可。(1)安装ipvsadmyum -y install ipvsadm(2)设置ipv4转发sysctl -w net.ipv4.ip_forward=1(3)关闭防火墙systemctl stop firewalld.service #停止firewa...
2018-08-31 17:24:29
3308
2
原创 C3P0连接池配置详解
当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3<property name="acquireIncrement">3</property> 定义在从数据库获取新连接失败后重复尝试的次数。Default: 30<property name="acquireRetryAttempts">30</property&g...
2018-08-31 17:13:52
516
转载 高并发下对缓存加锁的经典实现
package cn.hutool.core.lang;import java.util.Map;import java.util.WeakHashMap;import java.util.concurrent.locks.ReentrantReadWriteLock;import java.util.concurrent.locks.ReentrantReadWriteLock.Re...
2018-08-31 17:09:07
3974
原创 centos 同步时间
1. 安装ntpdate工具yum -y install ntp ntpdate2. 设置系统时间与网络时间同步ntpdate cn.pool.ntp.org
2018-08-31 14:53:55
454
原创 mysql实现sequence功能
mysql实现sequence功能 1.建立sequence记录表CREATE TABLE `sys_sequence` ( `seq_name` varchar(50) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, `min_value` int(11) NOT NULL, `max_value` int(11) N...
2018-08-31 14:47:25
4114
原创 oracle 悲观锁用法
for update 锁住一行后,其他进程(包括读写)只能等待,知道现有事务提交后方可读写操作for update nowait 锁住一行后,其他进展若访问相同数据(包括读写)则直接抛出ORA-00054异常for update wait x 锁住一行后,其他进展若访问相同数据(包括读写)只能等待,当到达x秒后,如原事务未提交则抛出ORA-00054异常...
2018-08-31 14:45:57
1843
最好的mysql客户端,dbForge Studio for MySQL(7.1.13) 破解版
2017-08-29
MDX解决方案(第2版)中文版
2015-06-04
软件项目经理 面试指南 珍藏版
2015-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人