自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 从内存占用到CPU时间,后端问题排查必备linux命令

文章目录前言内存占用比例CPU占用时间查询网络查询磁盘占用小结前言对于服务端应用,我们常会遇到机器load过高,服务无响应,磁盘打满,网络堵塞等等问题,对于这些问题,我们需要从服务器本身找出根源所在,然后再着手解决,本文主要介绍了用于定位这一系列问题的命令。内存占用比例通过top命令,我们可以查看目前内存使用比例,其中,每一行就是一个进程的状态,具体字段解释如下PID进程ID...

2019-05-07 22:19:29 1072

原创 OrderBy 和Select的错误使用导致的慢sql——一次问题排查记录

文章目录引言Mysql中的三星索引执行计划错误导致的慢Sql小结引言使用Mysql的时候,我们总会通过设置索引来提高查询效率,但是在某些情况下,即便索引存在,也可能会由于数据量的变化而导致我们预期的索引不生效,笔者遇到了这样的问题。不同数据量下执行计划使用的索引不一样,而索引的差异则导致了最终查询时间的巨大差异。本文分为三部分,第一部分简单回顾一下Mysql中非常有名的“三星索引”,第二部分...

2019-04-09 09:02:17 993

原创 从底层说起,如何使用Spring Session

引言说到Java Web开发,就一定会涉及到用户会话的状态。然而,http却是无状态的(关于如何理解http是无状态的,可以看这里),为了管理用户的会话,我们发明了Cookie-Session机制。本篇文章共分为三个部分。第一个部分主要会解释Cookie-Session这两个名词的定义以及基本实现。第二部分则会给大家介绍Tomcat是如何处理Cookie和Session的。第三部分则会讲如何在...

2018-11-21 20:47:52 399

原创 Java服务器性能监控(二) 时序数据库TSDB

文章目录监控数据的特点监控数据的存储常见的TSDB小结参考阅读看完了Java服务器监控中的基本变量Metrics之后,不难想到的问题就是,我们应该如何存储这些监控数据。这就是本篇文章主要讲述的内容。这篇文章主要分为三个部分,第一部分主要描述监控数据的特点,第二部分主要讨论不同db的存储方式,第三部分则会简单地对tsdb进行介绍。监控数据的特点首先我们需要了解的是,监控数据必须包含的属性。一...

2018-10-24 21:03:21 1174

原创 Java 基础学习笔记 —— 集合框架中的Set

引言继上篇文章讲过了Java中的Map之后,接下来我们会关注另外一种集合类型——Set。Set直译就是集合的意思,代表中不存在重复元素的一个组合。这个定义与我们上篇文章要中介绍的Map中的key定义一致。在Map中,Key也是唯一的。所以Set也大多包含了Map。下面是Set的类图从类图我们也能够看出来,Set的具体实现也从是否支持并发、是否支持排序进行了分化。具体实现...

2018-08-19 22:17:37 242

原创 Java 基础学习笔记 —— 集合框架中的Map

引言前两篇文章我们介绍了集合中的列表和队列,接下来要介绍的也是一个使用非常广泛的类——Map。Map保存了一对对的键值映射关系,每一个键在Map中都是唯一的。Map默认使用Object.equals来判断是否包含某个键,所以我们要尽量避免使用equals方法会随对象发生变化而变化的对象作为键。使用Map的时候,有两个关键参数我们是需要注意的。capacity Map的初始容量l...

2018-08-19 21:20:09 290

原创 Java 基础学习笔记 —— 集合中的Queue

引言继上篇文章讲过了Java中的List之后,接下来我们会关注另外一种集合类型——Queue。Queue,也就是队列,一种先进先出的数据结构。在Java中,从是否可以从尾部获取元素分成了普通队列以及双端队列。从是否会阻塞区分则分成了阻塞队列和非阻塞队列。这篇文章会从两个方面对队列进行介绍,第一部分主要介绍队列的特点,第二部分会针对Java中一些比较典型的实现进行具体分析。有一个小细节需...

2018-08-12 22:53:45 630

原创 时间只属于自己——读《如何使用每一点脑力进行深度工作》

引言为什么需要深度工作怎么深度工作小结引言在互联网时代,所有人,在每一个时刻,都是被连接的。这种连接意味每天都会有海量的信息被我们接收处理。有些消息时来自于公司内部,看起来像是敦促着我们实时做出回应(可能部分人都会因为自己能够在数分钟内回复信息而感到自豪)。有些消息来自于互联网,刷不完的微博和朋友圈上的红点,让我们忍不住把闲暇的时间都花在了手机上。但是,也是因为这些信...

2018-08-07 22:01:32 682

原创 Java 基础学习笔记 —— 集合中的List

引言List类图分析关于类图RandomAccess接口具体的实现自定义一个ListArrayList的CURD实现Vector的CURD实现LinkedList的CURD小结引言在上一篇文章中,我们对集合做了一个简要对分析,讲述了我们使用集合时需要注意对问题。而在接下来对这一系列文章里,我们将对Java集合中一些具体的类,如List列表,Set集合,...

2018-08-05 19:07:36 261

原创 Java 基础学习笔记 —— 集合概述

引言什么是集合Iterable 及IteratorCollections接口如何使用集合特定行为的集合小结引言集合,对于很多人来说都并不陌生。最常见的就是List,将一系列相同的元素添加到同一个列表中,如果在Java8的环境中,还能够对这个列表使用流操作,简单方便。但集合里面还是有很多小的细节值得我们去了解的,本文试图去深挖这些平时可能大部分人不会注意的小细...

2018-08-05 09:24:58 225

原创 对抗大脑里的简单思维 ——读《清醒思考的艺术:你最好让别人去犯的52种思维错误》

引言五种类型的思维错误因果关系,哪个是因,哪个是果?懒惰的大脑,为什么不愿意多想一次?情感化的人类 - 为什么我们要学会讲故事?抗拒损失 - 潜意识里的抗拒倾向忽视概率 —— 感性的人对数字不敏感如何清醒思考引言人类是理性的,但是更多的时候是感性的。我们常常会听到一个词,叫做“思维定势”,意思就是我们常常会根据已有的经验,来对未来进行预期和预测,甚至是作出行动...

2018-07-31 22:28:04 993

原创 偶现的MissingServletRequestParameterException,谁动了我的参数?

概述排查过程结论概述最近遇到一个偶现的问题,在向服务端请求的时候,偶尔会出现异常,在请求中的query String 传递了参数,却出现了异常MissingServletRequestParameterException 如下所示:018-02-05 11:29:34.910 ERROR 41469 --- [a626f375-7f79-4fd2-88be-1d

2018-02-06 21:27:13 71441 10

原创 浅谈服务发现

这片文章简单地介绍了服务发现,包括服务发现的两种模式,以及Eureka(偏向于AP)以及Consul(偏向于CP)两个微服务框架。

2017-08-27 09:19:13 22254 2

原创 Java服务器性能监控(一) Metrics

这篇文章主要介绍了Java服务器性能监控中常用的基本变量——Metrics。

2017-07-30 18:59:34 30467 6

原创 Mybatis源码解析 —— 动态设置参数机制

这篇文章主要介绍了Mybatis是如何完成方法参数到Sql参数到设定的。

2017-06-11 17:37:02 1942

原创 Mybatis源码解析 —— Sql解析详解

通过这篇文章,我们能够学习一个Sql生成器的构建思路。也能够更加全面的了解到Mybatis Sql解析所支持的功能。

2017-06-04 12:55:13 4613

原创 Java Server 理解与实践 —— 集成Mybatis到Spring项目

既然是Java Server,当然离不开与数据库交互。而Java与数据库交互,又永远绕不开一个话题—— ORM。本文介绍了一个简洁优雅的ORM框架——Mybatis,并且提供了如何将其继承到Spring项目的例子。

2017-05-24 22:27:54 1037

原创 Java Server理解与实践 —— 集成Spring Web Security

本文介绍了如何集成Spring Web Security。

2017-04-14 15:44:03 1084

原创 Java Server 理解与实践 —— 集成Spring-webmvc

spring-webmvc框架主要解决了从请求到实例方法调用的问题,包括中间的对象路由,参数转换以及地理位置、session、cookie等信息的获取。配合注释,我们能够迅速地创建一个后端应用。

2017-03-30 20:11:36 619

原创 Java并发学习笔记 —— 浅析Java中的锁

本篇文章简单介绍了Java中的锁,包括锁的不同类别,以及基于关键字Synchronized的锁和基于同步器的锁,并且分析了他们的实现原理。

2017-03-09 22:22:00 453

原创 读《大型网站技术架构:核心原理与案例分析》

如何从小型网站演化成大型网站?如何衡量一个大型网站?在本书都给出了答案。

2017-02-09 21:18:23 578

原创 Java Server 理解与实践 —— Servlet Context,Filter以及Listener

本篇文章介绍了Java Server中几个重要的概念,Servlet Context,Filter和Listener。

2017-01-16 23:06:03 889

原创 Java Server 理解与实践 —— 从Servlet开始

这篇文章描述了Java服务器中最基础的类——Servlet。

2017-01-10 23:12:59 428

原创 读《公正》

对于个人而言,什么是应当的,什么是应得的?

2017-01-08 21:36:25 478

原创 Spring学习笔记——Spring Scope(作用域)详解

本文介绍了如何在Spring中自定义Bean的作用域,且如何在作用域内对Bean进行管理。本文分成三部分,示例(包含一个简单的代码示例),代码解析(包含类图分析)和小结。

2016-11-03 08:08:06 3565

原创 Spring学习笔记 —— AOP标签详解(<scoped-proxy>)

这篇文章主要介绍和分析了Spring AOP名字空间下的一个标签"scoped-proxy",scoped-proxy主要解决了单例之中引用了非单例的Bean的问题。

2016-11-01 08:04:42 7064 1

原创 Spring学习笔记 —— AOP(面向切面编程) 之AspectJ

这篇文章主要分析了Spring的AOP,包括一个简单的示例和对源代码的分析。

2016-10-25 23:23:06 798

原创 Spring学习笔记 —— AOP(面向切面编程) 之使用ProxyFactoryBean实现AOP

这篇文章主要介绍了Spring中AOP概念,以及Spring内置的AOP实现。提供了一个实现的实例,也对实例的生成过程进行了具体分析。

2016-10-19 23:21:27 1027

原创 Spring学习笔记 —— Spring Context

在这里,我们主要了解了Spring的Context概念,相对于BeanFactory,Context包含了IOC容器的实现,还能够对资源进行加载,进行事件的发布以及分派。

2016-10-16 11:51:12 1031

原创 Spring学习笔记 —— 从IOC说起

这篇文章主要介绍了Spring中的IOC容器,对IOC容器是什么,IOC容器如何工作以及Spring中的IOC容器实现做了一个较为详尽的介绍。

2016-10-12 23:39:21 1078

原创 Java 代理学习笔记 —— Java Security Manager解析

本文简述了java的security manager并且包含有简单示例

2016-10-06 23:51:03 1290

原创 Java 代理学习笔记 —— 浅析Cglib动态代理实现

本篇文章通过一个简单的示例,解释了Cglib的实现原理,也分析了其生成的几个class文件的作用。

2016-10-05 22:58:11 1940

原创 Java 代理学习笔记 —— 详解Java原生动态代理

文章分析了代理模式,并且对静态代理和动态代理都提出了具体的例子。对于Java的原生动态代理,文章还剖析了相关的源码以及最终实现的类。

2016-09-28 00:16:34 1026

原创 Java 代理学习笔记 —— 从反射开始

这是Java动态代理系列文章的第一篇,介绍了动态代理的基础——反射。主要内容包括反射的基础入门,常用的反射Api以及反射的应用,也就是动态代理。

2016-09-27 23:11:57 491

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除