自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

根号三

Open and Share

  • 博客(242)
  • 资源 (12)
  • 收藏
  • 关注

原创 常用正则表达式收藏

去除重复行find:^(.+)$[\r\n](^\1$[\r\n]{0, 1})+replace:\1\n

2022-03-15 13:29:05 255

原创 Linux less常用操作

一.搜索/字符串:向下搜索“字符串”的功能?字符串:向上搜索“字符串”的功能n:重复前一个搜索(与 / 或 ? 有关)N:反向重复前一个搜索(与 / 或 ? 有关)二.翻页b 向后翻一页d 向后翻半页...

2021-01-28 13:48:45 380

原创 shell实现毫秒级时钟

每100ms输出一次时间#!/bin/bashcleartput civiswhile [ 1 ]do tput clear echo $(date "+%Y-%m-%d %H:%M:%S.%N"|cut -b 1-21)"00" usleep 100000done

2020-03-14 14:21:13 747

原创 shell排序,强大的sort与awk

  “排序”在任何一门语言中都是最基础的功能,常见的排序对象有“文件”和“数组”,排序模式可以按照单列排序,也可以多列组合排序,排序方式有顺序、倒序,排序的算法就更多了,常见的有字典顺序、数组大小比较等。下文将从“排序对象”、“排序模式”、“排序方式”、“排序的算法”5个方面,逐一来分析shell是如何实现的。一.使用sort分别对文件和数组进行排序1.使用sort [文件名]就可以对文件以行...

2019-11-12 12:10:15 11608

原创 linux kill常用命令

1. kill -0kill -0 pid 不发送任何信号,不会结束进程,但是系统会进行错误检查。所以经常用来检查一个进程是否存在,存在返回0;不存在返回1kill -0 $pidif [ $? -gt 0 ] echo "进程$pid存在"else echo "进程$pid不存在"fi2. kill -15执行完该指令后,操作系统会发送一个 SIGTERM 信号给对应的程序...

2019-11-03 21:48:46 2301

原创 linux 检测端口是否处于监听状态

# 校验8000端口(/usr/sbin/ss -ln4 sport = :8000; /usr/sbin/ss -ln6 sport = :12200) | grep -c ":8000"

2019-11-03 20:52:02 1676

原创 linux 获取本地ip地址

1.ifconfig命令local_ip(){ local OUTIF=`/sbin/route -n | tail -1 | sed -e 's/.* \([^ ]*$\)/\1/'` local IP="`/sbin/ifconfig | grep -A1 ${OUTIF} | grep inet | awk '{print $2}' | sed 's/addr://g'`"}...

2019-11-03 19:49:12 716

原创 linux touch:修改文件的时间戳

一.使用指定文件的时间属性# touch -r,--referencetouch --reference 指定文件 待修改的文件

2019-11-03 14:56:35 462

原创 linux stat:显示文件或文件系统的状态

一.查询文件的最后一次修改时间stat -L -c "%Y" 文件用法:stat [选项]… 文件…显示文件或文件系统的状态。-L, --dereference 跟随链接-f, --file-system 显示文件系统状态而非文件状态-c, --format=格式 使用指定输出格式代替默认值,每用一次指定格式换一新行;–printf=格式 类似 -...

2019-11-03 14:41:50 712

原创 getent命令:查看系统的数据库中的相关记录

一.根据当前登录的用户id查询用户根目录第一步:查询当前用户的帐号信息getent passwd "$UID"第二步:使用awk获取用户根目录getent passwd "$UID" | awk -F":" '{print $6}'...

2019-11-03 14:17:57 593

原创 Shell重定向

一. >二. teetee命令与>的区别在于重定向,是将读取的内容输出到指定文件中,在屏幕上并不显示命令tee,在屏幕上显示的同时,将读取的内容也重定向到指定文件中...

2019-11-02 22:26:58 197

原创 Shell 根据执行的脚本获取项目的根路径

--app --bin --start.sh --log --target项目结构如下,通过start.sh启动服务。现需要在start.sh中获取项目的根路径。下面主要用到BASH_SOURCE变量和dirname命令第一步:获取bin目录$(dirname ${BASH_SOURCE[0]})第二步:进入app目录cd $(dirname ${BASH_S...

2019-11-02 21:50:16 3258

原创 Shell特殊变量:$0, $#, $*, $@, $?, $$和命令行参数

变量含义$0当前脚本的文件名(不是全路径名)$#传递给脚本或函数的参数个数$@传递给脚本或函数的所有参数$*传递给脚本或函数的所有参数。与上一条命令不同的是,当在双引号里面时,"$*“表示一个参数,即"a b c”,而”$@”表示三个参数,即"a" “b” “c”...

2019-11-02 17:26:27 205

原创 常用正则表达式

一.匹配大于120的数字// > 120的3位数 或者 >200的3位数 或者 大于1000的数字1[2-9][1-9]|[2-9]\d{2}|[1-9]\d{3,}

2019-10-30 23:49:15 580

原创 linux grep常用操作

1.搜索全是数字的行grep -E '^[0-9]+$' test.log备注:grep不支持正则表达式\d \w \s \b等

2019-10-26 19:06:29 722

原创 linux将文件每行数字相加

有一个文件,每行都是一个数字,现在需要将每行的数字相加,有如下几种方式。$cat number_file1031231222114234213213232213324432432423421334213434543533422242312143方法一:先将换行替换为加号,然后使用bc命令相加最开始的想法是直接使用tr命令将\n直接替换为+,但是替换后末尾...

2019-10-26 17:10:45 8561

原创 linux ls文件常用操作

1.找出目录中大小前10的文件并删除ls -S | head -n 10 | xrags rm -rf【ls排序方式】按修改时间排序(降序) ls -t按大小排序 ls -S反序 ls -r

2019-08-02 22:20:35 1441 1

原创 linux find命令常用操作

一.根据文件名查找查找path目录下文件名为fileName的文件:find [path] -name [fileName]例如:find /home/admin -name ‘*.log’

2019-07-07 14:01:46 402

原创 Linux ps命令常用操作

一.ps参数介绍-A 显示所有进程-e 等于“-A”-u 以用户为主的进程状态-f-au 显示较详细的资讯-aux 显示所有包含其他使用者的行程-C<命令> 列出指定命令的状况–lines<行数> 每页显示的行数–width<字符数> 每页显示的字符数–help 显示帮助信息–version 显示版本显示二.查询某个进程ps -e...

2019-07-07 13:31:07 243

原创 快速理解正则表达式元字符

元字符单词源头说明等价反义词.匹配除换行符(“\n”和&amp;quot;\r&amp;quot;)之外的任何单个字符\wword匹配字母/数字/下划线[a-zA-Z0-9_]\W\ddigit匹配一个数字字符[0-9]\D\sspace匹配任何不可见字符,包括空格、制表符、换页符等等[\f\n\r\t\v]\S\bboundary匹...

2019-01-19 13:57:09 352

原创 Error:(1, 1) java: 非法字符: '\ufeff'

解决方案:右键-&gt;File Encoding,转换为GBK,然后再转换为UTF-8

2018-12-07 20:55:50 1459

原创 Intellij 编译时报 未结束的字符串字面值

这个问题就是编码的问题,修改文件的编码可以解决Information:Using javac 1.7.0_75 to compile java sourcesInformation:java: Errors occurred while compiling module 'alms-web'Information:2015/7/16 0016 16:58 - Compilation comp...

2018-11-13 19:27:53 5067 1

原创 Spring MVC分析篇——HandlerAdapter

  SpringMVC的第一步,通过HandleMapping找到了某个请求对应的Handler,现在Handler有了,但是不同的handler的执行逻辑完全不一样,实现了Controller接口的handler,直接调用handler的handleRequest(……)方法就行,使用RequestMapping注解的handler,需要找到具体的方法再执行...

2018-11-05 17:07:44 1627 1

原创 Spring MVC分析篇——HandleMapping

  Sping MVC是一个web开发框架,用于处理Http请求,那首先要做的第一件事情就是要为每个url找到对应的java类及方法。至于寻找的方式就有很多了,简单的做法,可以用一个Map保存所有url和“java类及方法”之间的映射;复杂一点的,使用注解来定义方法和url的关系……所以,自然而然的,我们可以抽象出一个接口来表示这个寻找动作,不同的人可以按照自己的需求订制这种寻找过程。  那么这...

2018-11-03 17:25:39 4549 1

原创 Linux磁盘问题处理du&df

排查虚拟机的磁盘问题,下面3个命令基本上就可以解决大部分的问题了。du:disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。df:disk free,通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有...

2018-10-13 11:10:23 1801

原创 Linux /dev/null

一、/dev/nullnull是一个名叫null小桶的东西,如果命令的输出不想要即想丢弃输出的内容,既不想在标准输出与不想重定向到某个文件,就可将命令的输出重定向到/dev/null。这样做的好处是不会因为输出的内容过多而导致文件大小不断的增加。二、command &gt;/dev/null 与 command &gt;/dev/null 2&gt;&amp;1command &g...

2018-08-08 10:30:55 2892

原创 Spring MVC原理解析——MultipartRequest解析

  下面是SpringMVC处理请求的流程图,在进行正式的映射之前,Spring MVC会先判断当前请求是不是multipart/form-data请求,如果是,会将request解析为MultipartHttpServletRequest。 ...

2018-05-22 09:14:59 5037

原创 Spring AOP原理解析——Spring事务

Spring申明式事务有两种方式:基于配置文件基于注解一、基于配置文件的事务&lt;!-- 会重复读,不会脏读事务 --&gt;&lt;tx:advice id="defaultTxAdvice" transaction-manager="transactionManager"&gt; &lt;tx:attributes&gt; &lt;tx:m...

2018-05-21 09:05:49 1003

原创 Spring AOP原理解析——基于AOP标签的AOP是如何实现的?

  前面我们讲过了经典的基于代理的AOP和基于自动代理的AOP是如何实现的,有了前面的基础,学习基于AOP标签的AOP的实现原理,就很简单了。 经典的基于代理的AOP: https://blog.csdn.net/u011983531/article/details/80359304 基于自动代理的AOP: https://blog.csdn.net/u011983531/article/...

2018-05-20 11:01:25 1275

原创 Spring AOP原理解析——基于自动代理AOP是如何实现的?

  在上一篇(https://blog.csdn.net/u011983531/article/details/80359304)我们介绍了基于经典代理的AOP实现方案,在这一篇中,我们将看看基于自动代理的AOP是如何实现的。//基于自动代理AOP&amp;lt;bean id=&quot;sleepHelper&quot; class=&quot;test.spring.aop.bean.SleepHelper&quot;&amp;gt;&am

2018-05-19 20:51:08 1331

原创 Spring AOP原理解析——经典的基于代理的AOP是如何实现的?

Spring实现AOP有4种方式,感兴趣的可以查看下面的博文: https://blog.csdn.net/u011983531/article/details/49391129首先,我们来看看基于经典的AOP是如何实现的。先写一个接口叫Sleepable,所有具有睡觉能力的东西都可以实现该接口。package com.ghs.aop;public interface Sleep...

2018-05-18 08:52:40 4488

原创 Spring AOP原理解析——Advice、Pointcut、Adivsor

一、Advice、Pointcut、Adivsor的类图

2018-05-17 14:06:41 1022

原创 何为前后端分离?

一、前后端不分离   在前后端不分离架构中,所有的静态资源和业务代码统一部署在同一台服务器上。服务器接收到浏览器的请求后,进行处理得到数据,然后将数据填充到静态页面中,最终返回给浏览器。二、前后端分离实现前后端分离后,有了下面几点改变:服务器一分为二,前后端分别部署,静态资源放在前端服务器,业务代码放在后的服务器前端服务器需要接收Http请求(一般使用node.js)前...

2018-05-13 17:06:31 1427 2

原创 Java Type接口 & 运行时获取泛型类型

一、Type接口Type是所有类型的父接口,他有4个子接口和一个实现类。

2018-05-12 22:15:36 20557

原创 Java获取类中的所有方法

一、获取当前类定义的所有方法,不包括父类和接口的class.getDeclaredMethods()  会返回当前类定义的所有方法(包括私有的、静态的、抽象的),但是不会返回接口和父类中定义的方法二、获取当前类所有的public方法,包括父类和接口的class.getMethods()  会返回当前类所有的public方法,包括接口和父类中定义的public方法。三、获...

2018-05-09 09:29:35 21858

原创 Linux查看网络带宽

一、nloadDevice eth0 [10.16.169.14] (1/2):====================================================================Incoming: Curr: 27.99 kBit/s ...

2018-05-08 20:38:42 34385

原创 Linux查看CPU配置信息、内存大小

一、CPU配置信息命令:cat /proc/cpuinfo结果:processor : 0 //系统中逻辑处理核的编号vendor_id : GenuineIntel //CPU制造商cpu family : 6 //CPU产品系列代号model : 6 //CPU属于其系列中的哪一代的代号model name :...

2018-05-08 15:47:26 32745

原创 Zabbix CPU load、CPU utlization、CPU jumps

一、CPU utilization 使用Zabbix查看CPU利用率,会有下面几个值:CPU idle time:空闲的cpu时间比【简称id】CPU user time:用户态使用的cpu时间比【简称us】CPU system time:系统态使用的cpu时间比【简称sy】CPU iowait time:cpu等待磁盘写入完成时间【简称wa】CPU nice time:用做n...

2018-05-08 13:41:20 18396

原创 5.Java数据结构原理解析-Stack系列

一、Stack简介在Java中,Stack是一个类而非接口,下面是Stack的类关系图。 Stack继承自Vector,所以是提供了入栈和出栈等基本操作。二、Stack的实现原理1、底层数据结构Stack是基于Vector来实现,底层使用的是数组,当数组容量不够时进行扩容。2、入栈——push(E e)public E push(E item) { ...

2018-04-30 15:08:12 436

原创 Ehcache源码解析——缓存淘汰机制

一、Ehcache淘汰机制下面是Ehcache淘汰机制时序图:Ehcache缓存淘汰时,主要做了下面几件事情:put操作结束后,判断是否超出了最大容量从SelectableConcurrentHashMap中随机取出不超过30个元素作为淘汰样本根据淘汰策略选出样本中需要被淘汰的元素从SelectableConcurrentHashMap中移除该元素可以看出,Ehcac...

2018-04-24 15:29:49 2436 1

AOP四种配置方式demo

一个介绍了AOP四种配置方式的Demo,方便您快速掌握AOP的配置。

2016-04-10

基于UDP协议通信的例子

一个基于UDP协议通信的简单例子,包括服务端和客户端,客户端向服务端发送数据,服务端收到数据后向客户端返回数据。

2016-03-03

Socket实现一对一聊天

使用Socket实现一对一聊天,包括客户端和服务端

2015-11-13

使用LinkedList模拟堆栈

使用LinkedList模拟堆栈操作,包括进栈、出栈,入队、出队

2015-11-09

Spring整合JMS——实现收发消息

Spring整合JMS,基于ActiveMQ实现收发消息

2015-11-04

ActiveMQ使用Ajax实现多人聊天室

ActiveMQ使用Ajax实现多人聊天室。

2015-11-03

ActiveMQ入门示例

ActiveMQ简单入门示例,采用点对点的通信方式

2015-11-03

Jedis操作5种数据类型

通过Jedis操作Redis中定义的5中数据类型

2015-10-29

Spring实现AOP的4种方式

Spring中实现AOP有很多方式,这里总结了四种,有基于代理的实现方式,也有基于AspectJ 的注解方式,还有基于AOP标签的配置

2015-10-25

Java实现先来先服务与短作业优先

通过Java实现常用调度算法中的先来先服务和短作业优先

2015-10-25

Java中的IO流类详解

对Java中重要的IO技术进行详尽的解析

2014-11-15

Java设计模式

对Java中常见的设计模式进行总结,得出的一套完备的笔记

2014-11-15

空空如也

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

TA关注的人

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