- 博客(24)
- 收藏
- 关注
原创 VisualVm远程监控JVM(jstatd)
一、添加远程主机VisualVm在jdk中,目录:Java\jdk1.8.0_102\bin,找到jvisualvm.exe。端口默认为1099无需更改,若启动statd时指定了端口号,则填写自定义的端口号。添加完不能监控?这就对了,因为还需要在远程做一些设置,方式由jstatd和jmc两种方式,这里只说明jstatd方式。二、jstatd远程配置加权限。在JAVA_HOME/bin目录下创建一个文件:jstatd.all.policy(可以是别的名字)。也可以自定义目录创建,但
2021-04-08 13:48:43
4266
2
转载 数据库索引 B树 B+树
前言本文是在讲述什么样的数据结构适合作为索引,以及其适合作为索引的原因。而阅读本文需要对B树和B+树结构有稍微的理解。以及需要对磁盘操作知识有稍微的了解。对于磁盘操作的相关知识,在文章尾部的链接文章中,有详细的介绍。在MySQL中,主要有四种类型的索引,分别为:B-Tree索引,Hash索引,Fulltext索引和R-Tree索引,本文讲的是B-Tree索引。什么是索引索引(Index)是帮助数据库高效获取数据的数据结构。索引是在基于数据库表创建的,它包含一个表中某些列的值以及记录对应的地址
2021-02-25 09:24:26
2251
转载 Java类加载机制
概述Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数,属性和方法等,Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能。虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。什么是类的加载类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,
2021-02-24 23:16:45
1346
1
转载 JVM GC 总结
目录一、概述二、怎样标识哪些对象“已死”?1.引用计数算法2.可达性分析算法三、Java中四种引用四、finalize()赋予对象重生五、回收方法区六、垃圾收集算法1.标记-清理算法(Mark-Sweep)2.复制算法(Copy)3.标记-整理算法(Mark-compact)4.分代收集算法(Generational Collection)4.1 年轻代(复制算法为主)4.2 老年代(标记-整理算法为主)4.3 永久代/元空间七、Minor G
2021-02-24 22:48:01
124
转载 HashMap在Jdk1.7和1.8中的实现
Java集合类的源码是深入学习Java非常好的素材,源码里很多优雅的写法和思路,会让人叹为观止。HashMap的源码尤为经典,是非常值得去深入研究的,jdk1.8中HashMap发生了比较大的变化,这方面的东西也是各个公司高频的考点。网上也有很多应对面试的标准答案,我之前也写过类似的面试技巧,应付一般的面试应该是够了,但个人觉得这还是远远不够,毕竟我们不能只苟且于得到offer,更应去勇敢的追求诗和远方(源码)。jdk版本目前更新的相对频繁,好多小伙伴说jdk1.7才刚真正弄明白,1.8就出现了,1.8
2021-02-23 15:44:41
151
转载 Java中常量池(字符串常量池 类常量池 运行时常量池)
简介:这几天在看Java虚拟机方面的知识时,看到了有几种不同常量池的说法,然后我就去CSDN、博客园等上找资料,里面说的内容真是百花齐放,各自争艳,因此,我好好整理了一下,将我自认为对的理解写下来与大家共同探讨:在Java的内存分配中,总共3种常量池:1.字符串常量池(String Constant Pool):1.1:字符串常量池在Java内存区域的哪个位置?在JDK6.0及之前版本,字符串常量池是放在Perm Gen区(也就是方法区)中; 在JDK7.0版本,字符串常量池被移到了堆
2021-02-21 22:40:08
247
转载 JAVA中final关键字的作用
final关键字的字面意思是最终的, 不可修改的. 这似乎是一个看见名字就大概能知道怎么用的语法, 但你是否有深究过final在各个场景中的具体使用方法, 注意事项, 以及背后涉及的Java设计思想呢?目录一. final修饰变量1. 基础: final修饰基本数据类型变量和引用数据类型变量.2. 进阶: 被final修饰的常量在编译阶段会被放入常量池中3. 探索: 为什么局部/匿名内部类在使用外部局部变量时, 只能使用被final修饰的变量?二. final修饰方法三. f.
2021-02-03 09:18:00
683
1
原创 CentOS安装Redis(安装包版)
前言centos7安装redis,个人安装笔记,一站式处理。安装1.安装依赖包yum install -y gcc gcc-c++2.创建安装目录并进入mkdir -p /usr/local/rediscd /usr/local/redis3.下载redis包并解压(版本自行选择)wget http://download.redis.io/releases/redis-5.0.7.tar.gztar -zxvf redis-5.0.7.tar.gzcd redi.
2020-11-30 22:45:10
406
原创 CentOS安装MySQL(简单易上手)
前言centos7安装mysql,个人安装笔记,一站式处理。安装1.下载yum源wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'2.安装yum源rpm -Uvh mysql57-community-release-el7-11.noarch.rpm3.查看有哪些版本的mysqlyum repolist all | grep mysql4.安装MySQLyu.
2020-11-30 22:32:27
90
原创 logback打印日志输出线程ID:mvc拦截器模式
一、前言经常处理业务问题的同仁,一定都经常与日志打交道。当并发量高、多线程编程时,日志往往是一大堆,为了快速精确的定位、处理问题,我们需要区分各个用户的不同会话请求,需要从一坨坨日志中做链路追踪。思路:在输出日志的时候,将每个线程的ID同时输出,当然前提是保证每个线程的ID是唯一的。sl4j 提供的一个工具类MDC,支持 logback和log4j,作用就是扩展变量值到日志中并输出。二、MVC拦截器模式输出线程ID加入POM引用 <dependency> <gr
2020-06-25 22:50:45
1876
原创 logback打印日志输出线程ID:切面模式
一、前言经常处理业务问题的同仁,一定都经常与日志打交道。当并发量高、多线程编程时,日志往往是一大堆,为了快速精确的定位、处理问题,我们需要区分各个用户的不同会话请求,需要从一坨坨日志中做链路追踪。思路:在输出日志的时候,将每个线程的ID同时输出,当然前提是保证每个线程的ID是唯一的。sl4j 提供的一个工具类MDC,支持 logback和log4j,作用就是扩展变量值到日志中并输出。二、切面模式输出线程ID通过自定义切面,拦截有注解@LogId的请求,附加会话ID输出到日志。加入POM引
2020-06-25 22:33:48
8886
原创 Java IO体系笔记
前言:此文适合JAVA IO体系的朋友。主题:Java IO:即 Java 输入 / 输出系统。Java 的输入和输出:读数据就用输入(InputStream/Reader), 写数据就用输出(OutputStream/Writer)。Stream:Java 中将数据的输入输出抽象为流,流是一组有顺序的,单向的,有起点和终点的数据集合,就像水流。按照流中的最小数据单元又分为字节流和字符流。字节流:以 8 位(即 1 byte,8 bit)作为一个数据单元,数据流中以【字节】为最小数据
2020-05-16 12:13:32
156
原创 RabbitMQ交换机Topic模式 消息分发规则
前言:此文适合期望了解RabbitMQ交换机Topic模式消息分发规则的朋友。主题:1.交换机所绑定的队列2.在交换机消息发送3.发送结果Topic消息分发结果 序号 routingKey 能收到消息的routingKey 备注 1 10011 ...
2019-11-21 11:30:30
515
原创 Git错误fatal: CRLF would be replaced by LF in xxx
前言:此文适合碰到Git换行符问题。主题:在windows平台下git add 的时候经常会出现错误:fatal: CRLF would be replaced by LF in xxx......问题原因:Git在windows下,默认是CRLF作为换行符,git add 提交时,检查文本中有LF 换行符(linux系统里面的),则会告警。所以让git忽略该检查即可。解决...
2019-11-01 17:38:55
7726
1
原创 从0搭建第一个Spring Boot项目
前言:spring boot是产品级spring项目的快速配置脚手架,它并不是一个全新的框架,也不是spring解决方案的替代品,而是spring的一个封装,所以以前用spring可以做的事,现在用spring boot都可以做。不同的是spring boot项目内置web服务器,可以非常简单、便捷的开发单个应用项目,而不必将所有项目发布到一个web服务器中运行,是一个非常好的微服
2018-01-13 13:53:14
1895
原创 基于Kibana的可视化监控报警插件 KAAE 的配置
可视化监控报警插件 KAAE:Kibi + Kibana Alert & Report App for Elasticsearch。 最近搭建了ELK系统,便想在此基础上做一个基于Kibana的可视化报警配置,在网上东翻西翻,基本没有相关的资料,唯有一篇介绍了KEEA,从这里入手,笔者搭建了自己的报警系统。这里笔者分享下个人在配置过程中的经验与心得。
2017-06-27 18:08:24
18825
9
原创 CentOS下ELK开机自启动的配置
前言 上篇文章描写了 CentOS下ELK的搭建流程[ CentOS下ELK的搭建 ],做好相应配置后,我们往往会考虑服务自启动的问题。笔者在网上找了很多相关资料,都没有比较全面讲解,真是一步一个坑,后来笔者自己写的自启动配置文件,这里和大家分享。1.确认JDK配置 sudo vim /etc/profile在文件最后有如下配置:JAVA_HOME=/u
2017-06-26 13:35:48
7728
2
原创 kafka eagle安装与使用
1.概述在开发工作当中,在使用 Kafka 集群进行消息的生产和消费时,数据的变动以及topic的管理是我们所关心的内容,这就要求一套行之有效的监控管理体系。常见的kafka监控软件有4种如下所示Kafka Web Conslole :监控功能较为全面,可以预览消息,监控Offset、Lag等信息,但存在bug,不建议在生产环境中使用。Kafka Manager:偏向Kaf
2017-06-23 13:59:24
8437
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人