- 博客(69)
- 收藏
- 关注
原创 Liunx服务器
在工作中总会轮到你排查线上问题,当Liunx服务器中出现CPU占用率过高的情况,应该如何快速排查定位问题所在,提高工作效率呢?more记: 一次登录服务器发现CPU占用率居高不下, 排查后发现是MySQL占用达到200%
2024-05-18 00:19:43
739
原创 Nginx IP属地
通过HttpServletRequest得到的IP统一: 127.0.0.1因为使用了Nginx反射代理,修改Nginx的配置并重载Nginx即可more项目中使用request.getRemoteAddr();对来源IP进行了判断,相同IP地址半小时只能上传一次数据,我测试的时候本机访问次数没有这么多次,而且这个数据初次访问时间是项目正式部署上线的时间,是生产环境产生的日志,生产环境怎么会拿到本机地址呢?经过一番研究: 在nginx配置文件nginx.conf。
2024-05-18 00:18:06
1139
原创 JVM故障分析及性能优化系列之七:使用MAT的Histogram和Dominator Tree定位溢出源
上一篇文章概括的介绍了JVM Heap Dump文件生成的方式以及内存分析工具MAT的概要功能,今天讲解如何使用MAT的Histogram和Dominator Tree两个视图,定位到内存溢出源。more。
2024-05-16 10:15:50
1401
1
原创 JVM故障分析及性能优化系列之六:JVM Heap Dump(堆转储文件)的生成和MAT的使用
前面的文章详细讲述了分析Thread Dump文件,实际在处理Java内存泄漏问题的时候,还需要分析JVM堆转储文件来进行定位。more。
2024-05-16 09:45:50
1121
原创 JVM故障分析及性能优化系列之五:ThreadDump日志分析
我们在上篇文章中详细描述了,今天总结分析的一些原则,并详细列举一些案例进行说明。more下面列出几种常见的症状即对应的解决方案:CPU占用率很高,响应很慢CPU占用率不高,但响应很慢。
2024-05-16 09:33:41
844
原创 JVM故障分析及性能优化系列之四:Thread Dump日志线程状态
今天针对日志文件中 Java EE middleware, third party & custom application Threads 部分线程的状态进行详细的分析。Thread Dump日志的线程信息
2024-05-15 16:27:28
559
原创 JVM故障分析及性能优化系列之三:VM Thread分析
当服务器CPU100%的时候,通过定位占用资源最大的线程定位到 VM Thread。这个时候需要使用 jstat -gc 命令查看gc的信息
2024-05-15 14:56:46
1364
原创 JVM故障分析及性能优化系列之二:Thread Dump日志结构解析
上一篇文章讲述了,这篇文章首先对Thread Dump日志文件的结构进行分析。more一个典型的thread dump文件主要由一下几个部分组成:上图将JVM上的线程堆栈信息和线程信息做了详细的拆解。
2024-05-15 14:28:50
1451
原创 JVM故障分析及性能优化系列之一:jstack定位线程堆栈信息
前一段时间上线的系统升级之后,出现了严重的高CPU的问题,于是开始了一系列的优化处理之中,现在将这个过程做成一个系列的文章。more。
2024-05-14 11:35:53
1118
原创 Typora + AliyunOSS + PicGo + OneDrive 搭建同步笔记本
前记: 尝试使用Gitee和Github,效果都十分不理想最终决定使用阿里云OSS服务器完成图床的搭建登录阿里云 --> 侧边栏 —> 选择对象存储OSS 如下图:对象存储界面右部选择创建Bucket,如下图所示:然后会弹出一个侧边栏 ==>进行创建 Bucket工作,读写权限要设定为公共读,其他的服务选项,如果自己有特殊需要,可以选择配置同城冗余存储,版本控制等服务,如果没有可以默认。完成后点击确定即可。注意:购买完存储包就可以了,至于流量包,默认的是按量计费,下面是阿里云的计费方法:点击查看收费详情
2024-05-14 09:43:59
1204
原创 防止恶意解析(禁止通过IP直接访问)
一、什么是恶意解析 一般情况下,要使域名能访问到网站需要两步,第一步,将域名解析到网站所在的主机,第二步,在web服务器中将域名与相应的网站绑定。但是,如果通过主机IP能直接访问某网站,那么把域名解析到这个IP也将能访问到该网站,而无需在主机上绑定,也就是说任何人将任何域名解析到这个IP就能访问到这个网站。可能您并不介意通过别人的域名访问到您的网站,但是如果这个域名是未备案域名呢?一旦被查出,封IP、拔线甚至罚款的后果都是需要您来承担的。某些别有用心的人,通过将未备案域名解析到别人的
2024-05-13 17:10:45
1042
1
原创 Alist + RaiDrive-Nas挂载云盘(Quark)
配置完成,但是启动alist的命令行窗口不能关,每次开机还需要手机打开,我们通过nssm把alist注册为window服务,在后台运行。配置完成,但是启动alist的命令行窗口不能关,每次开机还需要手机打开,我们通过nssm把alist注册为window服务,在后台运行。连接配置成功后,可以看到本地磁盘网络位置下多了一个文件夹,下面对应刚才添加的磁盘,此时,你就可以在本地进行网盘的读写。在Alist文档中有列出所有网盘所需的方法,只需要填写Cookie即可,根目录ID为0;,进入到管理界面,侧边栏选中。
2024-05-13 17:04:03
6918
原创 SpringBoot 内存泄漏OOM,排查思路
整个内存分配的流程如上图所示。MCC扫包的默认配置是扫描所有的JAR包。在扫描包的时候,Spring Boot不会主动去释放堆外内存,导致在扫描阶段,堆外内存占用量一直持续飙升。当发生GC的时候,Spring Boot依赖于finalize机制去释放了堆外内存;但是glibc为了性能考虑,并没有真正把内存归返到操作系统,而是留下来放入内存池了,导致应用层以为发生了“内存泄漏”。所以修改MCC的配置路径为特定的JAR包,问题解决。
2022-10-11 13:45:48
1697
原创 给定字符串判定字符位置,字符个数
题目列表“abc21b416u” ===> 统计数字有几个,字母有几个?给定一个字符串, 判断该字符串中是否包含某个子串.如果包含, 求出子串的所有出现位置.如:"abcd23abc34bcd"中,"bc"子串的出现位置为: 1,7,11.字符串和子串均由用户在控制台输入给定一个由数字组成的字符串,如:“1239586838923173478943890234092”,统计出每个数字出现的次数字符串,统计出现次数,次数为1时后面不输出次数 “aaaaaaabbbbbcerrrrgggggg
2020-11-25 11:20:09
876
原创 List去除重复元素统计个数
List去除重复元素统计个数 集合中存入重复数据,统计每个数据出现的次数 把如下元素去掉重复元素存入List集合 “aaa” “bbb” “aaa” “abc”“xyz” “123” “xyz”这是两道题,用一种方法可以解决,灵活运用即可public class Test { public static void main(String[] args) { List<String> list = new ArrayList<>();
2020-11-25 10:42:20
1571
原创 TreeSet
TreeSet概念treeSet 被称为可排序集合无序不可重复,可以自动排序,没有下标底层是TreeMap数据结构,TreeMap底层是二叉树放到TreeSet集合中的元素,等于放到TreeMap集合中的key部分/** * 注意:TreeSet可以自动排序自定义类型吗? * 不可以,会出现类型转换异常 ClassCaseException * 实现自定义类排序,需实现Comparable接口并且编写排序规则 */
2020-11-21 14:29:49
270
原创 String&Array字符串|数组练习
String&Array练习关于String类的方法和Array的操作字符串分割,数组排序,字符串赋值给自定义对象并添加到数组中题目:从键盘上输入身份证号, 判断出生日期,性别,身份证倒数第二位表示性别,双数为女性,单为男有字符串: ”101,lisi,98;202,wangwu,76;303,chenqi,84;404,zhangsan,49;505,xiaoming,67”,保存的学生的学号,姓名,成绩信息.要求把字符串中学生信息取出来,创建Student对
2020-11-21 14:26:44
399
原创 MySQL三部曲之渐入佳境
连接查询什么是连接查询在实际开发中,大部分的情况都不是从单表中查询数据,一般是多张表联合查询取出最终结果。实际开发中,一般一个业务会对应多张表,如学生和班级,起码两张表。stuno stuname classno classname------------------------------------------------------------1 张三 1 深圳中学高三1班2 李四 1 深圳中学高三1班学生和班级信息存储到一张表中
2020-11-11 17:44:58
162
原创 MySQL三部曲之初见端倪
sql、DB、DBMS分别是什么,他们之间的关系?DB:DataBase(数据库,数据库实际上在硬盘上以文件的形式存在)DBMS:DataBase Management System(数据库管理系统,常见的有:MySQL Oracle DB2 Sybase SqlServer…)SQL:结构化查询语言,是一门标准通用的语言,标准的sql适合于所有数据库产品。SQL属于高级语言,只要能看懂英语单词,写出来的sql语句,可以读懂什么意思。SQL语句在执行的时候,实际上内部也会先进行编译..
2020-11-11 17:30:37
222
原创 二维数组迷宫趣题
import java.util.Scanner;/** * A代表人物 * 核心思路,交换元素下标位置,走出迷宫 */public class TwoDimensionalMap { public static void main(String[] args) { char[][] map={ {'*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','.
2020-11-08 12:42:43
444
2
原创 JavaWeb:报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
JSP页面顶端出现“红色”的报错信息:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path。原来Javaweb工程类中没有添加Tomcat运行时相关类导致。下面是具体的解决方法:1、右击web工程-》属性或Build Path-》Java Build Path->Libra...
2020-01-06 17:31:06
307
原创 MySQL插入中文显示问号
乱码问题出现的情况有很多种,针对web开发这一流程来说,可以根据数据的流向来定位乱码出现的位置。前台发起一个请求,数据通过http协议到后被接收,这里数据会进行一次编码,在ssm环境下,是springMVC来拦截请求进行处理,所以在springMVC中能配置数据的编码格式,springMVC提供的是一个filter,在web.xml中配置。 <filter> <...
2018-03-20 00:56:11
4022
1
原创 String、StringBuffer、StringBuilder的区别
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常
2016-09-03 12:18:24
430
原创 Struts1 与 Struts2 的比较
Action 类: ? Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。 ? Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现常用的接口。Action接口不是必须的,任何有execute标识的PO
2016-09-02 17:08:27
471
原创 谈谈MVC模式
1.如何设计一个程序的结构,这是一门专门的学问,叫做"架构模式"(architectural pattern),属于编程的方法论。MVC模式就是架构模式的一种,它对我的启发特别大。我觉得它不仅适用于开发软件,也适用于其他广泛的设计和组织工作。下面是我对MVC模式的一些个人理解,不一定正确,主要用来整理思路。2.MVC是三个单词的首字母缩写,它们是Model(
2016-09-02 11:33:35
488
原创 如何创建并运行java线程
Java线程类也是一个object类,它的实例都继承自java.lang.Thread或其子类。 可以用如下方式用java中创建一个线程:1Tread thread = new Thread();执行该线程可以调用该线程的start()方法:1thread.start();
2016-09-02 11:28:12
528
转载 面向对象的三个基本特征
面向对象的三个基本特征(讲解)面向对象的三个基本特征是:封装、继承、多态。封装封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。继承面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能
2016-07-24 22:10:04
514
原创 (学生信息管理系统)进销存管理系统--员工管理篇
进销存管理系统是企业的循环系统,是整个企业生产经营活动的物质基础。企业的生产经营活动,从材料的采购、产品的生产加工到产品的销售等等,从一定意义上讲,都是物料的转换和流动的过程。进销存管理系统的运作和效率直接影响着企业的经济效益。效易王从整个企业物流的视角出发,实现了库存、采购和销售的物流的整合,并且和生产、财务等子系统集成。进销存管理系统帮助企业合理配置物流资源,动态控制物流动向,有效地保障生产经
2016-05-15 16:27:11
1661
原创 Struts2连接数据库实现登陆(验证码)、注册
实现登陆、注册登陆带验证码环境eclipse (Java EE)+ Tomcat + MySQLStruts2 需要配置Struts2,首先修改web.xml,在中加入: struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
2016-04-23 23:23:23
2578
原创 将eclipse中的project配置到Tomcat
和MyEclipse不一样,在Eclipse中做的Web项目默认是不支持将项目发布到Web服务器上的,会发布到工作空间的某个目录,因此无法在外部启动Tomcat来运行Web项目,只有打开Eclipse中的服务器,才能运行Web项目。所以要对Eclipse进行修改,才能将做好的项目,发布到Tomcat服务器上,发布到服务器上的Webapps文件夹下。 在Eclipse中,默认会
2016-04-22 14:56:06
1880
原创 struts2验证码登陆实现
首先是生成随机验证码图片的action:package actions;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.ByteArrayInputStream;import java.io.
2016-04-13 21:58:20
7375
1
原创 Struts2的There is not Action mapped for namespace [/] 错误
错误原因让人啼笑皆非……重点内容**There is no Action mapped for namespace [/] and action name [test] associated with context path [/test]. - [unknown location] at com.opensymphony.xwork2.DefaultActionProxy.prepa
2016-04-13 17:36:47
822
原创 Android显示TextView文字的倒影效果
今天记录一下TextView的倒影效果,显示一串文字,然后在文字的下方显示出它的倒影,先上效果图: 最重要的就是View中getDrawingCache()方法,该方法可以获取cache中的图像,然后绘制出来。 废话不多说,我是想写一个带有倒影的时间,时间可以走动。首先先写一个带有时间走动的View,这个很简单,获取当前时间,然后开启一个线程,隔一秒获取当前时间一次,然后显示在TextV
2016-04-10 15:17:43
849
原创 android实现漫天雪花&下雨效果
**前言:**英文原文地址:https://blog.stylingandroid.com/snowfall/ 中文翻译地址:http://www.open-open.com/lib/view/open1452263908573.html 国外大神实现效果youtube视频地址:https://www.youtube.com/watch?v=pk66ZziTfOw 中文翻译是open开发者经
2016-04-10 15:10:04
2479
原创 数据库系统原理设计--论坛系统
论坛信息管理系统 摘要:随着科学技术的发展,基本上所有的具有一定数量数据的机构都 开始使用计算机数据库来管理。现如今网络盛行,BBS 论坛已成为人们生活 中的一种信息交流渠道,它通过在计算机上运行服务软件,允许用户使用终端 程序通过电话调制解调器拨号或者 Internet 来进行连接,执行下载数据或程 序、上传数据、阅读新闻、与其他用户交换消息等功能。 本文主要介绍利用 S
2016-04-09 16:08:49
5525
原创 在linux中安装MySQL(Ubuntu)
目录MySQL在Windows中安装MySQL在Linux Ubuntu中安装通过命令行客户端访问MySQL修改MySQL服务器的配置新建数据库并设置访问账号改变数据存储位置1. MySQL在Windows中安装在Windows系统上安装MySQl数据库是件非常简单的事情,下载压缩包,解压即可。下载地址:http://dev.mysql.com/do
2016-04-01 23:20:35
927
原创 linux下安装配置JDK,详细步骤图文
1、复制jdk到安装目录(1)假设jdk安装文件在桌面,我们指定的安装目录是:/usr/local/java 。可是系统安装后在/usr/local下并没有java目录,这需要我们去创建一个java文件夹,如图(1) (2)切换到桌面下,执行复制,如图(2) 2、安装jdk(1)切换到root用户下,如图(3)
2016-03-30 00:24:17
6643
1
原创 The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path表头报错解决
用eclipse做jsp文件,自动创立的文件表头出现这个报错,应该怎么处理?JSP页面顶端出现“红色”的报错信息:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path。原来Javaweb工程类中没有添加Tomcat运行时相关类导致。下面是具体的解决方法:1、右击web工程-》
2016-03-29 19:37:01
1146
原创 (算法-training)前缀表达式
问题描述 编写一个程序,以字符串方式输入一个前缀表达式,然后计算它的值。输入格式为:“运算符 对象1 对象2”,其中,运算符为“+”(加法)、“-”(减法)、“*”(乘法)或“/”(除法),运算对象为不超过10的整数,它们之间用一个空格隔开。要求:对于加、减、乘、除这四种运算,分别设计相应的函数来实现。 输入格式:输入只有一行,即一个前缀表达式字符串。 输出格式:输出相应的计
2016-03-18 15:36:20
1260
原创 (算法-training)Anagrams问题
问题描述 Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。 输入格式:输入有两行,分
2016-03-18 15:27:37
665
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人