`
文章列表
   CPU与IO设备间数据传输主要有四种方式: 查询控制方式: CPU通过程序主动读取状态寄存器以了解接口情况,并完成相应的数据操作。查询操作需要在时钟周期较少的间隔内重复进行,因而CPU效率低。 中断控制方式: 当程序常规运行中,若外部有优先级更高的事件出现,则通过中断请求通知CPU,CPU再读取状态寄存器确定事件的种类,以便执行不同的分支处理。这种方式CPU效率高且实时性好。 DMA(Direct Memory Access)控制方式: 顾名思义,直接内存存取即数据传送的具体过程直接由硬件(DMA控制器)在内存和IO之间完成,CPU只在开始时将控制权暂 ...
1.git配置方法     git config --list  查看git的配置信息     git config --global user.name “name"     git config --global alias.co checkout  简写命令,–global是全局参数,指在当前用户的所有git仓库都适用 2.git文件状态     unstaged-仓库无此文件记录     modified-文件处于修改状态     staged-被暂时保存     commited-被提交到仓库
1、安装brew ,官网http://brew.sh, (1)粘贴脚本 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"  安装brew 成功,测试 brew --version   2、安装wget brew install wget   3、测试   wget www.baidu.com  
nginx的upstream目前支持4种方式的分配: 1、轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2、weight指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情 ...
在项目发布的时候,一般都需要进行依赖冲突检查或者重复类的检查,这个时候我一般会使用下面的两个命令:  
MSM--memcached session manager是一个高可用的Tomcat session共享解决方案,除了可以从本机内存快速读取Session信息(仅针对黏性Session)外,同时可使用memcached存取Session,以实现高可用。 对于非黏性Session,memcached直接存储session。 除memcached外,还可以其他缓存组件如memcachedb, membase等。  特性   支持Tomcat6、Tomcat7  支持黏性、非黏性Session    无单一故障点          可处理tomcat故障转移          可处 ...
Thrift调用过程中,Thrift客户端和服务器之间主要用到传输层类、协议层类和处理类三个主要的核心类,这三个类的相互协作共同完成rpc的整个调用过程。在调用过程中将按照以下顺序进行协同工作:         (1)     将客户端程序调用的函数名和参数传递给协议层(TProtocol),协议层将函数名和参数按照协议格式进行封装,然后封装的结果交给下层的传输层。此处需要注意:要与Thrift服务器程序所使用的协议类型一样,否则Thrift服务器程序便无法在其协议层进行数据解析;         (2)     传输层(TTransport)将协议层传递过来的数据进行处理,例如传输层的 ...
1. @Autowired @Autowired是根据类型进行自动装配的。如果当Spring上下文中存在不止一个UserDao类型的bean,或者不存在UserDao类型的bean,会抛出 BeanCreationException异常,这时可以通过在该属性上再加一个@Qualifier注解来声明唯一的id解决问题。   2. @Qualifier 当spring中存在至少一个匹配的bean时,通过 @Qualifier("XXX") 注释指定注入 Bean 的名称,这样歧义就消除了。 所以 @Autowired 和 @Qualifier 结合使用时,自动注入的 ...
1.grep 相信这个命令可以说是大家最常用的命令之一了。尤其是查询生产环境的日志,这个命令绝对是必不可少的。 但之前总是习惯于使用 (grep -n 关键字 文件名 )查出关键字以及该关键字所在的行数,然后再用 (sed -n  '100,200p' 文件名),去查出该关键字之后的日志内容。 但其实还有更简便的办法,就是用(grep  -B n、-A n、-C n 关键字 文件名)即可查出关键字以及关键字上、下、上下的n行日志。 2. free free -b                 以Byte为单位显示内存使用情况。 free -k                 以 ...
组合优先于继承 Java的匿名类,就是提供了一个快捷方便的手段,令继承关系可以方便地变成组合关系 继承只有一个时候才能用,当你要求子类的实例可以替代父类实例的位置时才可以用继承。   在Java中内部类主要分为成员内部类、局部内部类、匿名内部类、静态内部类。 内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类如同一个人是由大脑、肢体、器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液、跳动)显然,此处不能单方面用属性或者方法表示一个心脏,而需要一个类而心脏又在人体当中,正如同是内部类在外部内当中. 内部类是一个编译时的概念,一 ...
1.JMS介绍      JMS源于企业应用对于消息中间件的需求,使应用程序可以通过消息进行异步处理而互不影响。Sun公司和它的合作伙伴设计的JMS API定义了一组公共的应用程序接口和相应语法,使得Java程序能够和其他消息组件进行 ...
ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。 值得注意的是,ZK并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性,利用其提供的一系列API接口(或者称为原语集),摸索出来的典型使用方法。因此,也非常欢迎读者分享你在ZK使用上的奇技淫巧。 ZooKeeper典型应用场景一览 数据发布与订阅(配 ...
Tomcat的组成部分 1、server A Server element represents the entire Catalina servlet container. (Singleton) 2、service service包括多个connector以及一个engine,其职责为处理由connector获得的客户请求。   3、connector 一个connector在某个制定的端口上监听来自客户的请求,将得到的请求交给engine进行处理,并从engine处获得响应,进而返回给用户。
编辑 Add Tools   jdk线程池   一、引言 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。   二、线程池使用 线程池 ThreadPoolExecutor(int corePoolSize,                               int maximumPoolSize,             ...
基础 在Java中,所有实例域(成员变量/成员方法)、静态域和数组元素存储在堆内存中,堆内存在线程之间共享,会存在内存可见性问题,受内存模型影响 Java内存模型的主要目标是定义程序中堆内存变量的访问规则,线程之 ...
Global site tag (gtag.js) - Google Analytics