03 2020 档案
摘要:前言 最近复习遇到了这个问题,在此进行一个详细的记录,分享给大家。 两个接口的区别 包区别 Comparable接口是在java.lang下。 Comparator接口是在java.util下。 使用区别 如果在定义类时,就实现了Comparable接口,直接在里面重写compareTo()方法,如
阅读全文
摘要:前言 最近复习,又看到了这个问题,在此记录和整理,通过例子来说明这种情况的原因,使大家可以清晰明白这个问题。 初步探索 首先我们要了解equals方法是什么,hashcode方法是什么。 equals方法 equals 是java的obejct类的一个方法,equals的源码如下: 由此我们可以看到
阅读全文
摘要:前言 近期被问及这个问题,在此记录整理一下。 System.gc()方法的调用 此方法的调用是建议JVM进行Full GC,虽然只是建议而非一定,但很多情况下它会触发 Full GC,从而增加Full GC的频率,也即增加了间歇性停顿的次数。强烈影响系建议能不使用此方法就别使用,让虚拟机自己去管理它
阅读全文
摘要:堆溢出 java.lang.OutOfMemoryError: Java heap space — JVM Heap(堆)溢出 JVM 在启动的时候会自动设置 JVM Heap 的值,其初始空间(即 Xms)是物理内存的1/64,最大空间( Xmx)不可超过物理内存。可以利用 JVM提供的 Xmn
阅读全文
摘要:前言 最近被问到了这个问题,解释的不是很清晰,有一些概念略微模糊,在此进行整理和记录,分享给大家。本篇文章主要讲解内存区域的年轻代,老年代和永久代,略微提及一些垃圾回收算法,下面是正文。 堆整体 堆主要用于存放各种类的实例对象和数组。在java中被分为两个区域:年轻代和老年代。在java中还有一个永
阅读全文
摘要:前言 最近被问到了线程池的相关问题。于是准备开始写一些多线程相关的文章。这篇将介绍一下线程池的基本使用。 Executors Executors是concurrent包下的一个类,为我们提供了创建线程池的简便方法。 Executors可以创建我们常用的四种线程池: (1)newCachedThrea
阅读全文
摘要:前言 最近被问到了这个问题,第一次回答的也是很不好,在此参考网上答案进行整理记录。供大家学习参考。 Synchronized修饰非静态方法 Synchronized修饰非静态方法,实际上是对调用该方法的对象加锁,俗称“对象锁”。 Java中每个对象都有一个锁,并且是唯一的。假设分配的一个对象空间,里
阅读全文
摘要:背景 使用vpn后,桌面可以直接访问数据库等。程序直接连接不上了 解决办法 eclipse的配置方法。 idea的配置方法
阅读全文
摘要:前言 今天小项目里引入了阿里云短信。调试过程中,突然不发短信了。发现接口返回信息,触发天级流量限制。以下是原因和解决办法。 原因 短信发送有默认的频率限制 限制如下: 短信验证码 :使用同一个签名,对同一个手机号码发送短信验证码,支持1条/分钟,5条/小时 ,累计10条/天。 短信通知: 使用同一个
阅读全文
摘要:操作步骤 1、进入elasticsearch的plugin,进入ik。进入config。 2、在config下面建立以.dic为后缀的字典。在建立的时候一定要注意文本的报错格式,请保存为utf 8格式的,其他格式不能使用。文件如果在linux中通过vi生成,则不用管格式。可以直接使用。 3、建立好后
阅读全文
摘要:idea启动配置 参数如下 jdk目录下找到jconsole 选择远程连接输入第一步中配置的 ip:port 点击连接即可 ps:需要安装JDK、监控的项目先启动
阅读全文