自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 超大数据引发的频繁gc问题

超大数据引发的频繁gc问题![image-20210523215943947](D:\tools\Typora\upload\image-20210523215943947.png上述监控:ps_scavenge 表示的是年轻代垃圾收集次数 ,PS_MARK_SWEEP 是 full_gc 次数1、首先看gc.log根据gc log,在上一次fullgc后,在一开始,young gc的频次还算相对正常。但后续,开始出现毫秒级的gc频次。而且每次gc后,总堆的大小逐渐变大,说明发生了新生代晋升到

2021-05-23 22:11:24 2068 3

原创 Full GC引发的dubbo consumer端超时问题

Full gc引起的dubbo超时问题在排查top报警问题时,发现某报警的trace链路有点奇怪报警的监控为dubbo调用超时异常,在one系统观察trace链路时间,发现provider端的耗时正常,而consumer端报超时错误怀疑出现gc问题,使得dubbo无法正常返回结果。观察jvm gc监控,发现明显gc问题,且gc问题监控与报警监控吻合但在机器3上未发现gc问题,观察单机趋势图,发现只有机器1有问题马上进行处理。摘掉healthcheck、dump、重启机器1使用visual

2021-05-23 21:50:46 452

原创 设计模式学习反思

设计模式学习资料:(1)https://refactoringguru.cn/design-patterns/1、策略模式1.1 what? 策略模式是行为模式,意味着是对对象间交互行为的抽象。其将对某一问题的多种算法封装到各自的类,统一以相同的接口对外提供服务。1.2 why? 清晰代码架构,解耦算法使用与算法实现,方便算法的增删及修改。1.3 how?策略模式实现方式:(1)定义策略类接口即接口内方法,实现该策略接口的抽象类抽象出通用的过程代码,子类继承抽象类,实现每个子类独特的策略处理代码

2020-07-26 22:19:22 177

原创 利用正则提高效率

正则可用场景:1. 各种查询,比如日志、代码关键词搜索、提取内容2. 各种替换,比如文本操作学习入门:https://github.com/seeYouFE/learn-regex-zh还是在于多使用,多实践

2020-06-29 16:00:56 182

原创 注解-Annotation Types学习

前言:注解是JDK5 之后推出的特性,可修饰包、类、方法、变量等,通过在编译、加载和运行时读取其信息,可执行相应的处理。基本原理java注解类型实质上是一个标记,如:@Autowiredprivate TestBean testBean;@Autowired标记了testBean这个域属性,这个标记的意义就是自动注入,告诉spring这个域属性需要注入该类型的对象。通过反射机制,可以...

2019-07-31 13:11:37 2231

原创 Multimap继承体系学习——以ArrayListMultimap为例

前言:Multimap是guava中推出的一个新Map类型,与jdk Map接口不同的是,它的value是一个Collection1.ArrayListMultimap继承体系

2019-07-29 16:35:19 592

原创 maven学习

前言:maven从初识到现在系统学习,觉得其只是一个使用工具,尤其读到同样是构建工具 gradle 相关文章时。因此,我觉得对maven的学习暂 停留到对 maven工具的系统性认识以及对maven的熟练使用即可。1.maven 是什么?maven 是一个 java 项目构建工具,将过去凌乱的项目结构、打包、编译、依赖管理等流程标准化、自动化了。2.maven的核心点maven 的核心功能...

2019-07-28 21:48:22 114

原创 git学习&底层原理浅析

本文只讨论自己的学习心得,具体信息可自行百度或参考后文的博文链接。GIT 基本开发流程git 是什么?(1)分布式版本控制系统:分布式——每个pc内都保存有完整的版本库,通常为了管理方便,存在一个“中央版本库”。(2)git的版本控制功能,实际上指的是对文件(广义上讲是“文件夹和文件组成的文件系统”)每一个版本更迭的存储过程的记录和控制功能。git基本要素基本数据结构:BOL...

2019-07-28 21:37:02 159

原创 java线程系列(四)——线程间协调

前言:在多线程任务中,各线程执行自己的任务,互不知道对方的存在,但存在诸如线程A需要线程B的执行结果的类似多线程间协调工作的需求。java提供了一些方法和类来协助线程间的协调。1. wait() 和 notify()/notifyAll()A、B线程传入公共objtect对象,A线程调用object的wait()方法,进入阻塞状态,B线程调用object的notify()或noifyAll方法...

2019-07-28 21:18:18 347

原创 java线程系列(三)——线程池

前言:线程池概念的类图如下所示,Executor接口只定义了run方法,由java doc知,目的是为了将任务的提交和执行解耦,通过逐层加方法,一直达到ThreadPoolExecutor类。本文不讲解相关设计层次,只关注ThreadPoolExecutor类。ThreadPoolExecutor通用构造函数public ThreadPoolExecutor(int corePoolSize...

2019-07-28 21:17:12 114

原创 java线程系列(二)——线程安全

前言:在多线程环境中,很容易引发线程安全问题,而所谓的线程安全是指多个线程对同一个对象的操作,造成其他线程持有的对象改变,使得实际结果与预期结果不符,实质上就是对公共资源的争夺和修改。为避免线程安全问题,同时又增加cpu利用率,就需要对公共资源的获取与修改进行控制。方式方法解释synchronized关键字由JVM实现并保证。该关键字可作用于静态方法、对象方法和对象。ja...

2019-07-28 21:13:41 100

原创 java线程系列(一)——简介

线程类型daemon线程: 表明为守护线程,当所有非daemon线程退出时,该类型线程自动退出。非daemon线程: 常规线程,所有线程退出,进程结束。Thread类创建多线程任务的方式:1.继承Thread,override run()方法。2.实现Runnable接口,new Thread(Runnable task)3.实现Callable接口,new FutureTask(Ca...

2019-07-28 20:58:21 123

原创 网络通信中的加密和解密

内容明确:1.加密:包含秘钥和加密算法2.解密:包含秘钥和解密算法3.公钥:公开的秘钥4.私钥:私有的秘钥正文:对称加密:通信双方使用同一秘钥(私钥)对数据加密、解密。        可能产生的问题:双方对于私钥的获取问题。非对称加密(以典型的RSA举例):通信双方各自有一对公钥和私钥(公钥加密,只有对应的私钥可以解密),双方互换公钥,发送消息时都用对方的公钥加密,...

2019-01-29 15:54:25 1702

原创 日志框架学习

为何使用日志框架:实现定制化(分等级、文件重定位)、标准化日志输出。目前最常用框架:slf4j,其是一套日志接口,用以解耦代码使用与具体日志框架,使得我们可以随意更换具体日志框架实现,而不必改动日志代码。具体实现:logback、log4j等前人介绍:https://blog.csdn.net/xn_28/article/details/62350938https://www....

2019-01-08 09:53:34 305

原创 秋招知识点

java:1.集合类(hashmap、list的遍历方式)2.JUC3.synchronized4.JVM内存模型5.JVM类加载机制6.JVM垃圾回收7.jdk新特性8.threadlocal9.volatile10.四种引用类型11.内存泄露 mysql1.两种引擎2.innob底层形式3.索引(聚集索引和非聚集索引、索引的种类、...

2018-11-12 12:21:19 143

转载 CentOS下Redis的安装

https://www.cnblogs.com/renzhicai/p/7773080.html

2018-10-11 10:28:48 115

转载 Linux用weget和curl下载jdk

https://blog.csdn.net/qq_38486203/article/details/80142263

2018-10-11 10:28:07 679

转载 mysql 重置root密码

https://www.cnblogs.com/freely/p/8087885.htmlhttps://www.cnblogs.com/yoursoul/p/6264059.html

2018-10-10 17:48:46 109

原创 centos 7 wifi 连接

1 过程systemctl start NetworkManager   启动networkManager第一步 使用 nmcli命令,查看各网卡的状态。得知无线网卡已经被驱动起来,只是没有纳入NetworkManager的管理。$ nmcli dev statusDEVICE    TYPE    STATE        CONNECTIONwlp3s0    wifi    unm...

2018-10-07 11:21:25 6427

转载 springboot starter

https://www.nosuchfield.com/2017/10/15/Spring-Boot-Starters/ Spring Boot Starter是在SpringBoot组件中被提出来的一种概念,stackoverflow上面已经有人概括了这个starter是什么东西,想看完整的回答戳这里Starter POMs are a set of convenient depe...

2018-08-23 08:39:59 192

转载 Spring bean 生命周期

 出处:http://www.cnblogs.com/zrtqsk/ Spring Bean的生命周期(非常详细)Spring作为当前Java最流行、最强大的轻量级框架,受到了程序员的热烈欢迎。准确的了解Spring Bean的生命周期是非常必要的。我们通常使用ApplicationContext作为Spring容器。这里,我们讲的也是 ApplicationContext中Bean的生命...

2018-08-22 08:34:26 106

原创 java agent + java assist

java agent 可以在main 方法前 添加一个拦截器  ,即premain方法,可以在该方法内执行一些逻辑,需注意在meta-inf/manifest 文件中注明;1.6之后,提供了在JVM运行时,进行代理的方法,即 agentMain方法。premain方法或agentMain方法中含有  instrumention 参数, Instumention 依赖于 JVMTI。JVMTI(Ja...

2018-07-11 20:51:06 1112

转载 TCP 三次握手/四次挥手

TCP(Transmission Control Protocol) 传输控制协议三次握手TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机)ACK(acknowledgement 确认)PSH(push传送)

2017-10-25 16:24:14 170

转载 Spring核心内容IOC和DI的理解

学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC 、DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。一、分享Iteye的开涛对Ioc的精彩讲解  首先要分享的是Iteye的开涛这位技术牛人

2017-10-23 19:51:30 480

转载 JAVA三大框架的由来

Struts、Hibernate和Spring是我们Java开发中的常用关键,他们分别针对不同的应用场景给出最合适的解决方案。但你是否知道,这些知名框架最初是怎样产生的?我们知道,传统的Java Web应用程序是采用JSP+Servlet+Javabean来实现的,这种模式实现了最基本的MVC分层,使的程序结构分为几层,有负责前台展示的JSP、负责流程逻辑控制的Servlet以及负责数据封

2017-10-23 19:19:38 2039

转载 方法调用实参时,发生了什么?

作者:知乎用户链接:https://www.zhihu.com/question/20628016/answer/28970414来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。虽然这个问题根本就没有在问“Java是不是值传递”,但是看完其它答案发现,如果不先解释清楚到底什么是值传递,什么是引用传递,后面的好处也无从谈起。只关心好处的请拉到最后

2017-10-21 18:40:50 354

原创 java基础学习(二)

1、 &  |       两边是整数时,是位操作     是关系式时  是长路操作。2、 switch 相同情况case  可以  集中写在一起,并在最后写执行语句。3、 switch 贯穿现象,即执行语句中没有break,程序顺序执行4、面向对象的理解copy自知乎匿名高赞答案~~作者:匿名用户链接:https://www.zhihu.com/question/27

2017-10-21 09:11:14 129

原创 java基础学习(一)

1.JVM内存分区:栈区,由JVM自动分配,用于存放变量名。堆区,用户分配,用于存储数据。静态区,用于存放静态变量,全局变量,字符常量,程序部执行完不释放空间。代码区,用于存放程序中方法的二进制代码,多个对象共享一个空间。 2. int a = 3;  int a 声明了一个变量,该变量名被储存在栈空间中,3 被存放在堆空间中。a 中实际存放的是 3对应的空间地址。

2017-10-20 20:48:05 137

原创 二叉树各种练习

树节点构造:public class BinaryTree { public Node root; public Node temp; public class Node{ int data; Node lchild; Node rchild; public Node(int data) { this.data=data; this.lchild=

2017-10-19 14:41:09 763

原创 链表学习记录

使用JAVA实现了链表的相关操作。包括构建链表,添加数据,查找第K个节点的数据,删除第K个节点的数据,查找中间节点的数据,查找倒数第K个节点的数据(两个指针,k与n-k),判断单链表中是否存在环(两个指针,一快,一慢),判断两个链表是否相交(最后一个节点一定相同),判断两个链表第一个相交节点(两个指针,遍历两个链表长度,取差值,再一起同步遍历)。

2017-10-16 21:26:04 116

原创 排序算法学习(一)

排序算法按种类分为内部排序和外部排序。内部排序是指,数据完全可以在内存中完成排序。外部排序是指,数据太大,需要一部分一部分读入内存就行排序。外部排序的典型做法是,将数据分成若干合理大小数据段,先一段一段送入内存排序并存在硬盘中,然后再两两归并排序。其中两两合并,叫做两路排序。名称由来是,归并排序采用败者树算法,有几个叶子节点就是几路排序。需要额外内存空间。内部排

2017-10-15 14:09:01 230

原创 String to Integer (atoi)

题目要求: 把ACII 转换为 整型 32位算法:利用ACSII码间的相减,利用/10&&*10取值.注意:1.“”2.无效输入3.整型溢出4.‘ ’

2017-09-29 12:28:27 120

原创 Reverse Integer

题目要求,翻转INT型整数。算法:利用求余方法。要注意INT32位数据类型的溢出。因为INT32位取值范围是  -2147483648~2147483647

2017-09-28 16:19:48 120

原创 zigzag pattern

题目要求为按锯齿形排列给定字符串,并按行输出字符串。算法:查找周期。根据题目要求,锯齿形循环的周期是2*nRows-2;也就是按顺序从第一个字母到第2*nRows-2个字母,为一个锯齿。锯齿中间(非首末行)的字母的循环周期,是2*nRows-2-2*i,其中i为当前行数。代码实现的时候,需要注意锯齿中间字母的循环实现。

2017-09-28 15:29:05 746

原创 Longest Palindromic Substring 最长回文字符串

记录算法:对字符串中的每一个字符开始,进行回文串的判断,例如:abacd从a自身开始(每一个字母就是一个回文字符串),向两边顺序延伸判断,出界为止,记录字符串的起始位置和当前回文串的长度。然后进行下一个字符的判断,更新最长的回文字符串长度和这个当前最长回文字符串的起始位置。逐一判断,返回。代码实现时,需要注意,因为回文串包括偶数个字符和奇数个字符的,所以在进行回文串的寻找时,应进行

2017-09-28 09:33:46 127

空空如也

空空如也

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

TA关注的人

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