自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 使用IBM heapAnalyzer分析内存泄露的原因

大家在开发J2EE应用时可能经常碰到OOM的问题。出现这种问题的原因就是内存消耗殆尽,创建新的对象时没有可分配的内存了。为了找到真正导致OOM的原因,这里将使用IBMheapAnalyzer工具进行定位。首先要知道,IBM heapAnalyzer是通过分析OOM后的Javaheap dump文件的,通过对dump文件的分析找到内存可能泄露的点。了解这个之后,我们首先需要生成dump文件,这里我可以编写一个小程序,如: public classTest{ /** ...

2020-05-12 11:43:48 529

原创 linux下启动tomcat----Cannot find ./catalina.sh

linux 下启动tomcat[root@test233 bin]# sh startup.shCannot find ./catalina.shThe file is absent or does not have execute permissionThis file is needed to run this program解决办法:给.sh文件授权[root@test233 bin]# chmod +x *.sh 再启动,成功...

2020-05-12 11:38:26 308

转载 【linux】linux下对java程序生成dump文件,并使用IBM Heap Analyzer进行分析,查找定位内存泄漏的问题代码

1.首先,java程序启动在linux,怎么生成dump文件?  1》第一步,首先你需要得到java程序的PID,最简单的方法使用如下命令ps -ef|grep java 或者如果是docker启动的 springboot服务,也可以使用本命令:2》在任意位置,执行jmap命令,生成dump文件jmap -dump:format=b,file=serviceDump.dat 953539​​​​​​​jmap -dump:format=b,file=serviceDump.

2020-05-12 10:57:06 1118

原创 解决 nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"

使用/usr/local/nginx/sbin/nginx -s reload 重新读取配置文件出错[root@localhost nginx]/usr/local/nginx/sbin/nginx -s reload提示 nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"[root@loc...

2020-05-03 11:20:13 382

原创 解决web.xml is missing and <failOnMissingWebXml> is set to true问题

1、右键->单击项目名2、产生 WEB-INF 文件夹和 web.xml 文件

2020-04-22 16:57:58 216

转载 Eclipse创建简单的spring boot项目

一、添加STS插件1、方法一1.Help -> Eclipse Marketplace…2.选择“Popular”标签去查找Spring Tool Suite (STS) for Eclipse插件,找到后在线安裝2、方法二1.Help -> Eclipse Marketplace…2. 选择search标签,通過搜索spring tool关键词查找Spring...

2020-04-22 14:53:59 306

原创 SpringCloud 详解

一、SpringCloud介绍1、概念2、包含的技术3、cloud升级

2020-04-21 20:01:45 160

原创 消息中间件——RabbitMq

一、MQ的基本概念1、MQ概述2、 MQ优势和劣势3、优势4、 劣势5、 常见的MQ产品二、RabbitMQ简介1、RabbitMQ概述2、JMS三、RabbitMQ工作模式1、Work queues 工作队列模式2、Pub/Sub订阅模式...

2020-04-20 17:32:03 225

转载 Java并发编程:线程池的使用

一、https://www.cnblogs.com/dolphin0520/p/3932921.html1.Java中的ThreadPoolExecutor类 2.深入剖析线程池实现原理 3.使用示例 4.如何合理配置线程池的大小 

2020-04-08 16:46:54 154

原创 Java并发包-java.util.concurrent详解

一、volatile 关键字-内存可见性1、内存可见性内存可见性(Memory Visibility)是指当某个线程正在使用对象状态而另一个线程在同时修改该状态,需要确保当一个线程修改了对象状态后,其他线程能够看到发生的状态变化。 可见性错误是指当读操作与写操作在不同的线程中执行时,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根本不可能的事情。 我们可以通过同...

2020-04-06 17:19:05 873

原创 Java NIO概述

一、Java NIO 简介Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。二、Java NIO 与 IO 的主要区别三、通道(Channel )与缓冲区(Bu...

2020-03-27 17:22:58 177

原创 Spring Boot 项目集成swagger-ui

1、pom依赖 <!-- swagger2 --> <!--swagger本身不支持spring mvc的,springfox把swagger包装了一下,让他可以支持springmvc--> <dependency> <groupId>io.springfox</grou...

2020-03-26 15:38:39 248

原创 Java 8 新特性

一、简介速度更快 代码更少(增加了新的语法 Lambda 表达式) 强大的 Stream API 便于并行 最大化减少空指针异常 Optional其中最为核心的为 Lambda 表达式与Stream API二、Lambda表达式1、为什么使用 Lambda 表达式Lambda 是一个 匿名函数,我们可以把 Lambda表达式理解为是 一段可以传递的代码(将代码像数据一样进...

2020-03-19 15:28:26 811

原创 JVM(八)——本地方法栈

2020-03-18 14:34:32 167

原创 JVM(七)——虚拟机栈常见面试题

2020-03-18 14:27:34 203

原创 JVM(六)——动态链接及方法的调用

一、动态链接(或指向运行时常量池的方法引用)二、方法的调用1、早期绑定和晚期绑定2、虚方法和非虚方法3、虚方法表三、方法返回地址...

2020-03-14 11:47:46 422

原创 JVM(五)——虚拟机栈

一、虚拟机栈出现的背景二、内存中的栈和堆三、虚拟机栈基本内容四、栈的存储结构和运行原理1、栈中存储什么?2、栈的运行原理3、栈帧的内部结构4、局部变量表5、关于slot的理解五、操作数栈(Operand Stack)六、动态链接(或指向运行时常量池的方法引用)...

2020-03-12 16:49:28 184

原创 Eclipse 堆栈和内存大小设置

1、设置Eclipse内存使用情况修改eclipse根目录下的eclipse.ini文件-vmargs//虚拟机设置-Xms40m-Xmx256m-XX:PermSize=128M //非堆内存设置-XX:MaxPermSize=256M2、JVM内存设置打开eclipse window-pre...

2020-03-12 10:02:05 2285 1

原创 Linux下查看文件和文件夹大小

当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。 df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。 du可以查看文件及文件夹的大小。 两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。例如:[root@localhost local]# ...

2020-03-09 09:29:09 357

原创 JVM(四)——PC 寄存器

一、PC Register介绍2、PC寄存器两个面试问题

2020-03-07 11:51:26 243

原创 运行时数据区概述及线程(三)

一、运行时数据区概述二、线程1、JVM系统线程

2020-03-07 11:10:11 149

原创 JAVA虚拟机——类的加载(二)

一、类加载器子系统作用二、类加载器ClassLoader角色三、类的加载过程四、类加载器的分类五、双亲委派机制

2020-03-06 15:44:13 164

原创 Java虚拟机(一)

一、概念1、java生态圈2、java的跨平台性(一次编译,到处运行)3、JVM:跨语言的平台4、虚拟机与java虚拟机5、jvm的位置6、JVM整体结构7、JVM的架构模型二、JVM的生命周期...

2020-03-03 17:17:03 133

转载 10个常见的Redis面试"刁难"问题

Redis有哪些数据结构?字符串String、字典Hash、列表List、集合Set、有序集合SortedSet。如果你是Redis中高级用户,还需要加上下面几种数据结构HyperLogLog、Geo、Pub/Sub。如果你说还玩过Redis Module,像BloomFilter,RedisSearch,Redis-ML,面试官得眼睛就开始发亮了。使用过Redis分布式锁么,它是...

2020-03-03 11:12:46 308

原创 redis计数器和分布式锁

参考:https://blog.hhui.top/hexblog/2018/01/14/Redis%E5%AE%9E%E7%8E%B0%E5%88%86%E5%B8%83%E5%BC%8F%E9%94%81%E7%9B%B8%E5%85%B3%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9/

2020-03-03 10:11:56 456

原创 Redis数据结构与全局命令概述

前言Redis 的 主从复制 模式下,一旦 主节点 由于故障不能提供服务,需要手动将 从节点 晋升为 主节点,同时还要通知 客户端 更新 主节点地址,这种故障处理方式从一定程度上是无法接受的。Redis 2.8 以后提供了 Redis Sentinel 哨兵机制 来解决这个问题。1. Redis高可用概述在 Web 服务器中,高可用 是指服务器可以 正常访问 的时间,衡...

2020-03-02 11:28:38 133

原创 redis主从复制原理和介绍

1、全量复制流程 slave 向 master 传递命令 psync? -1 (因为第一次通信不知道master的runid和偏移量,所以传-1) master 向 slave 返回runid 和偏移量 slave 保存 master 的信息 master 执行 bgsave 生产RDB快照(这个过程会耗费主服务器大量的CPU、内存和磁盘I/O资源) master 做send...

2020-03-02 10:57:04 345

原创 系统并发量及QPS简单解释

1、V 即 page view,页面浏览量用户每一次对网站中的每个页面访问均被记录1次。用户对同一页面的多次刷新,访问量累计。2、UV 即 Unique visitor,独立访客通过客户端的cookies实现。即同一页面,客户端多次点击只计算一次,访问量不累计。3、IP 即 Internet Protocol本意本是指网络协议,在数据统计这块指通过ip的访问量。即同一页面,客户...

2020-03-02 09:57:02 2674

原创 Redis的事务

一. Redis事务的概念是什么: 可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序串行化的执行而不会被其他命令插入能干嘛:一个队列中,一次性、顺序性、排他性的执行一系列命令(要和pipeline区分开)Redis其实是部分支持事务: 因为事务的错误模式并不统一二. 使用方法1. 常用命令2. 正常开启Redis事务...

2020-02-27 17:01:00 103

转载 Redis 持久化 RDB/AOF 详解与实践

目录一、什么叫持久化?二、Redis 为什么要持久化?三、Redis 怎么实现持久化?四、RDB 方式与 AOF 方式的优势对比五、RDB 方式与 AOF 方式的缺点对比六、工作原理七、付诸实践,RDB 与 AOF 的实现1、RDB 方式持久化的开启与配置2、AOF 方式持久化的开启与配置AOF 恢复测试3、怎样从RDB方式切换为AOF方式4、优先选...

2020-02-27 16:00:21 386

原创 redis数据类型和常用命令

Redis有5个基本数据结构,string、list、hash、set和zset Redis数据类型 String List Hash Set ZSet 底层数据结构 数组 双向链表 二维结构...

2020-02-27 12:01:04 124

原创 Windows安装Virtual Box

下载Virtural Box 进入官网的下载页面,页面是:https://www.virtualbox.org/wiki/Downloads 根据系统不同选择不同的安装包,比如我的电脑是windows 10,第一个红色框的就是windows版本对应的安装包,第二个红色框是Virtual Box的功能扩展包,支持各种平台。这两个都下载下来。 安装Virtual Box ...

2020-02-25 14:35:00 295

原创 Windows中redis的下载及安装、设置

一、下载下载地址:https://github.com/MicrosoftArchive/redis/releases根据系统下载的版本:以(64位为例)二、安装打开cmd命令窗口 启动服务命令:redis-server.exe --service-start 关闭服务命令:redis-server.exe --service-stop三、客户端使用redis...

2020-02-25 14:05:30 189

原创 CentOS 6.x和CentOS 7.x 对比

1、文件系统CentOS 6.x :EXT4EXT4单个文件系统容量达到1EB,单个文件大小达到16TB。CentOS 7.x :XFSXFS默认支持8EB减1字节的单个文件系统,最大可支持的文件大小为9EB,最大文件系统尺寸为18EB2、防火墙 CentOS 6.x iptables CentOS 7.x firewalled 3、内核版...

2020-01-19 15:21:55 766

原创 FastJson的使用

maven依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version></dependency><depende...

2020-01-19 15:01:44 129

原创 eclipse(STS)安装 lombok插件重启后注解无效的解决办法

eclipse安装lombok插件lombok下载注解无效的解决办法: 以管理员身份启动eclipse(必须是管理员身份启动,否则注解无效) 项目添加maven依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok&lt...

2020-01-19 14:52:27 1123 1

原创 判断linux版本为centos或ubuntu

cat /etc/os-release | grep ID= |awk -F'"' '{print $2}'|xargs

2020-01-19 14:29:44 625

原创 apache benchmark并发测试工具使用

ab是apache自带的压力测试工具。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等。一、Apache下载Windows下载地址: http://www.apachehaus.com/cgi-bin/download.plx根据系统版本选择下载后,解压到C盘Apache 文件夹。二...

2019-11-13 10:45:56 363

原创 easypoi 导入报错 java.lang.ClassNotFoundException,怎么解决?

上面截图为导入的代码怎么解决?

2019-08-31 10:21:34 3671 3

原创 Eclipse 安装阿里巴巴代码规范插件

好像是要求jdk1.8+ ,1.8以下的没试过第一步: 选择 Install New Software第二步: https://p3c.alibaba.com/plugin/eclipse/update第三步:然后就是下一步下一步,重启...

2019-07-19 09:37:04 118

空空如也

空空如也

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

TA关注的人

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