自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 资源 (1)
  • 收藏
  • 关注

原创 spring 集成 小结

Spring 集成场景Spring 作为业界比较常用的 ioc 容器,新的框架,为了更好的在spring 项目中使用,基本都要集成到spring中,spring提供了很多种集成方案,本文将简单总结一下spring 集成的方案和需要注意的问题。ImportBeanDefinitionRegistrar/BeanDefinitionRegistryPostProcessor and @Impor...

2018-12-18 20:22:22 428

原创 OutOfMemoryError 汇总

内存溢出内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory lea...

2018-06-29 18:04:22 6492 1

原创 tcp 相关总结

tcp 基础知识三次握手四次挥手数据接收数据发送tcp queuesyn 半连接 accept 全连接syn 半链接accept 全链接netstat ss 相关参数ss -nltp 查看 listen 状态ss -ant |grep ESTAB 查看链接状态ss -s 统计信息netstat -s 统计信息netstat -s | egrep "list...

2018-05-25 21:34:09 1403

原创 java 多线程 备忘

java 多线程 备忘由于计算机的存储设备与处理器的运算能力之间有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(cache)来作为内存与处理器之间的缓冲:将运算需要使用到的数据复制到缓存中,让运算能快速进行,当运算结束后再从缓存同步回内存之中,这样处理器就无需等待缓慢的内存读写了。基于高速缓存的存储交互很好地解决了处理器与内存的速度矛盾,但...

2018-02-24 19:14:11 307

原创 atop备忘

atop 安装sudo apt install atopatop 参数说明监控界面字段说明ATOP列:该列显示了主机名、信息采样日期和时间点PRC列:该列显示进程整体运行情况sys、usr字段分别指示进程在内核态和用户态的运行时间#proc字段指示进程总数#zombie字段指示僵死进程的数量#exit字段指示atop采样周期期间退出的进程数量CPU列:该列显示CPU整体(即多核CPU作为一个

2017-08-14 22:30:30 863

原创 systemtab备忘

简介安装systemtabsudo apt-get install systemtap 直接安装各版本linux安装指南通过源码安装 – 源码下载 – ./configure –make –sudo make -k -i installsudo stap -v -e ‘probe vfs.read {printf(“read performed\n”); exit()}’ (测试

2017-07-31 22:08:10 561

原创 rabbitmq 小结

简介RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,具有良好的易用性、扩展性、高可用性。mq 主要用于解决跨系统的异步任务.核心概念QueueRabbitMQ中的消息都只能存储在Queue中,生产

2017-07-21 17:28:09 407

原创 aop小结

aop 相关理论知识基本概念pointcut 切入点 格式execution模板demowithin和target针对类的注解annotation是针对方法的注解arg 针对参数必须是在目标对象上声明注解在接口上声明的不起作用withintargetthisargsdemoaop 的两种织入实现方式spring aop 运行时通过动态代理织入spring aop 的两种实现

2017-06-16 18:12:41 1001

原创 java常用工具

相关资料jstat java性能统计工具jstack java线程堆栈工具jmap java内存映像工具 jps java进程查看jinfo java配置信息工具jhat java堆快照分析工具jconsole 可视化java工具jvisualvm 可视化java工具jstatd java统计监控后台程序jdb java调试工具jps 简介列出所有java进程jps [ opt

2016-12-31 15:32:16 1124

原创 tshark抓包小结

tshark命令详解网络抓包,分析工具。wireshark 的 Linux命令行工具。tshark option-i 设置抓包的网络接口,不设置则默认为第一个非自环接口。-D 列出当前存在的网络接口。在不了解OS所控制的网络设备时,一般先用“tshark -D”查看网络接口的编号以供-i参数使用。-f 设定抓包过滤表达式(capture filter expression)。抓包过滤表达式的写法

2016-12-17 21:55:56 19775

原创 strace 线程跟踪详解

简介strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。相关知识常见系统调用函数eg:fork 创...

2016-11-25 18:44:23 18346

原创 curl详解常用示例

curl 简介命令参数常用示例curl 简介curl是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称url为下载工具。命令参数 -a/–append 上传文件时,附加到目标文件 -b/–cookie <name=string/file> cookie字符串或文件读取位置-c/–cookie-jar <file> 操作结束后

2016-11-23 13:50:59 4435

原创 服务器问题排查

环境说明nginx 代理服务器web服务tomcat容器操作系统Ubuntu数据库mysql缓存redis常见问题连接超时访问超时访问404

2016-11-21 17:14:00 366

原创 linux 配置redis集群

redis 安装安装redis$ wget http://download.redis.io/releases/redis-3.2.3.tar.gz$ tar xzf redis-3.2.3.tar.gz$ cd redis-3.2.3$ make (需要安装gcc |yum install gcc)检测是否安装成功$ cd src/$ redis-server ../redis.conf(

2016-08-25 21:37:12 4541

原创 CentOS7 安装 mysql

mysql VS mariadb CentOS7 安装 Mariadb目前CentOS7 默认不支持 mysql-server的安装,替代产品是mysql社区开源的mariadb。他们的执行命令是基本完全兼容的。安装 yum -y install mariadb* 验证 rpm -qa|grep mariadbmariadb-server-5.5.50-1.el7_2.x86_64maria

2016-08-24 15:09:29 510

原创 CentOS7安装w3m

下载w3m的rpm(Links)执行 rpm -Uvh theW3mRpm根据提示下载其他依赖的rpm

2016-08-24 14:02:39 7596 2

原创 Linux 实用工具(二)

awk(Reference Link)cmd 格式awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk [-F field-separator] ‘commands’ input-file(s)awk -f awk-scrip

2016-06-20 18:35:25 486

原创 Linux实用工具(一)

rsync是一个功能强大的同步工具。rsync 格式 rsync [OPTION]… SRC DEST rsync [OPTION]… SRC [USER@]HOST:DEST rsync [OPTION]… [USER@]HOST:SRC DEST rsync [OPTION]… [USER@]HOST::SRC DEST rsync [OPTION]… SRC [USER@]HOST:

2016-06-15 19:13:47 485

原创 RESTFul小结

RESTFul简介    REST全称是Representational State Transfer,中文意思是表述性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是 HTTP 规范的主要编写者之一。 REST指的是一组架构约束条件和原则。如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构。资源与URI    REST围绕资

2016-06-02 21:04:06 808

原创 Linux 常用命令总结

查询命令find* find [指定查找目录] [查找规则] [查找完后执行的action]* find ~/.m2 -name “*.lastUpdated” -exec grep -q “Could not transfer” {} \; -print -exec rm {} \;(查找以lastUpdated 为后缀的文件中包含 “Could not…”的文件,打印并删除他)(`*

2016-05-25 21:55:26 3967

原创 Java字节码 小结

Referencejavap 基本用法深入理解java字节码从Java代码到字节码Java字节码.class文件案例分析字节码 核心概念Class文件是8位字节流,按字节对齐。之所以称为字节码,是因为每条指令都只占据一个字节,所有的操作码和操作数都是按字节对齐的。数据结构Java虚拟机规范中规定,Class文件格式采用一种类似C语言结构体的伪结构来存储,它只有两种数据类型无符号数(基本数据

2016-03-25 18:38:53 3436 2

原创 Java GC 小结

参考java回收机制详解JVM调优

2016-03-23 18:04:26 486

原创 thrift 小结

概述Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型,然后通过一个编译器生成不同语言的代码(C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk和OCaml),

2016-03-10 14:00:30 11476

原创 Maven小结

站在巨人的肩膀上Maven OfficalMaven Guide安装&配置Maven3windows添加M2_HOME,环境变量修改PATH,添加%M2_HOME%\bin验证,cmd运行mvn –versionLinuxvim ~/.bashrc文末添加M2_HOME=”maven路径”,path=M2HOME/bin:M2_HOME/bin:pathresource ~/.bas

2016-01-25 15:48:29 950

原创 Ubuntu安装Intellij IDEA 15

站在巨人的肩膀上下载链接IDEA 15注册选 License server进行注册,输入http://idea.lanyus.com解决desktop entry 的Tools.jar不存在问题修改 Exec= env JDK_HOME=/usr/lib/jvm/java “path/to/idea.sh”

2016-01-15 10:05:57 2308

原创 EasyBCD安装Ubuntu,Windows7双系统

站在巨人的肩膀上window8,Ubuntu双系统工具EasyBCDUbuntu安装流程设置NeoGrub引导启动解压Ubuntu安装包,将“.disk”文件夹和casper文件夹内的“initrd.lz”和“vmlinuz.efi”文件复制到C盘根目录,再将Ubuntu系统镜像文件复制到C盘根目录。打开EasyBCD,选择“添加新条目”->”NeoGrub”->”Install”点”配置”打

2016-01-14 11:25:18 912

原创 Sublime 运行Java

参考资料ReferenceReference2具体步骤默认只能编译,自定义运行文件命名为:runJava.bat 保存在%JAVA_HOME%\bin 文件夹下@echo offcd %~dp1echo Compiling %~nx1......if exist %~n1.class (del %~n1.class)javac -encoding UTF-8 %~nx1if exi

2016-01-05 18:38:42 1437

原创 Markdown 语法

站在巨人的肩膀上Markdown 语法说明 (简体中文版)常用格式背景色字体<table><tbody><tr><td bgcolor="#000000"><font color="#00ff00">带背景色字体<br></font></td></tr></tbody></table>带背景色字体2.字体大小<font face="黑体">我是黑体字</font><font face=

2015-10-12 13:45:08 424

原创 Git总结

站在巨人的肩膀上Git使用详解(详细)Git官方文档(中文版)工具推荐tortoiseGitgit-for-windows常用命令git init –bare 创建初始化仓库,加–bare,可以避免后期出现“Out of memory? mmap failed: No such file or directory”错误。(远端仓库最好加bare可以避免push,add冲突)具体原因见: git

2015-10-12 10:24:59 821

原创 Java集合类

概述JAVA集合类主要包括,Collection,Set,List,Map,Quene等基本接口,和Iterator(迭代器模式的具体实现)。具体集成结构如下: 注意:Set不能重复。TreeSet,TreeMap都是基于红黑树实现的已排序的集合。LinkIterator能够双向访问。HashTable基于废弃的Dictionary实现,是线程安全的,等同于Collections.sy

2015-09-09 18:25:38 407

原创 Redis相关

Redis初探redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hashs(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同

2015-09-09 15:24:35 388

原创 关于同步,异步,阻塞,非阻塞,IOCP/epoll,select/poll,AIO ,NIO ,BIO的总结

IO基本概念Linux环境Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用;内核给我们返回一个file descriptor(fd,文件描述符)。对一个socket的读写也会有相应的描述符,称为socketfd(socket描述符)。描述符就是一个数字(可以理解为一个索引),指向内核中一个结

2015-09-09 13:52:19 11078 4

原创 行为模式总结

行为模式综述行为模式是对在不同的对象之间划分责任和算法的抽象化。行为模式不仅仅是关于类和对象的,而且是关于它们之间的相互作用的。可分为类的行为模式和对象的行为模式。类的行为模式:类的行为模式使用继承关系在几个类之间分配行为 对象的行为模式:使用对象的聚合来分配行为常见行为型模式有11种:CCIIMM(Chain of Responsibility职责链、Command命令、Interpreter解

2015-08-27 18:20:49 587

转载 策略模式——对象行为模式

意图策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。适用性当存在以下情况时使用Strategy模式 1)• 许多相关的类仅仅是行为有异。 “策略”提供了一种用多个行为中的一个行为来配置一个类的方法。即一个系统需要动态地在几种算法中选择一种。 2)• 需要使用一个算法的不同变体。例如,你可能会定义一些反映不同的空间 /时间权

2015-08-27 18:17:18 472

转载 访问者——对象行为模式

意图封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。动机我们去银行柜台办业务,一般情况下会开几个个人业务柜台的,你去其中任何一个柜台办理都是可以的。我们的访问者模式可以很好付诸在这个场景中:对于银行柜台来说,他们是不用变化的,就是说今天和明天提供个人业务的柜台是不需要有变化的。而我们作为访问者,今天来银行可能是取消费流水,明天来银行可能是去办理手

2015-08-25 18:19:54 494

转载 模板方法——对象行为模式

意图定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。该模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。适用性1、一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。 2、各子类中公共的行为应被提取出来并集中到一个公共父类中以避免代码重复。即“重分解以一般化”,首先识别现有代码中的不同之处,并且将不同之处分离为新的操作。最后,用一个调用这些新的操作的模板方法来替换

2015-08-25 17:53:45 535

转载 状态——对象行为模式

意图当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。动机主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同的一系列类当中,可以把复杂的逻辑判断简单化。适用性1) 一个对象的行为取决于它的状态, 并且它必须在运行时刻根据状态改变它的行为。2) 代码中包含大量与对象状态有关的条件语句:一个操作中含有庞大的多分支的条件(if else(

2015-08-25 17:28:48 1481

转载 观察者——对象行为模式

意图又被称为发布-订阅Subscribe模式、模型-视图View模式、源-收听者Listener模式或从属者模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。动机将一个系统分割成一个一些类相互协作的类有一个不好的副作用,那就是需要维护相关对象间的一致性。我们不希望为了维持一致性而使各类紧密耦

2015-08-25 17:01:35 466

转载 备忘录——对象行为模式

意图在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态适用性如果系统需要提供回滚操作时,使用备忘录模式非常合适。例如文本编辑器的Ctrl+Z撤销操作的实现,数据库中事务操作。结构图角色1.Originator(发起人):负责创建一个备忘录Memento,用以记录当前时刻自身的内部状态,并可使用备忘录恢复内部状态。Originator可以

2015-08-25 16:45:59 650

转载 中介者——对象行为模式

意图定义一个中介对象来封装系列对象之间的交互。中介者使各个对象不需要显示地相互引用,从而使其耦合性松散,而且可以独立地改变他们之间的交互。适用性1、一组对象以定义良好但是复杂的方式进行通信。产生的相互依赖关系结构混乱且难以理解。2、一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象。3、想定制一个分布在多个类中的行为,而又不想生成太多的子类。结构图角色Mediator:中介者接口。在

2015-08-25 16:16:24 522

Notepad++插件实现Fastinfoset显示

notepad++插件,实现fastinfoset在notepad++中的直接打开。 下载资源解压后直接copy到notepad++安装目录的plugins的根目录下

2015-08-17

空空如也

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

TA关注的人

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