![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
亨格瑞
这个作者很懒,什么都没留下…
展开
-
spring 项目排查内存泄露,老年代内存不断增长,分区占100%
这星期在测试大并发的数据上报,测试过程中发现运行一段时间后,服务会卡住,不再响应请求,排查后发现 重启时,内存会不断增加,最终到达3G多卡死。于是只能导出jvm运行的堆栈信息,分析内存泄露的问题。首先是一些常用的命令。一类是jdk自带的分析工具,jmap用于分析jvm内存, jstack可以分析线程死锁,分析线程执行情况。还有阿里的Arthas - Alibaba Java Diagnostic Tool也是一个非常强大的工具,还能直接修改一些运行的内存类,分析方法执行返回,也是非常强大。..原创 2022-01-25 21:55:19 · 2765 阅读 · 0 评论 -
学习设计模式(四)--原型模式、建造者模式
可以把director 与 builder 结合在一起建造者模式优缺点原创 2021-10-25 23:42:06 · 98 阅读 · 0 评论 -
学习设计模式(三)--工厂模式
咖啡案例:1. 简单工厂模式(不属于GOF的23种设计模式):简单工厂模式不是设计模式,反而更像是编程习惯抽象产品:定义了产品规范,描述了产品的主要特性和功能,比如咖啡类具体产品:实现或者基础抽象产品的子类,比如拿铁类具体工厂:提供了创建产品的方法,调用者通过该方法来创建产品优缺点:优点:封装了创建对象的过程,可以通过参数直接获取对象,把对象的创建和业务逻辑层分开,这样以后就避免了修改客户代码,如果实现新产品直接修改工厂类降低了客户代码修改的可能性缺点...原创 2021-09-29 08:32:15 · 127 阅读 · 0 评论 -
设计模式学习(二)--创建者模式
创建者模式的主要关注点是“怎么样创建对象“,特点是“将对象的创建与使用分离”这样可以降低系统的耦合度,使用者不需要关注对象的创建细节。1.单例设计模式 这种模式涉及到一个单一的类,该类创建自己的对象,同事确保只有单个对象被创建,这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 饿汉式:类加载就会导致该单实例对象被创建 懒汉式:类加载不会导致该单实例对象被创建,而是首次使用该对象时才会创建。饿汉式(静态变...原创 2021-09-25 14:53:44 · 112 阅读 · 0 评论 -
设计模式学习(一)
1.里氏代换原则 任何基类出现的地方,子类一定可以出现。子类可以扩展父类的功能,但不能改变父类原有的功能。保证抽象类和接口的合理性,具备抽象性,不能适用于部分实现,另一部分实现报错。2.依赖反转原则 高层模块不应该依赖低层模块,两者应该依赖抽象;抽象不应该依赖细节,细节应该依赖抽象。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户于实现模块间的耦合。 对抽象进行编程,依赖不应该直接依赖实现,而是依赖接口3...原创 2021-09-22 21:48:26 · 89 阅读 · 0 评论 -
MIT 分布式系统学习(一)
最近在学习MIT的分布式课程,6.824Schedule: Spring 2021,这里附上链接:https://open.163.com/newview/movie/free?pid=UGBHO30UJ&mid=OGBHVACSE 课程资料:https://pdos.csail.mit.edu/6.824/schedule.html一.分布式系统的意义:1.获取并发2.FT(容错性)3.物理原因4.安全/孤立...原创 2021-08-09 21:52:42 · 339 阅读 · 0 评论 -
系统监控哲学
在云原生环境下,监控是维护系统稳定的重中之重,确保系统运行在安全状态,在系统异常时候及时告警 甚至提前进行预警都至关重要。 设计监控系统要涉及几个方面:1.监控系统的选型,监控系统说是系统,做起来必须有监控agent,比如一个服务器集群或者一个容器集群,得要在分布的节点上面采集数据,这就需要利用agent将监控指标数据发给数据中心,agent一般可以看成一个定时器,定时或者实时上报数据,更新频率一定程度决定了告警速率。agent可以做个简单的agent,只用来接受...原创 2021-07-07 22:14:09 · 115 阅读 · 0 评论 -
玩转datetime
在使用datetime的时候不能总是一句datetime.now()返回,有时候需要处理出特定时刻,假如自己做转换,或者加减毫秒也行,但是本来就有原生支持方法,使用起来也很顺手,下面记录一些用法。1, 获取每天的零点 DateTime dt=new DateTime().withMillisOfDay(0); System.out.println(dt.toString("yyyy-MM-dd HH:mm:ss")); //结果 2016-09-0...原创 2020-12-02 15:39:35 · 395 阅读 · 0 评论 -
maven中scope=compile 和 provided区别
问题再现:上次这边朋友问我一个问题,就是他们在pom.xml中的dependency中,看到有一些是<scope>provided</scope>的情况,比如如下:<dependency> <groupId>com.liferay.portal</groupId> <artifactId>portal-impl</artifactId> <version>6.1.0</v转载 2020-09-14 09:58:11 · 1047 阅读 · 0 评论 -
“java.io.FileNotFoundException Too many open files”报错处理
在开发中遇到了部署到服务器的抛出这个异常,直接导致了springboot启动失败,而在其他的机器正常,所以应该与服务器的机器配置问题有关,这个问题出现是由于文件描述符不够了,出现这个问题需要检查两点: 1.是否自己的应用开启过多的连接 2.是否自己的机器设置的limit太低查看文件描述符大小:修改文件描述符大小:方法1,只对当前session有效,设置限制为62235:ulimit -HSn 62235方法2,永久有效:在/etc/secur...原创 2020-05-14 12:53:29 · 1933 阅读 · 0 评论 -
Java Json转换的用法
java作为主流的web后端语言,在与前端数据打交道的时候较多会遇到json转换。 首先可以利用Json工具类将java对象转换为字符串: JSON.toJSONString(missionList); 另外,json本身也可以看成是一个key-value的形式,与map相当,所以可以构建JSONObject,利用其中的String转换方法。JSONObjec...原创 2020-02-28 15:11:44 · 187 阅读 · 0 评论 -
IDEA使用小技巧
IDEA 和 eclipse 一直有谁是java最佳Java IDE之争,其实两个IDE都很好用,看个人使用习惯,我是先使用eclipse然后再切换到IDEA,这里简单的总结一些使用小技巧。1.IDEA导入git项目2.IDEA常用快捷键Ctrl+Z:撤销Ctrl+Shift+Z:重做Ctrl+X:剪贴Ctrl+C:复制Ctrl+V:粘贴C...原创 2019-10-21 15:23:46 · 1046 阅读 · 0 评论 -
正则表达式例子
正则表达式在线测试:http://tool.chinaz.com/regex/1、匹配整数或者小数(包括正数和负数) -?\d+(\.\d+)? -?表示-匹配0次或一次,\d表示整数,+表示匹配一次或多次,(\.\d+)?表示小数2、匹配年月日日期 格式2018-12-6 ^[1-9]\d{0,3}-(1[0-2]|0?[1-9])-(3[01]|[12]\d|0?[1...原创 2019-09-23 13:02:55 · 197 阅读 · 0 评论 -
命令行运行java报错:错误: 找不到或无法加载主类 Test.java
今天在服务器写了个小程序,准备直接利用java命令运行,但是发现一直报错,原因是由于java文件中包含package信息,不注意这个问题容易出现错误。原创 2019-09-03 14:55:00 · 1458 阅读 · 0 评论 -
java获取主机IP
最简单的获取ip手段: String hostAddress = InetAddress.getLocalHost().getHostAddress();但是由于它是获取本地host对应的ip,而现在电脑往往存在多个ip、网卡甚至虚拟机,这个方法会存在很多问题于是方法一://返回InetAddress,之后再调用getHostAddress() private static ...原创 2019-08-29 12:59:59 · 1499 阅读 · 0 评论 -
单例模式双重检查锁
单例模式基本上为面试必考内容,单例模式说简单也简单,但是在面试中还是有些细节需要注意,下面提供一个懒汉的、线程安全的、避免jvm指令重排的单例书写方式,需要注意的一些点在注释中进行了说明。public class Singleton { private volatile static Singleton instance=null;//将单例声明为 private,避免外部访问,vol...原创 2018-10-03 15:46:53 · 127 阅读 · 0 评论