java
_ranen
这个作者很懒,什么都没留下…
展开
-
JVM调优参数小计
minor gc 超过 15次,数据会被放置到老年代。-Xmx :最大堆-Xms :最小堆,一般设置和Xmx设置相同,避免每次GC后JVM重新分配内存。-Xmn :年轻代大小设置,官方推荐设置3/8-Xss :设置线程栈大小,此值越大,相同内存可生成的线程越少。 -XX:+HeapDumpOnOutOfMemoryError 当发生oom时,保存dump文件(使用MAT分析) -XX:MateSpaceSize=128m .原创 2021-02-22 15:30:50 · 114 阅读 · 0 评论 -
IDEA自动生成对象的赋值
1、预期效果,new两个不同名,同属性的对象,通过set方法进行bean复制。使用效果:2、IDEA插件:GenAllSetter到idea 仓库搜索并安装。3、使用在将要被赋值的对象上面右键点击Generate或者使用快捷键[alt+insert]点击Generate All Setter With Getter勾选数据源对象。点击Generate。成果展示:...原创 2020-11-05 16:08:20 · 6811 阅读 · 0 评论 -
[redis]基础数据类型
在进入正题之前,我们先下载一个工具【redis desktop manager】用于可视化观察数据结构。 在redis中每一个唯一的key值对应一个value,这里的key就是数据的名字,而value就是用来存储的数据,它可以有不同的数据结构。在redis共提供了5中数据类型,接下来我们将逐一介绍每种数据类型的特性及使用方法。前言:使用range系列命令的时候,0代表第一位,负数代表倒数位数,如-1代表倒数第一个-2代表倒数第二个,以此类推 类型 ...原创 2020-06-27 20:29:53 · 273 阅读 · 0 评论 -
IDEA类图标有小叉叉×
如题,博主在不知道什么情况下突然有一天build工程一直通不过,一直报错找不到图中这个类的标识符,但实际mvn install 又没有问题。 细心的博主发现,这个地方多了个小叉叉,于是乎经过了一番钻研(百度)。找到了解决方案。解决方案如下:1、首先打开idea的setting窗口,在idea窗口中搜索excludes,也就是下图这个地方。2、在右侧操作界面删除所有的类3、点击[OK]就可以啦...原创 2020-05-20 13:23:49 · 3356 阅读 · 3 评论 -
idea调优|maven调优
文章目录一、idea调优1、idea启动优化2、调整build速度和参数二、maven调优1、编译打包优化2、设置栈大小3、使用mvn打印依赖树,排查依赖关系一、idea调优1、idea启动优化首先打开idea->Help->Edit Custom VM Options按如下配置调整既有参数,参数数值不固定,需根据开发环境配置适当调整。针对如下配置#号后面的为注释,配置时需删除# 启动堆大小-Xms2048m# 最大运行堆内存-Xmx4048m# 关闭Java字节码验证,从而原创 2020-05-11 14:00:49 · 2538 阅读 · 0 评论 -
Bigdecimal多线程做除法导致的一系列问题
在使用Bigdecimal的除法的时候要在devide的时候直接将精度设置好,不要以为devide以后再跟一个setScale就万事大吉了,这样当我们遇到无限循环小数的结果集的时候一样会导致异常java.lang.ArithmeticException: Non-terminating decimal ...原创 2020-05-08 13:27:05 · 1145 阅读 · 0 评论 -
java从入门到放弃(五)使用idea远程调试jres代码
使用idea远程调试jres代码一、准备工作打包并上传服务器。保证本地代码与上传服务器的jar包的代码调试部分无差异。二、具体操作1、新建Remote启动项具体操作如下:A、点击idea的【Edit Configurations】B、新增RemoteC、完成后####### 2、修改启动脚本restart-service.sh####### 3、启动服务器中的jr...原创 2020-04-30 09:17:12 · 387 阅读 · 0 评论 -
java线程问题排查
1、先使用jps显示java当前正在跑的进程,或者使用 top命令取到一直在占用cpu的进程ip。我们此处以【11309】进程为例。2、首先使用如下命令获取到当前进程的线程信息top -Hp 113093、然后使用如下命令强制获取程序的dump信息。jstack -F 11309接下来我们分析打印出来的线程堆栈信息即可。...原创 2020-04-24 10:26:58 · 1136 阅读 · 0 评论 -
[redis]Mac安装redis
博主编写本文旨在描述如何在mac OS上安装redis一、下载官网:https://redis.io/download进入官网下载页面,我们可以看到如下页面,我们选择stable稳定版本。二、安装在访达界面输入执行快捷键command+shift+G跳转目录/usr/local,并将下载的reidis压缩包解压到此处。然后我们打开终端cd到/usr/local/redis-5.0....原创 2020-04-13 22:02:28 · 2598 阅读 · 0 评论 -
[算法]两个线程交替打印1-100
题目:两个线程循环交替打印1-100。代码:public class DoubleThreadPrintNumber { public static int i = 1; public static Object lock = new Object(); private static AtomicInteger num = new AtomicInteger(1);...原创 2020-04-13 17:44:16 · 5379 阅读 · 2 评论 -
[算法]字符串查找问题
题目:有长度为n的字符数组[‘a’, ‘g’, ‘c’, ‘f’]和字符串string=“abcdfegafcbcdkdjkaldjfasd;lfadsf”,设计算法获取到在字符串string中出现连续n个字符都在字符数组集合中的位置。顺序无要求,不允许重复。代码: public static void main(String[] args) { Stack stack =...原创 2020-04-13 16:56:15 · 522 阅读 · 0 评论 -
java从入门到放弃(二)代理
文章目录一、概念二、静态代理三、JDK动态代理一、概念 代理,顾名思义,代你处理的意思。代理分为静态代理和动态代理,静态代理是在编译时就将接口、实现类、代理类一股脑儿全部手动完成,但如果我们需要很多的代理,每一个都这么手动的去创建实属浪费时间,而且会有大量的重复代码,此时我们就可以采用动态代理。动态代理可以在程序运行期间根据需要动态的创建代理类及其实例,来完成具体的功能。二、静态代理三、...原创 2020-04-11 17:57:42 · 161 阅读 · 0 评论 -
java从入门到放弃(一)java多线程
文章目录一、概念:二、线程实现1、继承Thread类2、实现Runnable接口3、项目实现一、概念:并行: 多个cpu实例或者多台机器同时执行一段处理逻辑。并发: 并发是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。即同一个CPU交替运行多个应用程序。线程安全: 经常用来描绘一段代码。指在并发的情...原创 2020-04-09 11:34:07 · 169 阅读 · 0 评论 -
java从入门到放弃(三)性能分析(上)-分析工具
java性能分析(清算系统)一、为什么要分析 本文以典型清算系统为例进行性能分析概要描述。清算系统与交易系统的区别就在于交易系统是对时效数据的处理,而清算系统是针对既有数据的批量处理。既然是跑批,那么清算时长就成为了衡量清算系统的主要指标。 结合现有清算系统,主要瓶颈基本体现在sql效率、代码质量、I/O、内存、CPU。二、分析工具的使用 对于大部分开发者目前都是谈“性”色变。其实...原创 2020-04-09 09:39:33 · 526 阅读 · 0 评论