并发编程之五--ThreadLocal
摘要:一、ThreadLocal是什么 二、ThreadLocal的场景 三、ThreadLocal原理 四、ThreadLocal需要避开的坑 五、有什么方式能提高 ThreadLocal 的性能吗? 六、Thread同步机制的比较 一、ThreadLocal是什么 早在JDK 1.2的版本中就提供ja
阅读全文
posted @
2015-12-29 14:47
duanxz
阅读(378)
推荐(0) 编辑
RocketMQ之三:nameserver源码解析
摘要:NameServer代码结构 如下图: 代码结构 如上图所示,nameServer设计比较轻量级的,其中几个主要类的功能为: NamesrvStartup:从命名就可以看出这为NameServer的启动类。 RouteInfoManager:从类名可以看出为路由信息的管理类,就是存放Broker的状
阅读全文
posted @
2015-12-28 09:24
duanxz
阅读(1179)
推荐(0) 编辑
Spring之3:BeanFactory、ApplicationContext、ApplicationContextAware区别
摘要:在Spring中系统已经为用户提供了许多已经定义好的容器实现,而不需要开发人员事必躬亲。相比那些简单拓展BeanFactory的基本IoC容器,开发人员常用的ApplicationContext除了能提供容器的基本功能外,还为用户提供了更多的附加服务。 BeanFactory、Application
阅读全文
posted @
2015-12-27 23:39
duanxz
阅读(1952)
推荐(2) 编辑
spring中InitializingBean接口使用理解
摘要:《spring扩展点之二:spring中关于bean初始化、销毁等使用汇总,ApplicationContextAware将ApplicationContext注入》 《spring中InitializingBean接口使用理解》 InitializingBean接口为bean提供了初始化方法的方式
阅读全文
posted @
2015-12-27 23:38
duanxz
阅读(1616)
推荐(0) 编辑
ES之四:Elasticsearch Mapping类型映射概述及高版本中删除mapping
摘要:一、ES mapping作用 ES的mapping非常类似于java中的数据类型,可以用来设置字段中存储的数据的类型。但ES中的mapping的作用比数据类型广泛一些: 定义索引这里面的字段和名称 定义字段的数据类型,字符串、布尔、数字...... 字段,倒排索引相关的配置,是否分词 日期值的格式。
阅读全文
posted @
2015-12-27 23:23
duanxz
阅读(7959)
推荐(1) 编辑
spring容器启动的三种方式
摘要:一、在Web项目中,启动Spring容器的方式有三种,ContextLoaderListener、ContextLoadServlet、ContextLoaderPlugin。 1.1、监听器方式: web.xml 还可以通过<import resource="classpath:/spring/s
阅读全文
posted @
2015-12-27 23:22
duanxz
阅读(60300)
推荐(1) 编辑
java的reflection和introspector
摘要:内省 内省是 Java 语言对 Bean 类属性、事件的一种处理方法(也就是说给定一个javabean对象,我们就可以得到/调用它的所有的get/set方法)。例如类 A 中有属性 name, 那我们可以通过 getName,setName 来得到其值或者设置新的值。通过 getName/setNa
阅读全文
posted @
2015-12-27 22:36
duanxz
阅读(1101)
推荐(0) 编辑
阿里巴巴开源项目:分布式数据库同步系统otter(解决中美异地机房)
摘要:项目背景 阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,同时为了提升用户体验,整个机房的架构为双A,两边均可写,由此诞生了otter这样一个产品。 otter第一版本可追溯到04~05年,此次外部开源的版本为第4版,开发时间从201
阅读全文
posted @
2015-12-23 11:42
duanxz
阅读(2477)
推荐(0) 编辑
uptime命令查看系统启动时间和运行时间、查看linux系统负载
摘要:1.uptime命令输出:16:11:40 up 59 days, 4:21, 2 users, load average: 0.00, 0.01, 0.002.查看/proc/uptime文件计算系统启动时间cat /proc/uptime输出: 5113396.94 575949.85第一数字即...
阅读全文
posted @
2015-12-23 09:58
duanxz
阅读(4296)
推荐(1) 编辑
who命令参数及用法详解(linux查看在线用户命令)
摘要:功能说明:显示目前登入系统的用户信息。 语 法:who [-Himqsw][--help][--version][am i][记录文件] 补充说明:执行这项指令可得知目前有那些用户登入系统,单独执行who指令会列出登入帐号,使用的终端机,登入时间以及从何处登入或正在使用哪个X显示器。 参 ...
阅读全文
posted @
2015-12-23 09:49
duanxz
阅读(2496)
推荐(0) 编辑
Java并发编程之三:volatile关键字解析
摘要:目录: 《Java并发编程之三:volatile关键字解析》 《volatile之一--volatile不能保证原子性》 《Synchronized之一:基本使用》 基础: 《java内存模型JMM》 《指令重排、内存屏障概念解析》 volatile这个关键字可能很多朋友都听说过,或许也都用过。在J
阅读全文
posted @
2015-12-22 15:10
duanxz
阅读(1490)
推荐(1) 编辑
Linux下" >/dev/null 2>&1 "相关知识说明
摘要:在学习Linux的过程中,常会看到一些终端命令或者程序中有">/dev/null 2>&1 "出现,由于已经遇到了好几次了,为了理解清楚,不妨花点时间百度或者google一下相关的知识。 0:表示键盘输入(stdin)1:表示标准输出(stdout),系统默认是1 2:表示错误输出(stderr)
阅读全文
posted @
2015-12-21 15:54
duanxz
阅读(503)
推荐(0) 编辑
nohup命令
摘要:nohup&方式:Unix/Linux下一般想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local/mysql/bin/mysqld_safe --user=mysql &nohup方式: 但是我们很多程序并不象mysqld一...
阅读全文
posted @
2015-12-21 15:42
duanxz
阅读(1117)
推荐(0) 编辑
RocketMQ之四:RocketMq事务消息
摘要:事务消息 通过消息的异步事务,可以保证本地事务和消息发送同时执行成功或失败,从而保证了数据的最终一致性。 发送端执行如下几步: 发送prepare消息,该消息对Consumer不可见 执行本地事务(如 update DB) 若本地事务执行成功,则向MQ提交消息确认发送指令;若本地事务执行失败,则向M
阅读全文
posted @
2015-12-21 14:35
duanxz
阅读(1401)
推荐(0) 编辑
利用commons-pool2自定义对象池
摘要:一、为什么使用对象池 恰当地使用对象池化技术,可以有效地减少对象生成和初始化时的消耗,提高系统的运行效率。commons-pool2是Apache下一个开源的公共资源池。我们可以根据它来快速的建立一个自己的对象池。组件提供了一整套用于实现对象池化的框架,以及若干种各具特色的对象池实现。官方网址:ht
阅读全文
posted @
2015-12-21 14:33
duanxz
阅读(1795)
推荐(0) 编辑
mysql高可用集群——MHA架构
摘要:目录1.下载2.搭建mha 2.1 系统配置 2.2 架构 2.3 添加ssh公钥信任 2.4 安装mha节点 2.5 manager配置文件 2.6 检查 2.7 启动manager进程 2.8 碰到的问题3.测试切换 3.1 正常切换测试 3.2 回切测试 3.3 雪崩测试 3.4 主从不一致切...
阅读全文
posted @
2015-12-21 14:09
duanxz
阅读(5554)
推荐(0) 编辑
阿里巴巴开源项目: canal 基于mysql数据库binlog的增量订阅&消费
摘要:背景 早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于trigger的方式获取增 量变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务,从此 开启了一段新...
阅读全文
posted @
2015-12-21 11:13
duanxz
阅读(12186)
推荐(0) 编辑
JDK实现的线程池之五: ForkJoinPool、newWorkStealingPool
摘要:ForkJoinPool 在Java 7中引入了一种新的线程池:ForkJoinPool。 它同ThreadPoolExecutor一样,也实现了Executor和ExecutorService接口。它使用了一个无限队列来保存需要执行的任务,而线程的数量则是通过构造函数传入,如果没有向构造函数中传入
阅读全文
posted @
2015-12-18 10:14
duanxz
阅读(1963)
推荐(2) 编辑
Thread之四:java线程返回结果的方法
摘要:《Thread之四:java线程返回结果的方法》 《Runnable、Callable、Future和FutureTask之一:获取线程的返回值》 《CompletionService之一:获得线程(线程池的)处理结果》 本文目录: 第一种方法:通过线程的实例变量传递方式获取结果第二种方法:使用Ca
阅读全文
posted @
2015-12-17 11:05
duanxz
阅读(5617)
推荐(0) 编辑
Fork/Join框架介绍
摘要:转http://www.infoq.com/cn/articles/fork-join-introduction/ 1. 什么是Fork/Join框架 Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框
阅读全文
posted @
2015-12-17 10:18
duanxz
阅读(430)
推荐(0) 编辑
Spring并发访问的线程安全性问题
摘要:当然大多数情况下,我们根本不需要考虑线程安全的问题,比如dao,service等,除非在bean中声明了实例变量。因此,我们在使用spring mvc 的contrller时,应避免在controller中定义实例变量。 如: 在这里有声明一个变量company,这里就存在并发线程安全的问题。如果控
阅读全文
posted @
2015-12-16 18:02
duanxz
阅读(3761)
推荐(0) 编辑
Spring集成Quartz定时任务框架介绍
摘要:在JavaEE系统中,我们会经常用到定时任务,比如每天凌晨生成前天报表,每一小时生成汇总数据等等。我们可以使用java.util.Timer结合java.util.TimerTask来完成这项工作,但时调度控制非常不方便,并且我们需要大量的代码。使用Quartz框架无疑是非常好的选择,并且与Spri
阅读全文
posted @
2015-12-16 13:43
duanxz
阅读(621)
推荐(0) 编辑
Spring线程池之一:由浅入深的3个示例
摘要:作者博客主页:http://blog.csdn.net/chszs 本文提供了三个Spring多线程开发的例子,由浅入深,由于例子一目了然,所以并未做过多的解释。诸位一看便知。 例子1:Spring结合Java线程。 通过继承Thread创建一个简单的Java线程,然后使用@Component让Sp
阅读全文
posted @
2015-12-16 12:07
duanxz
阅读(2007)
推荐(0) 编辑
JDK实现的线程池之一:ThreadPoolExecutor、三种阻塞队列、四种拒绝策略、五种线程池、七个参数、线程池状态
摘要:一、concurrent包中的五种线程池的简单介绍 二、ThreadPoolExecutor类七个参数 三、三种阻塞队列四、四种拒绝策略 五、线程池executor执行逻辑 一、concurrent包中的五种线程池的简单介绍 线程池按照线程数量可以分为:一是固定线程数量的线程池;二是可变数量的线程池
阅读全文
posted @
2015-12-16 11:51
duanxz
阅读(1555)
推荐(1) 编辑
Spring线程池之二:ThreadPoolTaskExecutor介绍
摘要:一、spring线程池中的主要接口和类 Java SE 5.0引入了ThreadPoolExecutor、ScheduledThreadPoolExecutor。Spring 2.x借助ConcurrentTaskExecutor和ThreadPoolTaskExecutor能够通过IoC配置形式自
阅读全文
posted @
2015-12-16 10:03
duanxz
阅读(11047)
推荐(0) 编辑
Spring线程池之三:有返回值的线程池使用
摘要:1、配置 import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; //该注解的locations已经被启用
阅读全文
posted @
2015-12-16 09:55
duanxz
阅读(2809)
推荐(0) 编辑
Spring线程池之四:Spring线程池监控
摘要:一、JDK线程池监控参数 线程池提供了以下几个方法可以监控线程池的使用情况: 方法 含义 getActiveCount() 线程池中正在执行任务的线程数量 getCompletedTaskCount() 线程池已完成的任务数量,该值小于等于taskCount getCorePoolSize() 线程
阅读全文
posted @
2015-12-16 09:44
duanxz
阅读(2906)
推荐(0) 编辑
ThreadPoolTaskExecutor的配置解释--temp
摘要:ThreadPoolTaskExecutor的配置在网上找了很多解释没找到,看了下ThreadPoolExecutor的配置,名字差不多,应该含义也差不多。只不过ThreadPoolTaskExecutor对 ThreadPoolExecutor做了包装。 <bean id ="taskExecut
阅读全文
posted @
2015-12-16 09:29
duanxz
阅读(1285)
推荐(0) 编辑
使用Jenkins配置自动化构建
摘要:持续集成是个简单重复劳动,人来操作费时费力,使用自动化构建工具完成是最好不过的了。为了实现这个要求,我选择了Jenkins。从 http://mirrors.jenkins-ci.org/windows/latest下载windows下的最新安装版jenkins。(如果不 能安装,从http://...
阅读全文
posted @
2015-12-15 17:25
duanxz
阅读(252)
推荐(0) 编辑
jenkins邮件配置
摘要:jenkins自带的邮件管理太弱了,为了能按自定义的方式发送邮件,需要安装一个插件:Jenkins Email Extension Plugin。1.配置邮件:通过“系统管理”-“系统设置”,进行系统设置界面,上面的内容在“使用Jenkins配置自动化构建”中已经讲过,直接移动到设置页面的最下面,...
阅读全文
posted @
2015-12-15 17:25
duanxz
阅读(302)
推荐(0) 编辑
Hudson和Jenkins的关系
摘要:Jenkins is an open source continuous integration tool written in Java. The project was forked from Hudson after a dispute with Oracle, which claims th...
阅读全文
posted @
2015-12-15 17:24
duanxz
阅读(1009)
推荐(0) 编辑
PV 和 UV IP
摘要:PV(page view),即页面浏览量,或点击量;通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标。 高手对pv的解释是,一个访问者在24小时(0点到24点)内到底看了你网站几个页面。这里需要强调:同一个人浏览你网站同一个页面,不重复计算pv量,点100次也算1次。说白了,pv就是一个...
阅读全文
posted @
2015-12-15 17:11
duanxz
阅读(533)
推荐(0) 编辑
RCE、exp、Exploit、Exploit Pack、exp-gui、Payload、MetaSploit都是啥
摘要:对于走在安全路上的小菜来说,这几个exp、Exploit、Exploit Pack、exp-gui、Payload、MetaSploit名词着实把人转的不轻,下面给大家解释下:RCE,remote command execute远程命令执行Exp,就是Exploit,漏洞利用的意思,注意,有漏洞不一...
阅读全文
posted @
2015-12-15 16:44
duanxz
阅读(1055)
推荐(0) 编辑
Lib之过?Java反序列化漏洞通用利用分析
摘要:转http://blog.chaitin.com/1 背景2 Java反序列化漏洞简介3 利用Apache Commons Collections实现远程代码执行4 漏洞利用实例4.1 利用过程概述4.2 WebLogic4.3 Jenkins4.4 Jboss4.5 WebSphere4.6 其它...
阅读全文
posted @
2015-12-15 16:26
duanxz
阅读(1742)
推荐(0) 编辑
MyBatis传入参数与parameterType
摘要:Mybatis的Mapper文件中的select、insert、update、delete元素中有一个parameterType属性,用于对应的mapper接口方法接受的参数类型。可以接受的参数类型有基本类型和复杂类型。mapper接口方法一般接受一个参数,可以通过使用@Param注释将多个参数绑定...
阅读全文
posted @
2015-12-14 17:45
duanxz
阅读(2743)
推荐(1) 编辑
关于mybatis中基本类型条件判断问题
摘要:零:sql动态语句中经常会有根据数据库某个字段状态进行判断的如:status=0为未激活,status=1为激活的,那搜索未激活时: and status=#{model.activeStatus}但由于java的int类型默认值为0,导致0与null的判定无法识别。解决办...
阅读全文
posted @
2015-12-14 17:33
duanxz
阅读(3735)
推荐(0) 编辑
Spring单例Bean和线程安全
摘要:Spring的bean默认都是单例的,这些单例Bean在多线程程序下如何保证线程安全呢?例如对于Web应用来说,Web容器对于每个用户请求都创建一个单独的Sevlet线程来处理请求,引入Spring框架之后,每个Action都是单例的,那么对于Spring托管的单例Service Bean,如何保证
阅读全文
posted @
2015-12-12 13:42
duanxz
阅读(9461)
推荐(1) 编辑
websocket之三:Tomcat的WebSocket实现
摘要:Tomcat自7.0.5版本开始支持WebSocket,并且实现了Java WebSocket规范(JSR356 ),而在7.0.5版本之前(7.0.2版本之后)则采用自定义API,即WebSocketServlet。本节我们仅介绍Tomcat针对规范的实现。 根据JSR356的规定,Java We
阅读全文
posted @
2015-12-12 13:33
duanxz
阅读(18251)
推荐(2) 编辑
Thread之三:Thread Join()的用法
摘要:join()的使用场景 在很多情况下,主线程创建并启动子线程,如果子线程中要进行大量的耗时运算,主线程将可能早于子线程结束。如果主线程需要知道子线程的执行结果时,就需要等待子线程执行结束了。主线程可以sleep(xx),但这样的xx时间不好确定,因为子线程的执行时间不确定,join()方法比较合适这
阅读全文
posted @
2015-12-11 11:28
duanxz
阅读(88597)
推荐(7) 编辑
tree指令
摘要:tree中文解释:tree功能说明:以树状图列出目录的内容。语 法:tree[-aACdDfFgilnNpqstux][-I][-P][目录...]补充说明:执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。参 数:-a显示所有文件和目录。-A使用ASNI绘图字符显示树状图而非...
阅读全文
posted @
2015-12-11 09:48
duanxz
阅读(900)
推荐(0) 编辑
pushd,popd,dirs,cd -让切换目录更方便
摘要:与linuxcd命令相似,用pushd实现在不同目录间切换 在命令行模式下,当你工作在不同目录中,你将发现你有很多时间都浪费在重复输入上如果这些目录不在同一个根目录中,你不得不在转换时输入完整的路径名,这难免让人有些难以忍受但你可以用以下的一个或两个步骤来避免所有多余的输入:用命令行解释器中的历史...
阅读全文
posted @
2015-12-11 09:10
duanxz
阅读(942)
推荐(1) 编辑
popd命令
摘要:popd命令用于删除目录栈中的记录;如果popd命令不加任何参数,则会先删除目录栈最上面的记录,然后切换到删除过后的目录栈中的最上面的目录。语法pushd(选项)(参数)选项+N:将第N个目录删除(从左边数起,数字从0开始);-N:将第N个目录删除(从右边数起,数字从0开始);-n:将目录出栈时,不...
阅读全文
posted @
2015-12-11 09:04
duanxz
阅读(1331)
推荐(0) 编辑
pushd命令
摘要:1)功能pushd命令常用于将目录加入到栈中,加入记录到目录栈顶部,并切换到该目录;若pushd命令不加任何参数,则会将位于记录栈最上面的2个目录对换位置2)语法(1)格式:pushd [目录 | -N | +N] [-n](2)选项目录 将该目录加入到栈顶,并执行"cd 目录",切换到该目录+N ...
阅读全文
posted @
2015-12-11 09:02
duanxz
阅读(1058)
推荐(0) 编辑
dirs命令
摘要:dirs命令显示当前目录栈中的所有记录(不带参数的dirs命令显示当前目录栈中的记录)。dirs始终显示当然目录, 再是堆栈中的内容;即使目录堆栈为空, dirs命令仍然只显示当然目录。语法 dirs(选项)(参数) 选项 -c:删除目录栈中的所有记录 -l:以完整格式显示 -p:一个目录一行的方式...
阅读全文
posted @
2015-12-11 00:08
duanxz
阅读(1016)
推荐(0) 编辑
pwd命令
摘要:Linux中用pwd命令来查看”当前工作目录“的完整路径。简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。1.命令格式: pwd[选项]2.命令功能: 查看”当前工作目录“的完整路径3.常用参数:一般情况下不带任何...
阅读全文
posted @
2015-12-11 00:02
duanxz
阅读(828)
推荐(0) 编辑
ls命令
摘要:ls命令是linux下最常用的命令。ls命令就是list的缩写缺省下ls用来打印出当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单。通过ls命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限),查看目录信息等等。ls命令在日常...
阅读全文
posted @
2015-12-10 23:59
duanxz
阅读(261)
推荐(0) 编辑
rmdir命令
摘要:rmdir命令用来删除空目录。当目录不再被使用时,或者磁盘空间已到达使用限定值,就需要删除失去使用价值的目录。利用rmdir命令可以从一个目录中删除一个或多个空的子目录。该命令从一个目录中删除一个或多个子目录,其中dirname佬表示目录名。如果dirname中没有指定路径,则删除当前目录下由dir...
阅读全文
posted @
2015-12-10 23:51
duanxz
阅读(520)
推荐(0) 编辑
install命令和cp命令的区别
摘要:基本上,在Makefile里会用到install,其他地方会用cp命令。它们完成同样的任务——拷贝文件,它们之间的区别主要如下:1、最重要的一点,如果目标文件存在,cp会先清空文件后往里写入新文件,而install则会先删除掉原先的文件然后写入新文件。这是因为往正在使用的文件中写入内容可能会导致一些...
阅读全文
posted @
2015-12-10 22:51
duanxz
阅读(2407)
推荐(1) 编辑
./configure,make,make install的作用
摘要:这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。make是用来编译的,它从Makefile中读取指令,然后编译。make in...
阅读全文
posted @
2015-12-10 22:49
duanxz
阅读(560)
推荐(0) 编辑
install 命令
摘要:install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。install命令和cp命令类似,都可以将文件/目录拷贝到指定的地点。但是,install允许你控制目标文件的属性。install通常用于程序的makefile,使用它来将程序拷贝到目标(安装)目录。install [OPT...
阅读全文
posted @
2015-12-10 22:43
duanxz
阅读(2072)
推荐(0) 编辑
Make 命令
摘要:Linux 下make命令是系统管理员和程序员用的最频繁的命令之一。管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题。本文我们将用一些实例来讨论 make 命令背后的工作机制。Make 如何工作的对于不知道背后机理的人来说,make 命令像命令行参数一样接收...
阅读全文
posted @
2015-12-10 22:11
duanxz
阅读(768)
推荐(0) 编辑
linux configure使用方法
摘要:'configure'脚本有大量的命令行选项.对不同的软件包来说,这些选项可能会有变化,但是许多基本的选项是 不会改变的.带上'--help'选项执行'configure'脚本可以看到可用的所有选项.尽管许多选项是很少用到的,但是当你为了特殊的需求而 configure一个包时,知道他们的存在是很有...
阅读全文
posted @
2015-12-10 21:38
duanxz
阅读(2163)
推荐(0) 编辑
Linux下which、whereis、locate、find命令的区别
摘要:我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索。这些是从网上找到的资料(参考资料1),因为有时很长时间不会用到,当要用的时候经常弄混了,所以放到这里方便使用。which查看可执行文件的位置whereis 查看文件的位置locate 配合数据库查看文件位置...
阅读全文
posted @
2015-12-07 22:50
duanxz
阅读(4611)
推荐(0) 编辑
type命令
摘要:用途说明type命令用来显示指定命令的类型。一个命令的类型可以是如下几种:alias 别名keyword 关键字,Shell保留字function 函数,Shell函数builtin 内建命令,Shell内建命令file 文件,磁盘文件,外部命令unfound 没有找到它是Linux系统的一种自省机...
阅读全文
posted @
2015-12-07 22:47
duanxz
阅读(1905)
推荐(0) 编辑
locate 命令
摘要:locate让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。在一般的distribution之中,数据库的建立都被放在crontab中自动执行。1.命令格式:Locate[选择...
阅读全文
posted @
2015-12-07 22:46
duanxz
阅读(634)
推荐(0) 编辑
whereis 命令
摘要:whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。和find相比,whereis查找的速度非常快,这是因为linux系统会将系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即...
阅读全文
posted @
2015-12-07 22:42
duanxz
阅读(273)
推荐(0) 编辑
which命令
摘要:我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which查看可执行文件的位置。 whereis查看文件的位置。 locate配合数据库查看文件位置。 find实际搜寻硬盘查询文件名称。which命令的作用是,在PATH变量指定的路径中,搜索某...
阅读全文
posted @
2015-12-07 22:16
duanxz
阅读(819)
推荐(0) 编辑
find 命令的参数详解
摘要:find一些常用参数的一些常用实例和一些具体用法和注意事项。 1.使用name选项: 文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用。 可以使用某种文件名模式来匹配文件,记住要用引号将文件名模式引起来。 不管当前路径是什么,如果想要在自己的根目录$HOME中查找文件
阅读全文
posted @
2015-12-07 22:13
duanxz
阅读(1259)
推荐(0) 编辑
mv命令
摘要:mv命令是move的缩写,可以用来移动文件或者将文件改名(move(rename)files),是Linux系统下常用的命令,经常用来备份文件或者目录。1.命令格式:mv[选项]源文件或目录目标文件或目录2.命令功能:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或...
阅读全文
posted @
2015-12-07 22:11
duanxz
阅读(1032)
推荐(0) 编辑
rm 命令
摘要:rm命令。rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm*-...
阅读全文
posted @
2015-12-07 22:07
duanxz
阅读(371)
推荐(0) 编辑
touch 命令
摘要:linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件。1.命令格式:touch[选项]...文件...2.命令参数:-a或--time=atime或--time=access或--time=use 只更改存取时间。-c或--no-crea...
阅读全文
posted @
2015-12-07 22:00
duanxz
阅读(3329)
推荐(0) 编辑
mkdir命令
摘要:linuxmkdir命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。1.命令格式:mkdir[选项]目录...2.命令功能:通过mkdir命令可以实现在指定位置创建以DirName(指定的文件名)命名的文件夹或目录。要创建文件夹或目...
阅读全文
posted @
2015-12-07 21:56
duanxz
阅读(479)
推荐(0) 编辑
cd命令
摘要:Linuxcd命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用cd命令上的。所以,学习Linux常用命令,首先就要学好cd命令的使用方法技巧。 1.命令格式:cd[目录名] 2.命令功能:切换当前目录至dirName 3.常用范例3.1例一:进入系统根目录命令...
阅读全文
posted @
2015-12-07 21:51
duanxz
阅读(489)
推荐(0) 编辑
cp命令
摘要:功能: 复制文件或目录说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息参数: -a 或 --archive 此参数的效
阅读全文
posted @
2015-12-07 21:43
duanxz
阅读(452)
推荐(0) 编辑
网络监控之一:netstat命令 linux和window上使用介绍
摘要:netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。 如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪
阅读全文
posted @
2015-12-07 17:00
duanxz
阅读(2276)
推荐(0) 编辑
echo命令
摘要:linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。该命令的一般格式为: echo [ -n ] 字符串其中选项n表示输出文字后不换行;字符串能加...
阅读全文
posted @
2015-12-07 16:42
duanxz
阅读(1964)
推荐(0) 编辑
df 命令-显示目前磁盘剩余的磁盘空间
摘要:linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 1.命令格式: df [选项] [文件] 2.命令功能: 显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被
阅读全文
posted @
2015-12-07 16:41
duanxz
阅读(5742)
推荐(0) 编辑
du 命令 -目前的目录所占的磁盘空间
摘要:Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. 1.命令格式: du [选项][文件] 2.命令功能: 显示每个文件和目录的磁盘使用空间。 3.命令参数: -a或-all 显示目录中个别文件的大小。
阅读全文
posted @
2015-12-07 16:36
duanxz
阅读(1555)
推荐(0) 编辑
more命令
摘要:more命令,功能类似cat,cat命令是整个文件的内容从上到下显示在屏幕上。more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按b键就会往回(back)一页显示,而且还有搜寻字串的功能。more命令从前向后读取文件,因此在启动时就加载整个文件。1...
阅读全文
posted @
2015-12-07 16:24
duanxz
阅读(1507)
推荐(0) 编辑
cat命令详解
摘要:简略版:cat主要有三大功能:一次显示整个文件。$ catfilename从键盘创建一个文件。$ cat>filename 只能创建新文件,不能编辑已有文件.将几个文件合并为一个文件: $catfile1file2 > file参数:-n 或 --number 由 1 开始对所有输出的行数编号-b...
阅读全文
posted @
2015-12-07 16:22
duanxz
阅读(10296)
推荐(1) 编辑
linux tail 命令详解
摘要:linux ---tail命令tail命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail-ffilename会把filename里最尾部的内容显示在屏幕上,并且不断的刷新,使你看到最新的文件内容.1.命令格式;tail[必要参数][选择参数][文...
阅读全文
posted @
2015-12-07 15:36
duanxz
阅读(1044)
推荐(0) 编辑
常见hash算法的原理
摘要:散列表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙。 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映
阅读全文
posted @
2015-12-07 15:31
duanxz
阅读(20771)
推荐(0) 编辑
linux grep命令
摘要:1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。2.格式grep [options]3.主要参数[optio...
阅读全文
posted @
2015-12-07 15:24
duanxz
阅读(336)
推荐(0) 编辑
ps命令,性能监控,grep命令
摘要:Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前
阅读全文
posted @
2015-12-07 14:52
duanxz
阅读(1748)
推荐(0) 编辑
HashSet中是如何判断元素是否重复的
摘要:HashSet不能添加重复的元素,当调用add(Object)方法时候,首先会调用Object的hashCode方法判hashCode是否已经存在,如不存在则直接插入元素;如果已存在则调用Object对象的equals方法判断是否返回true,如果为true则说明元素已经存在,如为false则插入元...
阅读全文
posted @
2015-12-04 20:52
duanxz
阅读(10282)
推荐(0) 编辑
RocketMQ之六:RocketMQ消息存储
摘要:一、RocketMQ的消息存储基本介绍 先看一张图: 1、Commit log存储消息实体。顺序写,随机读。2、Message queue存储消息的偏移量。读消息先读message queue,根据偏移量到commit log读消息本身。3、索引队列用来存储消息的索引key使用mmap方式减少内存拷
阅读全文
posted @
2015-12-04 20:45
duanxz
阅读(12426)
推荐(5) 编辑
java程序怎么在一个电脑上只启动一次,只开一个进程
摘要:目录 《linux文件锁flock》 《NIO文件锁FileLock》 《java程序怎么在一个电脑上只启动一次,只开一个进程》 方案1: 单进程程序可以用端口绑定。程序启动的时候可以尝试看该端口是否已经被占用,如果占用则程序已经启动。 方案2:你可以在java程序中创建一个隐藏文件,程序退出的时候
阅读全文
posted @
2015-12-04 15:46
duanxz
阅读(2285)
推荐(0) 编辑
RocketMQ之七:RocketMQ管理与监控
摘要:前言 首先提出我们的监控诉求,出现如下情况时,希望能够及时接收到系统告警通知: RocketMQ 服务宕机 RocketMQ 消费者下线 RocketMQ 消息出现长时间或者大量堆积 本文将通过修改 rocketmq-console源码的方式,增加RocketMQ 消费者下线 和RocketMQ 消
阅读全文
posted @
2015-12-03 23:17
duanxz
阅读(15100)
推荐(2) 编辑
信息过滤与反垃圾
摘要:常见的信息过滤与反垃圾手段有以下几种: 文本匹配 正则表达式:主要解决敏感词过滤的问题,一般使用正则表达式匹配。但正则表达式的效率一般较差。 Trie算法:当并发量较高时,就需要更合适的方法,一般是Trie树的变种,空间和时间复杂度都比较好的有双数组Trie算法等。 Trie算法的本质是确定一个有限
阅读全文
posted @
2015-12-03 22:53
duanxz
阅读(1214)
推荐(0) 编辑
泛型的基本介绍和使用
摘要:在开始深入学习java的泛型了,以前一直只是在集合中简单的使用泛型,根本就不明白泛型的原理和作用。泛型在java中,是一个十分重要的特性,所以要好好的研究下。 泛型思想早在C++语言的模板(Templates)中就开始生根发芽,在Java语言处于还没有出现泛型的版本时,只能通过Object是所有类型
阅读全文
posted @
2015-12-03 22:19
duanxz
阅读(3332)
推荐(0) 编辑
自己写的基于java Annotation(注解)的数据校验框架
摘要:JavaEE6中提供了基于java Annotation(注解)的Bean校验框架,Hibernate也有类似的基于Annotation的数据校验功能,我在工作中,产品也经常需要使 用数据校验,为了方便和重用,自己写了一个简单的基于Annotation的校验框架。有兴趣的可以扩展。 框架说明: An
阅读全文
posted @
2015-12-03 22:05
duanxz
阅读(2726)
推荐(0) 编辑
JSR-303规范,Bean Validation
摘要:一:JSR 303是JAVA EE 6中的一项子规范,叫做Bean Validation,官方参考实现是Hibernate Validator,此实现与Hibernate ORM没有任何关系。JSR 303用于对Java Bean中的字段的值进行验证。本教程翻译自Hibernate Validato...
阅读全文
posted @
2015-12-03 21:55
duanxz
阅读(1524)
推荐(0) 编辑
Hibernate Validator
摘要:摘要:在项目的业务属性中,你是不是要经常验证属性的取值范围呢. 想要了解比较优美的解决方案吗? 看看Hibernate Validator 是怎么做的吧.一见到她,相信你就会说: Oh God, 这就是我需要的.作者:icess(作者的blog:http://blog.matrix.org.cn/p...
阅读全文
posted @
2015-12-03 21:54
duanxz
阅读(3342)
推荐(2) 编辑
RocketMQ之八:重试队列,死信队列,消息轨迹
摘要:问题思考 死信队列的应用场景? 死信队列中的数据是如何产生的? 如何查看死信队列中的数据? 死信队列的读写权限? 死信队列如何消费? 重试队列和死信队列的配置 消息轨迹 1、应用场景 一般应用在当正常业务处理时出现异常时,将消息拒绝则会进入到死信队列中,有助于统计异常数据并做后续的数据修复处理; 2
阅读全文
posted @
2015-12-03 21:54
duanxz
阅读(9101)
推荐(3) 编辑
使用hibernate validator出现
摘要:1.javax.validation.UnexpectedTypeException: No validator could be found for type: java.lang.Integer @NotNull 和 @NotEmpty 和@NotBlank 区别@NotEmpty 用在集合类上...
阅读全文
posted @
2015-12-03 21:51
duanxz
阅读(549)
推荐(0) 编辑
Hibernate Validator--创建自己的约束规则
摘要:尽管Bean Validation API定义了一大堆标准的约束条件, 但是肯定还是有这些约束不能满足我们需求的时候, 在这种情况下, 你可以根据你的特定的校验需求来创建自己的约束条件.3.1.创建一个简单的约束条件按照以下三个步骤来创建一个自定义的约束条件创建约束标注实现一个验证器定义默认的验证错...
阅读全文
posted @
2015-12-03 21:32
duanxz
阅读(2980)
推荐(0) 编辑
Java应用中使用ShutdownHook友好地清理现场、退出JVM的2种方法
摘要:这个方法的含义说明: 这个方法的意思就是在jvm中增加一个关闭的钩子,当jvm关闭的时候,会执行系统中已经设置的所有通过方法addShutdownHook添加的钩子,当系统执行完这些钩子后,jvm才会关闭。所以这些钩子可以在jvm关闭的时候进行内存清理、对象销毁等操作。 一、编写个测试类 publi
阅读全文
posted @
2015-12-02 23:45
duanxz
阅读(1159)
推荐(0) 编辑
笔者带你剖析轻量级Sharding中间件——Kratos1.x
摘要:之所以编写Kratos其实存在一个小插曲,当笔者满山遍野寻找成熟、稳定、高性能的Sharding中间件时,确实是翻山越岭,只不过始终没有找到一款合适笔者项目场景的中间件产品。依稀记得当年第一款使用的Sharding中间件就是淘宝的TDDL3.0,只可惜现在拿不到源码。而其它的中间件,大多都是基于Pr...
阅读全文
posted @
2015-12-02 23:23
duanxz
阅读(1636)
推荐(0) 编辑
java List.subList方法中的超级大陷阱
摘要:ArrayList 中 subList 的基本用法: subList(fromIndex:int,toIndex:int):List<E> 返回从fromIndex到toindex-1 的 子列表 在使用集合中,可能常常需要取集合中的某一部分子集来进行一下操作,于是subList这个方法就映入我们的
阅读全文
posted @
2015-12-02 16:58
duanxz
阅读(6355)
推荐(2) 编辑
MyBatis动态传入表名,字段名参数的解决办法---statementType用法
摘要:statementType="STATEMENT" 要实现动态传入表名、列名,需要做如下修改 添加属性statementType="STATEMENT" 同时sql里的属有变量取值都改成${xxxx},而不是#{xxx} 1. statementType:STATEMENT(非预编译),PREPAR
阅读全文
posted @
2015-12-02 16:10
duanxz
阅读(2003)
推荐(0) 编辑
lvs+keepalived和haproxy+heartbeat区别
摘要:最近一直在看一些高可用性的负载均衡方案,当然那些f5之类的硬件设备是玩不起也接触不到了。只能看这些for free的开源方案。目前使用比较多的就是标题中提到的这两者,其实lvs和haproxy都是实现的负载均衡的作用,keepalived和heartbeat都是提高高可用性的,避免单点故障。那么他们...
阅读全文
posted @
2015-12-01 23:30
duanxz
阅读(821)
推荐(0) 编辑
Nginx/LVS/HAProxy负载均衡软件的优缺点详解
摘要:PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下。 一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术。具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于100
阅读全文
posted @
2015-12-01 23:28
duanxz
阅读(316)
推荐(0) 编辑
lvs、haproxy、nginx 负载均衡的比较分析
摘要:对软件实现负载均衡的几个软件,小D详细看了一下,从性能和稳定上还是LVS最牛,基本达到了F5硬件设备的60%性能,其他几个10%都有点困难。 不过就因为LVS忒牛了,配置也最麻烦了,而且健康检测需要另外配置Ldirector,其他HAPROXY和NGINX自己就用,而且配置超级简单。 所以小D建议,
阅读全文
posted @
2015-12-01 23:23
duanxz
阅读(539)
推荐(0) 编辑
Linux keepalived与lvs的深入分析
摘要:一)概述 在本篇文章里,我们会涉及两部份内容,一个是LVS,另一个则是keepalived. 即我们用LVS和keepalived实现了负载均衡及高可用的服务器. LVS有实现三种IP负载均衡技术和八种连接调度算法.并且LVS集群采用三层结构,即负载调度器,服务器池,共享存储. 1)负载调度器 负载
阅读全文
posted @
2015-12-01 23:16
duanxz
阅读(4065)
推荐(0) 编辑
haproxy+keepalived实现高可用负载均衡
摘要:软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现。LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载。HAProxy相比LVS的使用要简单很多,功能方面也很丰富。当 前,HAProxy支持两种主要的代理模式:...
阅读全文
posted @
2015-12-01 23:05
duanxz
阅读(435)
推荐(0) 编辑
LVS实战1
摘要:(一)、NAT模式:NAT模型:地址转换类型,主要是做地址转换,类似于iptables的DNAT类型,它通过多目标地址转换,来实现负载均衡;特点和要求: 1、LVS(Director)上面需要双网卡:DIP(内网)和VIP(外网) 2、内网的Real Server主机的IP必须和DIP在同一个网络中
阅读全文
posted @
2015-12-01 23:00
duanxz
阅读(417)
推荐(0) 编辑
Linux负载均衡软件之LVS
摘要:一、 LVS简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是linuxvirtualserver.org">www.linuxvirtualserver.org。现在LVS已经是 Linux标准内核的一部
阅读全文
posted @
2015-12-01 22:54
duanxz
阅读(571)
推荐(0) 编辑
linux下如何设置vip(虚拟ip)
摘要:在做HA的时候需要为服务器设计虚拟IP,也就是一个主机对应多个IP地址?刚听起来好神奇,原来这样也是可能的看了下面的这个链接 自己配了一下http://hi.baidu.com/pbottle/item/7175d29702a0a0bd83d29533在eth0处引用别名,设置完子网掩码即可ifco
阅读全文
posted @
2015-12-01 22:47
duanxz
阅读(16553)
推荐(0) 编辑