自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Rocky的博客

https://github.com/rocky-peng; http://www.justsoso.fun

  • 博客(155)
  • 资源 (40)
  • 收藏
  • 关注

原创 线上FullGC频繁排查-druid

线上FullGC频繁的排查问题

2017-04-11 17:30:07 45456 7

原创 Thread & ExecutorService & ThreadPoolExecutor 总览

Thread & ExecutorService & ThreadPoolExecutor 总览

2016-09-17 10:02:39 1239

原创 读AbstractQueuedSynchronizer类源码

这个类的代码除去注释差不多有千多行,要想把所有代码都读完,然后按照作者的思路给理解完,是不容易的.这里我仔仔细细读了差不多一半的代码,说难倒不是很难.虽然没有完全看完,但是基本上理解了作者代码的意图..说得简单些,就是操作一个双向链表.而链表中的每个节点有多种状态.AQS就是要保证整个双向链表和节点的状态的正确性.连续看了好几天的JUC相关的源码,现在脑袋真有点晕乎乎的.

2015-06-06 23:01:49 1416 2

原创 读LockSupport源码

LockSupport类简介LockSupport类是其他类实现锁和同步的基础.读了源码就会知道,这个类主要利用了Unsafe类中提供的part和unpart两个方法.

2015-06-06 13:52:18 1582

原创 读Unsafe类源码

Unsafe类简介JUC中很多的实现都是调用了Unsafe类来实现的,所以这里阅读下该类的内容.Unsafe类包装了很多低级别的非安全性操作.虽然该类及其所有的方法都是public的,但是它只能被受信任的代码使用(也就是jdk中的代码)读源码过程中.

2015-06-06 13:11:19 2559 2

原创 Class文件二进制分析

本篇博文描述的是对一个很简单的java文件的对应的class文件的二进制分析.要分析class文件的二进制格式,必须了解对应版本的jvm specification.由于jvm specification中关于class文件的内容有点多,所以这里不在描述相同的内容.说明:本篇博文中设计的class文件对应的jvm specification版本是 jvm 8.

2015-01-02 00:24:26 9222 13

原创 海量日志数据,找出出现次数最多的IP地址。

问题描述有一个12G的文本文件,每行记录的是一个IP地址,现要找出这个文件中出现次数最多的那个ip。代码实现import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java

2013-11-23 21:31:04 4673

原创 TCP报文段首部格式详解

TCP首部格式格式字段详解源端口、目标端口:计算机上的进程要和其他进程通信是要通过计算机端口的,而一个计算机端口某个时刻只能被一个进程占用,所以通过指定源端口和目标端口,就可以知道是哪两个进程需要通信。源端口、目标端口是用16位表示的,可推算计算机的端口个数为2^16个。序列号:表示本报文段所发送数据的第一个字节的编号。在TCP连接中所传送的字节流的每一个字节都会按顺序编号。由于序

2013-10-19 12:24:57 19184

转载 深入理解TCP/IP协议栈之TCP协议

摘要:本文简单介绍了TCP面向连接理论知识,详细讲述了TCP报文各个字段含义,并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析。  www.2cto.com  一、概述TCP是面向连接的可靠传输协议,两个进程互发数据之前需要建立连接,这里的连接只不过是端系统中分配的一些缓存和状态变量,中间的分组交换机不维护任何连接状态信息。连接建立整个过程如下(即三

2013-10-17 15:57:57 6587

原创 你真的会拼接字符串吗?

执行结果截图:(jdk版本:1.8)

2023-11-13 18:11:47 95

原创 JetBrains-License-Server

兄弟们,这里分享一个IntelliJ IDEA最新版的License Server列表

2023-03-07 10:17:45 4957 6

原创 PostgreSQL JSON类型字段常用操作

PostgreSQL JSON类型字段常用操作。

2023-01-13 17:25:16 1065

原创 正则表达式匹配第几个符号问题

现在需求改为:把第二个逗号后的内容 和 第一个第二个逗号之间的内容 位置进行调换,正则表达式怎么写?上面的 $1 就表示第一对小括号匹配到的字符串。类似的 $2 表示第二对小括号匹配到的字符串。(img-wCHN8B0W-1672888287517)]现在想把第一个 , 改为 .然后想把第二个 , 改为 =

2023-01-05 11:13:35 1109

原创 Markdown软件比对

所以还是选择notion,有些功能也是飞书没有的,缺点就是某些时候网络可能不通,需要科学上网才行。比如一些流程图,虽然支持类似proccesson的功能,但用起来始终感觉不方便,然后又不支持mermaid语法。总体而言比较推荐的一个了,其实本人比较倾向在飞书和notion之间选择,但飞书的那几个缺点有点不能忍受。本人也用过一段时间,支持各种图床,也支持保存到各种地方,有时候想手机上写点东西就有点无能为力了。其实我用过一段时间的飞书,总体感觉还是非常不错,但后来发现自带的画图功能确实不好操作。

2023-01-05 11:10:23 958

原创 JAVA发送邮件提示MessagingException、SSLHandshakeException

JAVA发送邮件提示MessagingException、SSLHandshakeException

2022-06-14 11:31:03 881

原创 被问su 和sudo的区别?当场吓尿了

先直接揭晓答案su 全称 switch user ,用来切换用户的,并不是super usersudo 全称 super user do,表示用超级用户的身份执行,超级用户就是指root用户su用法su - user_name 不输入用户名时,表示切换到root用户带-参数,表示已login-shell方式登录目标用户,这样就会加载目标用户的各种环境变量设置。不带-参数,也已non-login-shell方式登录目标用户,也就是说切换用户后不会加载目标用户的环境变量,也就是说切换用户后

2022-01-06 09:21:29 3202

原创 机械硬盘与固态硬盘

机械硬盘已7200转/min的机械硬盘为例,转动一圈需要的时间约为60000/7200=8.33ms,找到目标扇区的大概时间约二分之一,就是4.17ms,这个时间称之为平均延时磁头臂摆动到目标扇区的时间,通常为4-10ms,这个时间称为平均寻道时间两个时间加起来折中约为10ms,也就是说发生一次随机io的时间大约为10ms,那么iops就在100左右。刚才说10ms是随机io的耗时,顺序io的情况下,就只需要耗费一次延时时间和寻道时间,所以顺序io的读写速度堪比内存的随机io速度。固态硬盘

2022-01-05 09:25:49 1858

原创 深坑:SecureRandom.getInstanceStrong() next方法阻塞啦

背景我遇到的场景是,我们有个生成随机数的场景,采用的便是 SecureRandom.getInstanceStrong() 获取Random 实例。在windows电脑以及在docker环境中都运行正常,所以没发现问题。直到我们把代码部署到centos系统中时发现了问题(没有采用docker)。就发现这个方法执行时间很长,导致前端接口504 time out 错误。最开始感觉很纳闷,一样的代码怎么会这样子。经过排查才发现是next方法执行时间很长导致的。深究原因可以参考: https://blog.c

2021-11-03 22:24:23 2662

原创 ES版本升级并迁移数据

ES6.2.3(3节点)460G数据迁移到ES7.4.1(5节点)目标现在有一个ES集群(3节点,3个节点既是master也是data),存储的数据约460G。现在需要升级ES版本为7.4.1,新集群采用12个节点(4个master,8个data节点)演练由于迁移的数据量蛮大的,基本不可能采用github的elasticdump工具,也不能采用es自带的数据备份恢复功能。允许es停机(这是很重要的一点)所以在演练中,采用下面的演练步骤搭建ES6.2.3的3节点集群由于es6.2.3版本d

2021-08-20 17:46:04 5659

原创 ESRally性能测试步骤

ES7.4.1搭建ES统一采用7.4.1版本ES的Docker镜像部署Docker的安装这里不再赘述单节点部署vi docker-compose-es-single-node.ymlversion: "2"services: es-single-node: image: elasticsearch:7.4.1 container_name: es-single-node environment: - node.name=es-single-node - cluster

2021-08-19 16:56:26 1227

原创 不重启 JVM,如何替换掉已经加载的类?

不重启 JVM,如何替换掉已经加载的类?场景在遥远的希艾斯星球爪哇国塞沃城中,两名年轻的程序员正在为一件事情苦恼,程序出问题了,一时看不出问题出在哪里,于是有了以下对话:“Debug一下吧。”“线上机器,没开Debug端口。”“看日志,看看请求值和返回值分别是什么?”“那段代码没打印日志。”“改代码,加日志,重新发布一次。”“怀疑是线程池的问题,重启会破坏现场。”长达几十秒的沉默之后:“据说,排查问题的最高境界,就是只通过Review代码来发现问题。”比几十秒长几十倍的沉默之后:“我轮询

2021-08-12 18:54:50 776

原创 提示NO SPACE LEFT ON DEVICE但有磁盘空间

提示NO SPACE LEFT ON DEVICE但有磁盘空间问题发现线上mongo挂了,重启又起不来,看错误日志提示:no space left on device。 如下按照提示以为是磁盘空间满了,于是执行 df -h查看:这个明明显示还有磁盘空间的,这是为啥?后来多次尝试重启mongo但依旧得到no space left on device同样的错误提示。最后启用google搜索,搜索到有帮助的一个 MongoDB no space left on device with docker

2020-10-27 10:23:09 12017

转载 Https原理及流程

我们知道,HTTP请求都是明文传输的,所谓的明文指的是没有经过加密的信息,如果HTTP请求被黑客拦截,并且里面含有银行卡密码等敏感数据的话,会非常危险。为了解决这个问题,Netscape 公司制定了HTTPS协议,HTTPS可以将数据加密传输,也就是传输的是密文,即便黑客在传输过程中拦截到数据也无法破译,这就保证了网络通信的安全。密码学基础在正式讲解HTTPS协议之前,我们首先要知道一些密码学的知识。明文: 明文指的是未被加密过的原始数据。密文:明文被某种加密算法加密之后,会变成密文,从而确保原

2020-10-15 14:34:37 504

转载 MySQL · 性能优化 · PageCache优化管理

背景监控线上实例时,曾出现可用内存不足,性能发生抖动的情况。研究后发现是日志文件的page cache占用了大量的内存(200G+),导致系统可立即分配的内存不足,影响了系统性能。查看linux内核文档发现,操作系统在内存的使用未超过上限时,不会主动释放page cache,以求达到最高的文件访问效率;当遇到较大的内存需求,操作系统会当场淘汰一些page cache以满足需求。由于page cache的释放较为费时,新的进程不能及时得到内存资源,发生了阻塞。据此,考虑能否设计一个优化,在page

2020-10-12 10:37:07 2184 1

转载 详解linux系统下/proc文件夹目录

操作使用linux系统的用户如果细心的话,那么应该都知道到proc这个文件夹,在这个文件夹中集合了很多的目录,那么这个/proc文件夹及这些目录都是存储着什么信息呢?下面豆豆来为大家一一介绍下proc文件夹。详解linux系统下/proc文件夹目录内容1. /proc目录Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户

2020-10-10 11:45:48 10979

原创 Docker进行资源隔离

前言其实docker命令已经给我们使用文档了,不必进行网上搜索。比如执行:docker run --help 可以看到➜ ~ docker run --help Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]Run a command in a new container

2020-08-19 18:55:56 710

原创 PasteImageIntoMarkdown插件开发记录

文章目录PasteImageIntoMarkdown插件开发记录背景功能增强插件名称插件仓库PasteImageIntoMarkdown插件开发记录背景由于这段时间需要经常使用markdown写一些文档,本来之前用过其他软件,但是总有点不是那么顺手。于是开始尝试使用idea写,写完后可以很方便的提交到仓库。于是找了半天找到了插件叫Paste Image Into Markdown. 但这...

2020-01-11 18:43:50 3019

原创 Java synchronized实现原理深度剖析

Sync的实现原理sync是jvm的内置锁,底层是通过对象监视器来实现。而对象监视器的底层实现是通过cas+自旋或者操作系统的互斥量来实现的。通过javap -c 命令可以查看到sync方法前后有成对的monitorenter/monitorexit指令。cas: compare and swap ,比对并交换。这个操作是cpu指令级的功能,可以保证原子性。这个操作需要三个参数:1.数据存...

2019-11-07 20:07:17 960

原创 Spring Cloud(零):微服务的那些事儿

Spring Cloud(零):微服务的那些事儿spring cloud 是微服务分布式部署的一套解决方案。它涵盖了很多组件,比如配置中心、服务发现注册、负载均衡、阻断器、消息总线、数据监控等,这些组件都是为微服务分布式部署中几乎都会遇到的问题。微服务:通俗的讲就是功能相关的的一个集合作为一个服务单独进行部署,那么很多个这样的集合就构成了微服务。用专业一点的俗语讲就是把满足 srp(si...

2019-09-05 18:20:19 1036

原创 RSA数据加密解密(各种语言)

RSA数据加密解密文档 增强数据传输与本地日志的数据安全数据加密方式使用rsa加密算法,客户端公钥加密,服务端私钥解密(若单次传输数据量过大,之后可引入aes rsa只加密iv部分)数据加密步骤示例代码为python1.使用zlib压缩目标数据eg:import zlibm = zlib.compress(message)2.rsa 私钥为1024bit,...

2019-01-25 09:54:30 5775

原创 搭建基于docker的elk平台来分析java日志

目录搭建基于docker的elk平台来分析java日志整体思路关键问题问题如下日志json化解决思路方案一:配置filebeat和logstash方案二:从日志源头处改动在centos7上安装docker安装elk单独测试logstash安装filebeat搭建基于docker的elk平台来分析java日志整体思路使用已有的elk docker镜像sebp/elk快速搭建elk平台se...

2018-12-29 18:22:22 2824 1

原创 AIO实现TimeServer

- 实现返回当前服务器时间的功能- 采用半双工模式(主要是因为采用telnet为客户端,然后telnet默认情况下是半双工)- 客户端连接后,可以发送 time,stop命令. 只有客户端发送stop命令后,服务段才主动断开链路。

2016-12-21 17:34:35 655

转载 Linux系统日志管理

Linux系统日志管理日志分类:1. 连接时间的日志   连接时间日志一般由/var/log/wtmp和/var/run/utmp这两个文件记录,不过这  两个文件无法直接cat查看,并且该文件由系统自动更新,可以通过如下:  w/who/finger/id/last/lastlog/ac 进行查看  [root@xhot ~]# who  

2016-09-19 17:36:24 692

原创 BTrace入门

BTrace入门

2016-09-18 17:28:35 3797 1

原创 Maven资源过滤

maven资源过滤配置

2016-01-05 11:55:04 3020 2

转载 GitLab安装

GitLab安装

2015-11-10 16:28:01 616

原创 彻底卸载MYSQL

彻底卸载MYSQL

2015-08-23 00:02:26 743

转载 SublimeText 3中文输入

SublimeText 3中文输入

2015-08-22 11:06:32 768

原创 Phantomjs截图乱码

在centos中执行:yum install bitmap-fonts bitmap-fonts-cjk 在ubuntu中执行:sudo apt-get install xfonts-wqy

2015-08-17 14:15:17 2405

原创 RMI执行过程分析

RMI执行过程分析

2015-08-05 00:32:45 3538

class文件二进制分析2

配合博文http://blog.csdn.net/wilsonpeng3/article/details/42327773使用

2015-01-02

class文件二进制分析

配合博文http://blog.csdn.net/wilsonpeng3/article/details/42327773 使用.

2015-01-02

Jedis 2.5.2.jar

2014 08 29最先发布的Jedis jar包

2014-08-29

Open-source Project官方地址

Open-source Project官方地址

2014-04-21

javaee.jar

javaee.jar

2014-01-14

wsdl4j-1.6.2.jar

wsdl4j-1.6.2.jar

2014-01-14

PDF Password Remover v3.1.zip

PDF Password Remover v3.1.zip

2014-01-13

Happy New Year to You ! Just for fun ! by 彭青松

Happy New Year to You ! Just for fun ! by 彭青松

2014-01-01

XML_学习之总结[知识整理])

XML_学习之总结[知识整理]),XML_学习之总结[知识整理])

2013-12-22

XML轻松学习手册 一 XML快速入门

XML轻松学习手册 一 XML快速入门

2013-12-22

ItcastWP7Simulator

ItcastWP7Simulator

2013-12-22

SQL Server 2008 参数化查询

SQL Server 2008 参数化查询

2013-12-22

SQL语句大全大全(经典珍藏版)

SQL语句大全大全(经典珍藏版).pdf

2013-12-22

SQL_Server_R2_中文教程

SQL_Server_R2_中文教程

2013-12-22

sql_server_2008_存储过程与触发器

sql_server_2008_存储过程与触发器

2013-12-22

Microsoft_SQL_Server_2008_R2基础教程

Microsoft_SQL_Server_2008_R2基础教程

2013-12-22

Windows Phone7完美开发征程

Windows Phone7完美开发征程

2013-10-09

XNA_4.0_学习指南

XNA_4.0_学习指南

2013-10-09

Win32_API_函数大全使用详解

Win32_API_函数大全使用详解

2013-10-09

浅谈Windows_API编程

浅谈Windows_API编程;浅谈Windows_API编程;浅谈Windows_API编程;

2013-10-09

Windows_API大全

Windows_API大全

2013-10-09

Windows.API

Windows.API

2013-10-09

java设计模式

java设计模式

2013-10-09

DesignPatterns

设计模式

2013-10-09

大数据算法

大数据算法

2013-10-09

Android_APK安装器

Android_APK安装器

2013-10-09

Android核心技术与实例详解—Android开发起步

Android核心技术与实例详解—Android开发起步

2013-10-09

算法导论第二版答案

算法导论第二版答案

2013-10-09

算法导论第三版_英文版

算法导论第三版_英文版

2013-10-09

Android SDK与Eclipse最新版开发环境搭建

Android SDK与Eclipse最新版开发环境搭建

2013-10-09

算法导论中文版

算法导论中文版

2013-10-09

程序员装逼指南

程序员装逼指南

2013-10-09

手把手图文教你AMD平台装MAC系统

手把手图文教你AMD平台装MAC系统,在AMD平台装MAC系统

2013-10-09

基于51单片机的温湿度传感器系统的设计

基于51单片机的温湿度传感器系统的设计,51单片机

2013-10-09

C#数据结构与算法

数据结果与算法,C#语言描述。 数据结果与算法,C#语言描述。

2013-10-09

悟透JavaScript(很经典,必看)

悟透JavaScript(很经典,必看),javascript资料。

2013-10-09

.NET面试题

.NET面试题

2013-10-09

[WPF揭秘].(中文影印版.英文文字版)

WPF揭秘].(中文影印版.英文文字版),讲解WPF

2013-10-09

[PowerDesigner建模资料实用培训教程[中科院内部培训资料]

[PowerDesigner建模资料实用培训教程[中科院内部培训资料]

2013-10-09

空空如也

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

TA关注的人

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