排序:
默认
按更新时间
按访问量

linux awk命令介绍

通常来说 我们使用grep即可满足我们大多数的需求了,但是还是有一些情况,grep是解决不了问题的,如我们的日志中有服务的响应时间,想过滤出响应时间超过200ms掉日志,这时候用grep就很难做到了。所以,很多时候我们还会使用到awk命令,awk命令是一个功能十分强大的命令,学会awk命令对我们解...

2018-06-02 13:38:24

阅读数:9

评论数:0

linux正则表达式

正则表达式在linux中是非常重要的一环,很多时候我们需要通过正则表达式来达到我们的目的,如分析日志,过滤数据等。有过开发经验的同学都会和grep打交道,我们处理问题最常用的方法就是查看日志,那么多日志我们不可能一行一行看,所以我们通常会使用grep命令+正则表达式获取我们想要的数据,常见的如异常...

2018-06-02 13:33:36

阅读数:13

评论数:0

shell学习指南

shell脚本是我们开发中经常需要用到的技能之一,我们经常在线上服务器执行脚本,比如服务启动脚本,所以掌握shell也是我们必备技能之一。下面先介绍下学习shell脚本之前一些需要了解的知识。一.shell下的变量变量对于程序员来说一定不会陌生,java中变量的使用频率也是非常高的。不过shell...

2018-05-19 23:16:35

阅读数:6

评论数:0

linux必会命令

我们线上机器都是linux系统,所以linux命令是我们必备技能之一。这里会梳理下我们日常开发中必备或者常用的命令,对linux命令做一个简单的汇总及介绍。一.文件权限相关使用背景之前我认为我们平时不会用到权限相关命令,直到一次一个其他组的同学需要读取我们一个目录下的日志信息,当时的权限对于其他用...

2018-05-19 21:35:31

阅读数:10

评论数:0

HttpServletRequest读取数据body为空的问题

最近新换了一个工作,节奏刚刚调整过来,这段时间没有写东西,有点惭愧,后续还是要回归正确的节奏,争取一周至少一篇。本篇记录下新工作中第一次上线踩到的一个坑,这个坑如果之前没有踩过,真的很难发现,在此记录一下,提醒下其他人避免重复犯错。问题背景本次需求有一项需要区分压测来源的数据,将压测的日志单独区分...

2018-04-18 23:42:54

阅读数:71

评论数:1

排序算法之快速排序

快速排序可能是目前使用最广泛的排序算法了。快速排序流行的原因是它实现简单,适用于各种不同的输入数据且在一般应用中都要比其他排序算法快得多。快速排序的优点包括它是原地排序的,且将长度为N的数组排序所需时间和NlogN成正比。另外,快速排序的内循环比大多数排序算法都要短,这意味着无论是理论上还是实际上...

2018-02-26 15:07:10

阅读数:16

评论数:0

排序算法之归并排序

归并排序是排序算法中比较常用的排序算法,Java里Collections.sort排序方法内部实现在一定场景下就是使用归并排序来实现的。归并排序的核心思想是我们常说的分而治之,是分治的典型应用。归并排序的基本思想是:要将一个数组进行排序,可以先将它递归的分成两半数组分别排序,然后将结果归并起来。归...

2018-02-26 14:50:08

阅读数:15

评论数:0

基础排序算法学习

在一次面试之后,觉得自己的算法能力还是偏弱,虽然常用的排序,查找算法都比较熟悉,不过面试的时候问了一个算法题,思路跑偏了没答上来,题的内容是找出一个字符串中有多少回文子串,还是比较有难度的。接下来的一段时间,想加强一下自己的算法能力,弥补下自己的不足,也希望这一段时间的算法学习会比较有收获,最后的...

2018-02-12 16:41:53

阅读数:17

评论数:0

Redis实现分布式锁

前言 分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将...

2018-01-30 21:30:33

阅读数:31

评论数:0

Redis的事务详解

Redis通过multi,exec,watch命令来实现事务的功能。事务提供了一种将多个命令请求打包,然后一次性,按顺序地执行多个命令的机制,并且在事务执行期间,服务器不会中断事务而改去执行其他客户端的命令请求。下面来看看Redis中事务的实现原理。 一.事务的实现 一个事务从开始到结束会经历...

2018-01-08 22:11:00

阅读数:30

评论数:0

Redis复制实现原理

我们可以通过Redis提供的slaveof命令让一个服务器去复制另一个服务器,我们成被复制的服务器为主服务器,进行复制的服务器称为从服务器。那么Redis是如何实现服务器复制的呢?主从服务器之间如何保持数据一致性的呢? 一.Redis复制功能的实现 Redis的复制功能分为同步和命令传播,同步...

2018-01-08 22:10:31

阅读数:59

评论数:0

Redis中的事件机制

Redis服务器是一个事件驱动程序,服务器需要处理两类事件:文件事件和时间事件。文件事件主要指客户端向服务器发送命令,如连接命令,读命令以及写命令等。时间事件指的是定时执行的任务,如serverCron函数。 一.文件事件 Redis基于Reactor模式开发了自己的网络时间处理器,称为文件事件处...

2018-01-08 22:09:48

阅读数:44

评论数:0

Redis的AOF持久化详解

Redis提供了AOF持久化功能,大多数情况下,AOF持久化的频率要比RDB持久化执行频率更高,所以AOF持久化记录的数据要比RDB文件记录的数据更新一些。AOF持久化是通过保存Redis服务器所执行的写命令来记录数据库状态的。 一.AOF持久化的实现 AOF持久化功能的实现可以分为命令追加,...

2018-01-07 21:33:26

阅读数:70

评论数:0

Redis的RDB持久化详解

我们知道Redis的数据是存在内存中的,那么就会有一个问题,如果突然宕机了或者故障了,Redis的数据就会全部消失了,为了不让数据丢失,我们需要将数据写到磁盘文件里面,这样当机器回复时可以还原数据,RDB就是Redis持久化的方法之一。 RDB持久化既可以手动执行,也可以根据服务器配置自动执行。...

2018-01-07 21:32:53

阅读数:36

评论数:0

Redis数据库的实现原理

知道了Redis的各种数据结构,对象结构,那么Redis是如何保存数据的,又是如何操作数据的呢,Redis里面的命令是怎么实现的呢?这一系列问题值得我们思考 一.Redis维护多个数据库 Redis内部维护一个db数组,每个db都是一个数据库,默认情况下Redis会创建16个数据库。我们可以通...

2018-01-07 21:32:09

阅读数:796

评论数:0

Redis中的对象详解

上文介绍了Redis底层的几个数据结构,接下来可以看看Redis中的字符串,链表,集合,哈希表,有序集合是怎么实现的了,这几种类型的对象都用了之前介绍的至少一种数据结构。 Redis通过定义这五种不同类型的对象,可以在执行命令之前,根据对象的类型判断一个对象是否可以执行给定的命令。下面我们看下R...

2018-01-07 21:31:24

阅读数:73

评论数:0

Redis底层数据结构详解

我们知道Redis提供了五种数据结构:字符串,链表,集合,哈希表,有序集合这五种结构,并提供了各自的api接口供我们操作。虽然我们经常使用Redis提供的各种api,但是我们很少知道Redis底层是如何实现这几种结构的,接下来一起看下Redis底层的几种数据结构,这几种数据结构在很多Redis核心...

2018-01-07 21:30:44

阅读数:216

评论数:0

系统过载保护机制

最近我们组自己开发了一个过载保护服务,用来解决服务或者站点过载导致系统雪崩的问题,最近看了下底层实现,还是很有参考意义的,接下来介绍下过载保护的功能和原理。 一.过载保护的作用 我们这里开发的过载保护的主要目的是:避免服务中的某个接口调用堆积导致的整个服务不可用,这里调用堆积的原因可能有两个 ...

2018-01-06 17:44:58

阅读数:175

评论数:0

Java终止线程池的原理

Java终止线程池的实现原理 终止线程池主要有两个方法:shutdown() 和 shutdownNow()。     shutdown()后线程池将变成shutdown状态,此时不接收新任务,但会处理完正在运行的 和 在阻塞队列中等待处理的任务。     shutdownNow()后线

2017-12-09 17:54:25

阅读数:49

评论数:0

Java线程池原码分析

Java线程池的实现原理分析 execute()是 java.util.concurrent.Executor接口中唯一的方法,JDK注释中的描述是“在未来的某一时刻执行命令command”,即向线程池中提交任务,在未来某个时刻执行,提交的任务必须实现Runnable接口,该提交方式不能获取返回值...

2017-12-09 17:52:29

阅读数:27

评论数:0

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