Java
文章平均质量分 76
飞翔的乌龟
这个作者很懒,什么都没留下…
展开
-
JVM常用排查命令
pidstat 是 Sysstat 中的一个组件,也是一款功能强大的性能监测工具,top 和 vmstat 两个命令都是监测进程的内存、CPU 以及 I/O 使用情况,而 pidstat 命令可以检测到线程级别的。top命令是我们最常用的Linux命令之一,它可以实时的显示当前正在执行的进程的CPU使用率,内存使用率等系统信息。vmstat是一个指定周期和采集次数的虚拟内存检测工具,可以统计内存,CPU,swap的使用情况,它还有一个重要的常用功能,用来观察进程的上下文切换。dump : 生成堆转储快照。原创 2024-03-04 17:40:43 · 1042 阅读 · 0 评论 -
Java的四大引用详解-冲击金三银四
像“Object obj = new Object()”这类的引用均为强引用,当一个对象被强引用变量引用时,它处于可达状态,是不可能被垃圾回收器回收的,即使该对象永远不会被用到也不会被回收。当JVM出现内存不足时,JVM进行垃圾回收,对于强引用的对象,就算是出现了 OOM 也不会对该对象进行回收,打死都不收。因此强引用有时也是造成 Java 内存泄露的原因之一。如果将其引用赋值为null,一般认为是可以被垃圾回收掉的。(具体回收时间还要看使用的GC策略)原创 2024-03-03 16:39:47 · 868 阅读 · 0 评论 -
LeetCode-面试题16.25 LRU缓存机制题解
运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字-值」。当缓存容量达到上限时,它应该在写入新数据之前删除最.原创 2021-05-08 15:28:37 · 211 阅读 · 0 评论 -
Feign Client的超时时间配置
公司使用Spring Cloud微服务架构中,都是利用Feign进行服务间的调用,因为最近业务更改,服务繁杂响应时间边长,需要优化超时时间的配置。1.Feign配置# 默认开启feign.httpclient.enabled=false# 默认关闭feign.okhttp.enabled=true# 默认关闭feign.hystrix.enabled=false# 默认关闭feign.sentinel.enabled=true# default context 连接超时时间fe原创 2021-03-04 18:13:31 · 4136 阅读 · 6 评论 -
Eclipse启动出现:a java runtime environment(JRE) or java Development Kit (JDK) must be available in order
今天启动eclipse突然出现一下对话框:首先先确认电脑的环境变量有没有出现问题,环境变量出现问题,重新配置一下环境变量。如果环境变量没有出现问题,可以到jdk目录下将javaw.exe拷贝到eclipse目录下即可,然后打开eclipse就可以正常使用了。...原创 2017-09-27 18:59:26 · 1107 阅读 · 0 评论 -
eclipse查看jar源码时出现乱码现象解决
今天查看pageHelper插件jar包时,出现中文乱码的情况,解决情况如下:1.点击window->General->Content Types,选择Java Archive(.jar/zip),如下图2.并将工作空间的text file encoding默认编码格式修改为utf-8...原创 2017-12-22 17:39:44 · 254 阅读 · 0 评论 -
idea项目启动时控制台报错One or more listeners failed to start的解决方案
今天使用idea启动tomcat时报错,控制台的错误信息只有一句:One or more listeners failed to start。没有其他的任何错误信息。最快的解决方案是:在classes目录下面添加一个配置文件logging.properties内容为:handlers = org.apache.juli.FileHandler, java.util.logging.Con...原创 2019-04-22 12:46:47 · 4929 阅读 · 4 评论 -
解决Idea的中文乱码问题
第一步:首先进入到Idea的安装目录下,找到idea64.exe.vmoptions文件和idea.exe.vmoptions文件,在文件末尾添加-Dfile.encoding=UTF-8第二步:在File->Settings->Editor->File Encodings中按照下图进行修改。第三步:进入File->Other Settings -> De...原创 2019-04-22 19:55:36 · 7345 阅读 · 1 评论 -
Could not get JDBC Connection; nested exception is org.apache.tomcat.jdbc.pool.PoolExhaustedExceptio
<bean id="calMysqlDataSource" class="org.apache.tomcat.jdbc.pool.DataSource"> <property name="driverClassName" value="${jdbc.driver}" /> <property name="url" value="$原创 2017-09-19 09:23:30 · 6634 阅读 · 0 评论 -
运行项目出现java.lang.ClassNotFoundException: org.springframework.web.util.IntrospectorCleanupListener
java.lang.ClassNotFoundException:org.springframework.web.util.IntrospectorCleanupListener atorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718) atorg.a...原创 2017-07-23 21:28:54 · 16734 阅读 · 7 评论 -
IntelliJ Idea 常用快捷键大全
Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ OR ],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择Ctrl+N,可以快速打开类C...原创 2019-01-24 11:37:20 · 129 阅读 · 0 评论 -
JDBC插入数据返回生成的主键ID
使用JDBC插入一条数据,返回自增的主键ID,具体代码如下 Connection conn=dataSource.getConnection(); PreparedStatement insertPortSt = conn.prepareStatement(sql); ResultSet mIdResultSet=null; insertMobileSt.setInt(1, pId);//原创 2017-10-20 11:24:01 · 1973 阅读 · 0 评论 -
Java知识点笔记--多态机制中的静态方法
下面例子取自Java编程思想:package test;class StaticSuper { public static String staticGet() { return "Base staticGet()"; } public String dynamicGet() { return "Base dynamicGet()"; }}class StaticS原创 2017-10-12 12:13:36 · 245 阅读 · 0 评论 -
Java知识点笔记--构造器内部的多态行为
原创 2017-10-12 14:44:29 · 190 阅读 · 0 评论 -
Java通过poi写入和读取Excel文件
在maven项目中,首先需要引入以下几个jar包,需要注意的是版本号一定要统一: org.apache.poi poi 3.12 org.apache.poi poi-ooxml 3.12 org.apache.poi poi-excelant 3.12 org.apache.poi原创 2017-10-30 14:27:10 · 405 阅读 · 0 评论 -
使用Spring的@Async解决界面耗时操作,增强用户的体验度
首先需要在spring的配置文件当中添加一下内容:<!-- 定时器的线程池数量大小 --> <task:scheduler id="scheduler" pool-size="5" /> <!-- 任务线程池的数量大小,core size为5,max size为15,队列容量为5,达到总线程数时抛出异常、不执行 --> <task:executor ...原创 2018-03-08 18:29:03 · 1339 阅读 · 0 评论 -
设计模式--单例模式的三种好用的实现方式
对于单例模式大家都比较熟悉,下面介绍两种常用的实现方式。1.懒汉式(常见实现方式)public class Singleton { private static Singleton instance=new Singleton(); private Singleton(){}; public static Singleton getInstance(){ ...原创 2018-06-28 23:12:06 · 175 阅读 · 0 评论 -
设计模式---模版模式
模版模式:在抽象类中定义一部分具体通用的方法的执行方式,在子类中重写方法实现,然后以抽象类中的定义方式执行。 通俗来讲:抽象类封装不可变的代码部分,子类扩展可变代码部分。抽象类提取公用代码,子类负责实现。 该模式的缺点:每一个实现都需要使用一个子类,导致类个数的不断增加。 代码案例:public abstract class Game { abstract void initializ...原创 2018-07-06 10:36:00 · 206 阅读 · 0 评论 -
设计模式---策略模式
策略模式:将一个个操作或算法封装起来,需要时他们可以相互替换。优点:算法可以自由切换,扩展性良好。缺点:每一个策略类都需要对外开放,而且策略类会不断增加。切记:一般不要将策略类的数量多于四个。参考案例:public interface Strategy { public int doOperation(int num1,int num2);}public class OperationAdd ...原创 2018-07-06 11:19:27 · 183 阅读 · 0 评论 -
Result从select count(0)中获取结果
今天遇到一个奇怪的需求,顺便做一下笔记,之前没有这么写过。通过传统的java jdbc,通过ResultSet从select count(*)中获取记录数。 //获取总记录数 ResultSet rs = statement.executeQuery("select count(*) from msgInfo" ); if (rs.next())原创 2017-09-18 11:44:12 · 1394 阅读 · 0 评论