- 博客(34)
- 收藏
- 关注
原创 从内存占用到CPU时间,后端问题排查必备linux命令
文章目录前言内存占用比例CPU占用时间查询网络查询磁盘占用小结前言对于服务端应用,我们常会遇到机器load过高,服务无响应,磁盘打满,网络堵塞等等问题,对于这些问题,我们需要从服务器本身找出根源所在,然后再着手解决,本文主要介绍了用于定位这一系列问题的命令。内存占用比例通过top命令,我们可以查看目前内存使用比例,其中,每一行就是一个进程的状态,具体字段解释如下PID进程ID...
2019-05-07 22:19:29 1227
原创 OrderBy 和Select的错误使用导致的慢sql——一次问题排查记录
文章目录引言Mysql中的三星索引执行计划错误导致的慢Sql小结引言使用Mysql的时候,我们总会通过设置索引来提高查询效率,但是在某些情况下,即便索引存在,也可能会由于数据量的变化而导致我们预期的索引不生效,笔者遇到了这样的问题。不同数据量下执行计划使用的索引不一样,而索引的差异则导致了最终查询时间的巨大差异。本文分为三部分,第一部分简单回顾一下Mysql中非常有名的“三星索引”,第二部分...
2019-04-09 09:02:17 1033
原创 从底层说起,如何使用Spring Session
引言说到Java Web开发,就一定会涉及到用户会话的状态。然而,http却是无状态的(关于如何理解http是无状态的,可以看这里),为了管理用户的会话,我们发明了Cookie-Session机制。本篇文章共分为三个部分。第一个部分主要会解释Cookie-Session这两个名词的定义以及基本实现。第二部分则会给大家介绍Tomcat是如何处理Cookie和Session的。第三部分则会讲如何在...
2018-11-21 20:47:52 431
原创 Java服务器性能监控(二) 时序数据库TSDB
文章目录监控数据的特点监控数据的存储常见的TSDB小结参考阅读看完了Java服务器监控中的基本变量Metrics之后,不难想到的问题就是,我们应该如何存储这些监控数据。这就是本篇文章主要讲述的内容。这篇文章主要分为三个部分,第一部分主要描述监控数据的特点,第二部分主要讨论不同db的存储方式,第三部分则会简单地对tsdb进行介绍。监控数据的特点首先我们需要了解的是,监控数据必须包含的属性。一...
2018-10-24 21:03:21 1238
原创 Java 基础学习笔记 —— 集合框架中的Set
引言继上篇文章讲过了Java中的Map之后,接下来我们会关注另外一种集合类型——Set。Set直译就是集合的意思,代表中不存在重复元素的一个组合。这个定义与我们上篇文章要中介绍的Map中的key定义一致。在Map中,Key也是唯一的。所以Set也大多包含了Map。下面是Set的类图从类图我们也能够看出来,Set的具体实现也从是否支持并发、是否支持排序进行了分化。具体实现...
2018-08-19 22:17:37 325
原创 Java 基础学习笔记 —— 集合框架中的Map
引言前两篇文章我们介绍了集合中的列表和队列,接下来要介绍的也是一个使用非常广泛的类——Map。Map保存了一对对的键值映射关系,每一个键在Map中都是唯一的。Map默认使用Object.equals来判断是否包含某个键,所以我们要尽量避免使用equals方法会随对象发生变化而变化的对象作为键。使用Map的时候,有两个关键参数我们是需要注意的。capacity Map的初始容量l...
2018-08-19 21:20:09 314
原创 Java 基础学习笔记 —— 集合中的Queue
引言继上篇文章讲过了Java中的List之后,接下来我们会关注另外一种集合类型——Queue。Queue,也就是队列,一种先进先出的数据结构。在Java中,从是否可以从尾部获取元素分成了普通队列以及双端队列。从是否会阻塞区分则分成了阻塞队列和非阻塞队列。这篇文章会从两个方面对队列进行介绍,第一部分主要介绍队列的特点,第二部分会针对Java中一些比较典型的实现进行具体分析。有一个小细节需...
2018-08-12 22:53:45 694
原创 时间只属于自己——读《如何使用每一点脑力进行深度工作》
引言为什么需要深度工作怎么深度工作小结引言在互联网时代,所有人,在每一个时刻,都是被连接的。这种连接意味每天都会有海量的信息被我们接收处理。有些消息时来自于公司内部,看起来像是敦促着我们实时做出回应(可能部分人都会因为自己能够在数分钟内回复信息而感到自豪)。有些消息来自于互联网,刷不完的微博和朋友圈上的红点,让我们忍不住把闲暇的时间都花在了手机上。但是,也是因为这些信...
2018-08-07 22:01:32 703
原创 Java 基础学习笔记 —— 集合中的List
引言List类图分析关于类图RandomAccess接口具体的实现自定义一个ListArrayList的CURD实现Vector的CURD实现LinkedList的CURD小结引言在上一篇文章中,我们对集合做了一个简要对分析,讲述了我们使用集合时需要注意对问题。而在接下来对这一系列文章里,我们将对Java集合中一些具体的类,如List列表,Set集合,...
2018-08-05 19:07:36 287
原创 Java 基础学习笔记 —— 集合概述
引言什么是集合Iterable 及IteratorCollections接口如何使用集合特定行为的集合小结引言集合,对于很多人来说都并不陌生。最常见的就是List,将一系列相同的元素添加到同一个列表中,如果在Java8的环境中,还能够对这个列表使用流操作,简单方便。但集合里面还是有很多小的细节值得我们去了解的,本文试图去深挖这些平时可能大部分人不会注意的小细...
2018-08-05 09:24:58 242
原创 对抗大脑里的简单思维 ——读《清醒思考的艺术:你最好让别人去犯的52种思维错误》
引言五种类型的思维错误因果关系,哪个是因,哪个是果?懒惰的大脑,为什么不愿意多想一次?情感化的人类 - 为什么我们要学会讲故事?抗拒损失 - 潜意识里的抗拒倾向忽视概率 —— 感性的人对数字不敏感如何清醒思考引言人类是理性的,但是更多的时候是感性的。我们常常会听到一个词,叫做“思维定势”,意思就是我们常常会根据已有的经验,来对未来进行预期和预测,甚至是作出行动...
2018-07-31 22:28:04 1201
原创 偶现的MissingServletRequestParameterException,谁动了我的参数?
概述排查过程结论概述最近遇到一个偶现的问题,在向服务端请求的时候,偶尔会出现异常,在请求中的query String 传递了参数,却出现了异常MissingServletRequestParameterException 如下所示:018-02-05 11:29:34.910 ERROR 41469 --- [a626f375-7f79-4fd2-88be-1d
2018-02-06 21:27:13 72222 10
原创 浅谈服务发现
这片文章简单地介绍了服务发现,包括服务发现的两种模式,以及Eureka(偏向于AP)以及Consul(偏向于CP)两个微服务框架。
2017-08-27 09:19:13 22621 2
原创 Mybatis源码解析 —— Sql解析详解
通过这篇文章,我们能够学习一个Sql生成器的构建思路。也能够更加全面的了解到Mybatis Sql解析所支持的功能。
2017-06-04 12:55:13 4798
原创 Java Server 理解与实践 —— 集成Mybatis到Spring项目
既然是Java Server,当然离不开与数据库交互。而Java与数据库交互,又永远绕不开一个话题—— ORM。本文介绍了一个简洁优雅的ORM框架——Mybatis,并且提供了如何将其继承到Spring项目的例子。
2017-05-24 22:27:54 1195
原创 Java Server 理解与实践 —— 集成Spring-webmvc
spring-webmvc框架主要解决了从请求到实例方法调用的问题,包括中间的对象路由,参数转换以及地理位置、session、cookie等信息的获取。配合注释,我们能够迅速地创建一个后端应用。
2017-03-30 20:11:36 644
原创 Java并发学习笔记 —— 浅析Java中的锁
本篇文章简单介绍了Java中的锁,包括锁的不同类别,以及基于关键字Synchronized的锁和基于同步器的锁,并且分析了他们的实现原理。
2017-03-09 22:22:00 509
原创 Java Server 理解与实践 —— Servlet Context,Filter以及Listener
本篇文章介绍了Java Server中几个重要的概念,Servlet Context,Filter和Listener。
2017-01-16 23:06:03 1083
原创 Spring学习笔记——Spring Scope(作用域)详解
本文介绍了如何在Spring中自定义Bean的作用域,且如何在作用域内对Bean进行管理。本文分成三部分,示例(包含一个简单的代码示例),代码解析(包含类图分析)和小结。
2016-11-03 08:08:06 3826
原创 Spring学习笔记 —— AOP标签详解(<scoped-proxy>)
这篇文章主要介绍和分析了Spring AOP名字空间下的一个标签"scoped-proxy",scoped-proxy主要解决了单例之中引用了非单例的Bean的问题。
2016-11-01 08:04:42 7307 1
原创 Spring学习笔记 —— AOP(面向切面编程) 之AspectJ
这篇文章主要分析了Spring的AOP,包括一个简单的示例和对源代码的分析。
2016-10-25 23:23:06 1108
原创 Spring学习笔记 —— AOP(面向切面编程) 之使用ProxyFactoryBean实现AOP
这篇文章主要介绍了Spring中AOP概念,以及Spring内置的AOP实现。提供了一个实现的实例,也对实例的生成过程进行了具体分析。
2016-10-19 23:21:27 1519
原创 Spring学习笔记 —— Spring Context
在这里,我们主要了解了Spring的Context概念,相对于BeanFactory,Context包含了IOC容器的实现,还能够对资源进行加载,进行事件的发布以及分派。
2016-10-16 11:51:12 1335
原创 Spring学习笔记 —— 从IOC说起
这篇文章主要介绍了Spring中的IOC容器,对IOC容器是什么,IOC容器如何工作以及Spring中的IOC容器实现做了一个较为详尽的介绍。
2016-10-12 23:39:21 1281
原创 Java 代理学习笔记 —— Java Security Manager解析
本文简述了java的security manager并且包含有简单示例
2016-10-06 23:51:03 1383
原创 Java 代理学习笔记 —— 浅析Cglib动态代理实现
本篇文章通过一个简单的示例,解释了Cglib的实现原理,也分析了其生成的几个class文件的作用。
2016-10-05 22:58:11 1983
原创 Java 代理学习笔记 —— 详解Java原生动态代理
文章分析了代理模式,并且对静态代理和动态代理都提出了具体的例子。对于Java的原生动态代理,文章还剖析了相关的源码以及最终实现的类。
2016-09-28 00:16:34 1233
原创 Java 代理学习笔记 —— 从反射开始
这是Java动态代理系列文章的第一篇,介绍了动态代理的基础——反射。主要内容包括反射的基础入门,常用的反射Api以及反射的应用,也就是动态代理。
2016-09-27 23:11:57 550
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人