- 博客(89)
- 收藏
- 关注
原创 cpu 内存飙高 及其他常用命令使用
1. 通过top查看占用cpu或者内存高的进程对应PID top 或者 ps aux (两个命令都可以)2. 找到对应的PID后,查看对应 通过命令top -Hp PID 例如top -Hp 19485就可以列出该进程下的所有线程id3.通过输出大写的P查看线程占用cpu最高的或者通过大写M查看内存占用最高的,然后找到19530这个线程id 输出:195304. 使用命令printf “%x\n”19530输出线程id对应的十六进制码,1ab4f这个码是为了过滤线...
2021-11-16 17:14:03
2322
原创 前端 json格式数据处理
表单提交前, 部分数组格式转换处理提交if (!$("#queryForm").form('validate')) { return false; } var ajaxData = $('#queryForm').serializeJson(); if(user_Type=='2' || user_Type=='3'){ ajaxData.carrier...
2021-05-10 15:08:42
444
原创 MySQL表锁了如何解锁
MySQL表锁了如何解锁SHOW PROCESSLIST; -- 运行这个条命令,会出现下面截图所示内容,找到 字段 state 值中有waiting的记录,看看是不是自己需要解锁的表字段 info信息中会有对应表名找到自己需要解锁的记录id,重复操作导致卡主,可能会有多条记录,解锁表的都删除然后运行 kill id(刚找到的id)...
2021-03-13 11:58:58
7571
原创 排查CPU故障的方法和技巧
总结下排查CPU故障的方法和技巧有哪些:1、top命令:Linux命令。可以查看实时的CPU使用情况。也可以查看最近一段时间的CPU使用情况。2、PS命令:Linux命令。强大的进程状态监控命令。可以查看进程以及进程中线程的当前CPU使用情况。属于当前状态的采样数据。3、jstack:Java提供的命令。可以查看某个进程的当前线程栈运行情况。根据这个命令的输出可以定位某个进程的所有线程的当前运行状态、运行代码,以及是否死锁等等。-- jstacktop 查看进程ps aux | gr..
2020-12-02 16:32:03
1657
原创 索引查询失效情况总结
好久没写了,近期sql优化性能的问题比较多,打算整理下sql索引相关知识:未完待持续跟进总结先汇总下下网上一下大佬相关的笔记Mysql索引查询失效的情况索引查询失效的几个情况:1、like 以%开头,索引无效;当like前缀没有%,后缀有%时,索引有效。2、or语句前后没有同时使用索引。当or左右查询字段只有一个是索引,该索引失效,只有当or左右查询字段均为索引时,才会生效3、组合索引,不是使用第一列索引,索引失效。4、数据类型出现隐式转化。如varchar不加单引号的话可能会自动转换为in
2020-08-09 16:20:19
725
原创 elasticsearch 搜索详解(搜索API、Query DSL)以及TransportClient的使用
超详细的ES查询说明:https://www.cnblogs.com/leeSmall/p/9206641.html
2020-04-14 00:28:26
310
原创 aop:aspect与aop:advisor的区别
在开发过程中,不少有Spring Aop的使用,在面向切面编程时,我们会使用< aop:aspect>;在进行事务管理时,我们会使用< aop:advisor>。那么,对于< aop:aspect>与< aop:advisor>的区别,具体是怎样的呢?在面向切面编程时,我们一般会用<aop:aspect>,<aop:aspec...
2020-02-12 17:25:34
953
原创 Dubbo入门以及发布服务
https://baijiahao.baidu.com/s?id=1608637646057317410&wfr=spider&for=pchttps://blog.csdn.net/gongjds/article/details/79384792
2019-12-26 13:50:15
103
原创 分布式理论基础(一)一致性及解决一致性的两种方式:2PC和3PC
https://www.cnblogs.com/zcjcsl/p/7989792.html
2019-12-20 11:33:20
144
原创 eclipse常用快捷键
快捷神器Ctrl-Shift-I:debug模式下可以直接看到变量的值Ctrl+Q定位到最后编辑的地方Ctrl+L定位在某行(对于程序超过100的人就有福音了)Ctrl+W关闭当前EditerCtrl+K参照选中的Word快速定位到下一个 反向定位则加shift【Alt+←】、【Alt+→】后退历史记录和前进历史记录,在跟踪代码时非常有用,用户可能...
2019-08-26 08:57:41
167
原创 Java中性能优化方法汇总
很多同学在日常写Java的时候很少去关心性能问题,但是在我们写代码的过程中必须考虑到性能对程序的影响。小到我们使用位运算来实现算术运算,大到我们对 Java 代码的总体架构设计,性能其实离我们很近。本文介绍了Java中性能优化的35种方法,需要的朋友可以参考下。前言对程序员们来说,代码优化是一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率...
2019-08-26 00:39:58
625
转载 性能对比:Count(字段)、Count(主键)、Count(1)、Count(*)
以下讨论是基于InnoDB引擎。至于分析性能差别的时候,可以记住以下几个原则: server层要什么就给什么; InnoDB只给必要的值 现在的优化器只优化了count(*)的语义为“取行数”,其它“显而易见”的优化并没有做。接下来,我们一个个来进行分析。 对于count(主键id)来说,InnoDB引擎会遍历整张表,把每一行的id值都取出来,返回给server层...
2019-07-12 11:18:34
392
原创 ArrayList 源码分析-----扩容机制
Jdk1.7之前ArrayList默认大小是10,JDK1.7之后是0,JDK差异,每次约按1.5倍扩容。动态扩容最关键是grow()方法 。通过源码中int newCapacity = oldCapacity + (oldCapacity >> 1);可得容量扩大为原来的1.5倍。总之,ArrayList默认容量是10,如果初始化时一开始指定了容量,或者通过集合作为元素,则...
2019-07-11 00:13:35
432
原创 后续博文解决问题点
B+tree怎么分裂、什么时候分裂、为什么是平衡的 有没有了解过paxos和zookeeper的zab算法,他们之前有啥区别? 你们后端用什么数据库做持久化的?有没有用到分库分表,怎么做的? MySQL的存储引擎有哪些,有哪些区别?索引的常见实现方式有哪些,有哪些区别? InnoDB使用的是什么方式实现索引,怎么实现的?说下聚簇索引和非聚簇索引的区别?...
2019-07-03 10:37:57
97
原创 入门级 开源SpringBoot+Vue项目
推荐两个入门级 开源SpringBoot+Vue项目:有详细的部署教程微人事系统V部落博客管理平台参考:https://blog.csdn.net/u012702547/article/details/94381774
2019-07-02 09:04:16
1972
原创 Collection之list源码分析
Java中常用到ArrayList和LinkedList,面试中也常问到两者的区别,各自的使用场景。要想清楚的明白他们的区别,那还是得从源码入手。List接口List接口中的方法有很多,但最重要的无非是增删查改,我们从ArrayList与LinkedList的实现上来讨论他们的增删查改性能问题。先列出这几个重要的方法:public interface List<E> ex...
2019-06-28 12:41:45
115
原创 面试相关总结
只要方法得当,准备面试第一不难,第二用的时间也不会太多。别让人感觉你只会山寨别人的代码框架是重点,但别让人感觉你只会山寨别人的代码!在面试前,我会阅读简历以查看候选人在框架方面的项目经验,在候选人的项目介绍的环节,我也会着重关注候选人最近的框架经验,目前比较热门的是SSM。不过,一般工作在5年内的候选人,大多仅仅是能“山寨”别人的代码,也就是说能在现有框架的基础上,照着别人写的流...
2019-06-25 09:59:22
178
原创 spring aop 理解
最近一直在面试,aop这个还是永远的热点,看不了不少大佬的关于aop的文章,感觉还是下面不错常问的点 : 两种动态代理 区别 , 怎么强制使用CGLIB代理 切点和切面定义底层原理,自己动手写怎么写实现动态代理JDK动态代理:只能为接口创建动态代理实例,而不能针对类 。 CGLib(Code Generation Library)动态代理:可以为任何类创建织入横切逻辑代...
2019-06-04 12:19:39
137
转载 分布式锁之三:基于ZooKeeper的分布式锁
实现分布式锁目前有三种流行方案,分别为基于数据库、Redis、Zookeeper的方案,其中前两种方案网络上有很多资料可以参考,本文不做展开。我们来看下使用Zookeeper如何实现分布式锁。什么是Zookeeper?Zookeeper(业界简称zk)是一种提供配置管理、分布式协同以及命名的中心化服务,这些提供的功能都是分布式系统中非常底层且必不可少的基本功能,但是如果自己实现这些功能而且...
2019-05-23 01:07:24
103
转载 分布式锁之二:基于Redis的分布式锁
Redis分布式锁的正确实现方式前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。可靠性首先,为了...
2019-05-23 01:04:26
99
转载 分布式锁方式一 . 基于数据库的分布式锁
乐观锁基于数据库资源表做乐观锁,用于分布式锁:1. 首先说明乐观锁的含义:大多数是基于数据版本(version)的记录机制实现的。何谓数据版本号?即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表添加一个 “version”字段来实现读取出数据时,将此版本号一同读出,之后更新时,对此版本号加1。在更新过程中,会对版本号进行比较,如果是一致的,没...
2019-05-23 00:05:05
247
转载 Java源码分析:HashMap 1.8 相对于1.7 到底更新了什么?
前言HashMap 在 Java 和 Android 开发中非常常见 而HashMap 1.8 相对于 HashMap 1.7 更新多 今天,我将通过源码分析HashMap 1.8 ,从而讲解HashMap 1.8 相对于 HashMap 1.7 的更新内容,希望你们会喜欢。本文基于版本 JDK 1.8,即 Java 8 关于版本 JDK 1.7,即 Java 7,具体请看文章Jav...
2019-05-22 11:07:13
142
原创 什么是指令重排序?
什么是指令重排序?有两个层面:**在虚拟机层面,**为了尽可能减少内存操作速度远慢于CPU运行速度所带来的CPU空置的影响,虚拟机会按照自己的一些规则(这规则后面再叙述)将程序编写顺序打乱——即写在后面的代码在时间顺序上可能会先执行,而写在前面的代码会后执行——以尽可能充分地利用CPU。拿上面的例子来说:假如不是a=1的操作,而是a=new byte1024*1024,那么它会运行地很慢,此时...
2019-05-11 03:08:42
7338
转载 Integer与int的种种比较你知道多少?
如果面试官问Integer与int的区别:估计大多数人只会说道两点,Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。但是如果面试官再问一下Integer i = 1;int ii = 1; i==ii为true还是为false?估计就有一部分人答不出来了,如果再问一下其他的,估计更多的人会头脑一片混乱。所以我对它们进行了总结,希望对大家有帮助。 首先看代码:...
2019-05-11 03:04:47
114
转载 用过哪些JDK自带的命令行工具
一、jps:虚拟机进程状况工具二、jstat:虚拟机统计信息监视工具三、jmap:Java内存映像工具四、jhat:虚拟机堆转储快照分析工具五、jstack:Java堆栈跟踪工具六、jinfo:Java配置信息工具java和javac这两个命令行工具我们应该都很熟悉,但是除了这两个工具jdk/bin里面还提供了很多工具给我们使用,今天就简单介绍有关虚拟机监控且助于故障排查的工具。jd...
2019-05-11 03:03:50
272
原创 堆栈异常
Java栈 Java Stack: Java栈总是与线程关联在一起的,每当创建一个线程,JVM就会为该线程创建对应的Java栈,在这个Java栈中又会包含多个栈帧(Stack Frame),这些栈帧是与每个方法关联起来的,每运行一个方法就创建一个栈帧,每个栈帧会含有一些局部变量、操作栈和方法返回值等信息。每当一个方法执行完成时,该栈帧就会弹出栈帧的元素作为这个方法的返回值,并且清除这个栈帧,...
2019-05-11 03:03:01
3459
转载 面试官:你知道并发Bug的源头是什么吗?
讲实话听到这个问题,不太熟悉并发编程的同学有点晕,你可能只能答个因为多线程之间的竞争共享资源啊。对说的没错。但是呢感觉不够亮眼!我们的目的就是让面试官眼前一亮,让他颤抖!心里鼓掌:"牛批牛批!"万剑归宗多线程,给我们的感觉像啥?就像《风云》里面的无名的"万剑归宗"!《雪中悍刀行》里面老剑神李淳罡一声“剑来!”。哗哗哗的好多剑同时操作着一起飞!多帅哦!但实际上CPU的执行是...
2019-05-11 02:50:22
227
转载 JMM和底层实现原理
1.并发编程领域的关键问题1.1 线程之间的通信线程的通信是指线程之间以何种机制来交换信息。在编程中,线程之间的通信机制有两种,共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信,典型的共享内存通信方式就是通过共享对象进行通信。在消息传递的并发模型里,线程之间没有公共状态,线程之间必须通过明确的发送消息来显式进行通信...
2019-05-11 02:25:16
468
1
原创 SQL 性能调优--持续更新
我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习、摘录、并汇总部分资料与大家分享!SQL优化是一个分析,优化,再分析,再优化的过程。站在执行计划的角度来说,我们这个过程,就是在不断的减少rows的数量。主要步骤有:通过explain 来查看执行计划。通过这一步骤,我们能够分析出,该语句有没有走索引,索引合不合理的重要依据。《读懂MySQL执行计划》 缩小范围。例如使...
2019-05-10 03:28:54
158
转载 JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。 现实企业级Java开发中,有时候我们会碰到下面这些问题:...
2019-05-10 01:02:07
138
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人