java
cache1024
马有千里之程,无骑不能自往;人有冲天之志,非运不能自通。
展开
-
Java进程如何定位消耗CPU的代码
方法一:第一步:top 命令,找到耗cpu的进程ID第二步:查询这个进程下的各线程占cpu的情况:ps -mp pid -o THREAD,tid,time第三步:找到占用cpu比较多的线程,将tid 转成16进制为第四步:使用jstack命令寻找该线程jstack pid|grep -A 5 tid(16进制)方法二第一步: 获取CPU负载最高的Java进程ID(按CPU负载从高到底排)ps aux --sort=-%cpu | grep java第二步: 根据进程ID查询CPU原创 2022-02-21 09:37:31 · 926 阅读 · 2 评论 -
【JVM】使用IDEA+JProfiler 定位OOM 代码
IDEA+JProfiler 定位OOM原创 2022-02-16 15:47:25 · 1744 阅读 · 0 评论 -
钉钉机器人通知(SpringBoot)
我们在工作中钉钉办公需要一些提醒或者通知,需要用到钉钉机器人来代替我们完成一些重复性的工作,看到钉钉有个机器人的自定义文档。https://developers.dingtalk.com/document/robots/custom-robot-access?spm=ding_open_doc.document.0.0.6284657351Hh8K#topic-2026027如何实现自定义机器人?1.首先在钉钉群中添加机器人获取webhook地址注意这里 :如果选择自定义关键字 在内容的原创 2021-11-23 18:59:12 · 932 阅读 · 0 评论 -
使用Stream 对List同一个id的某个字段进行计算
public static void main(String[] args) { ArrayList<Student> list = new ArrayList<>(); list.add(new Student(1,new BigDecimal(10))); list.add(new Student(1,new BigDecimal(10))); list.add(new Student(2,new BigDecim.原创 2021-11-16 19:10:34 · 746 阅读 · 0 评论 -
使用netty按照Redis协议发消息完成set key value 命令
使用redis客户端命令完成 name:zhangsan复制127.0.0.1:6379> set name zhangsanOK使用netty Java代码完成public class TestRedis { public static void main(String[] args) { //换行符 '\n' final byte[] LINE = {13, 10}; NioEventLoopGroup worker = new Ni原创 2021-10-26 17:26:45 · 112 阅读 · 0 评论 -
springboot中mybatis夸库查询可配置
项目需求mybatis中有的sql是跨库去查询的,假如现有 测试数据库A_test 表user 那么查询的sql为:select * from A_test.user 如果 切换到生产数据库 A_prod 表user 那么查询的sql为:select * from A_prod.user 在只写一套sql的前提下,保证业务的独立,复用性,一般做法:1.如果使用了框架mybatis可以在配置文件里面加入mybatis.configuration.variables.databaseNam原创 2021-08-10 14:19:13 · 3654 阅读 · 9 评论 -
一图 浅谈java Override与OverLoad 的区别
https://www.runoob.com/java/java-override-overload.html原创 2021-07-12 11:47:02 · 76 阅读 · 0 评论 -
从Java内置队列到CAS
Java的内置队列1.基于数组的线程安全队列ArrayBlockingQueue基于数组实现 线程安全 通过加锁的方式来保证线程安全2基于链表的线程安全队列LinkedBlockingQueue 通过锁的方式来实现线程安全ConcurrentLinkedQueue compare and swap CASLinkedTransferQueue compare and swap CASCache 之间的速度比较原创 2021-06-13 16:54:46 · 1092 阅读 · 1 评论 -
springboot 项目 控制台一直输出/null/swagger-resources/configuration/security 解决
今天在日常启动项目的时候遇到了springboot console 一直在输出/null/swagger-resources/configuration/security/null/swagger-resources/configuration/security/null/swagger-resources/configuration/security原因:swaager访问页面没关,解决: 关掉令人恼火的swagger页面重新访问...原创 2021-05-10 09:42:20 · 3509 阅读 · 0 评论 -
单链表实现一个简单的LRU缓存策略
单链表实现一个简单的LRU缓存策略(Java)引用 EJoft思路:使用定长链表来保存所有缓存的值,并且最老的值放在链表最后面 当访问的值在链表中时: 将找到链表中值将其删除,并重新在链表头添加该值(保证链表中 数值的顺序是从新到旧)当访问的值不在链表中时: 当链表已满:删除链表最后一个值,将要添加的值放在链表头 当链表未满:直接在链表头添加废话不多说 直接上代码1.维护定长单链表/** * 单链表维护 */public class CacheSimpleLinkedList {原创 2021-03-01 10:22:29 · 164 阅读 · 0 评论 -
Java8日期 闰年源码记录
((prolepticYear & 3) == 0) && ((prolepticYear % 100) != 0 || (prolepticYear % 400) == 0)源码采用了位运算用来表示 是否为4的倍数3的二进制 0011优秀的思路方式原创 2020-12-28 15:42:34 · 101 阅读 · 0 评论 -
Centos7.2 RabbitMQ 安装分享(一)
RabbitMQ是基于Erlang开发, 安装RabbitMQ之前,需要安装Erlang rabbitmq需要socat依赖, 所以需要先安装socaterlang下载: wget http://www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm安装: rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpmsocat下载: wget http://repo.iotti.b原创 2020-07-10 15:57:02 · 164 阅读 · 0 评论 -
动态规划之最大子序列
动态规划之最大子序列问题经典面试题问题之一下面是源码class Scratch { public static void main(String[] args) { int arr[]={-13,1,-3,2,7,-5,3,5}; System.out.println(FindGreatestSumOfSubArray(arr)); } ...原创 2019-11-28 20:58:27 · 185 阅读 · 0 评论 -
java中关键字Static的个人理解
Static 静态 修饰符static关键字修饰变量和方法> 例` static int a; //定义 静态的 int 类型的 a> > static void function(){> //定义静态的方法 > }在类中定义的成员变量和static修饰的变量的区别类变量存储在方法区成员变量存储在对象对应堆内类变量随着类的加载而加...原创 2019-07-24 20:48:20 · 142 阅读 · 0 评论