冰河

代码的魔力

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

Spring AOP & AspectJ之原理探析

有人可能会问,Spring不是有自己原生的AOP组件吗,为什么还要引入AspectJ呢?同问,俄罗斯的军工那么牛逼,为什么普京还是要从法国订购西北风级两栖攻击舰呢?无他,自己的东西不争气,最好的选择就是:恶心自己,成全别人说起Spring原生的AOP组件,实在有点给Spring大家族丢人,因为使用...

2017-12-09 00:54:36

阅读数:591

评论数:0

Spring AOP & AspectJ之基础应用

1、概念解析AOP(Aspect OrientedProgramming),即面向切面编程,可以说是OOP(Object OrientedProgramming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。不过OOP允许开发者定义...

2017-12-09 00:09:47

阅读数:286

评论数:0

AQS深度剖析

1、引言在JDK1.5之前,一般是靠synchronized关键字来实现线程对共享变量的互斥访问。synchronized是在字节码上加指令,依赖于底层操作系统的Mutex Lock实现。而从JDK1.5以后java界的一位大神—— Doug Lea 开发了AbstractQueuedSynchr...

2017-07-11 15:36:33

阅读数:2119

评论数:1

CountDownLatch、CyclicBarrier & Semaphore

CountDownLatchCountDownLatch是在java1.5被引入的,跟它一起被引入的并发工具类还有CyclicBarrier、Semaphore、ConcurrentHashMap和BlockingQueue,它们都存在于java.util.concurrent包下。CountDo...

2017-06-28 23:17:08

阅读数:421

评论数:0

Fork/Join框架

1.1 核心思想Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架,其实现思想与MapReduce有异曲同工之妙。Fork就是把一个大任务切分为若干子任务并行的执行,Join就是合并这些子任务的执行...

2017-06-24 15:15:16

阅读数:450

评论数:0

Java 7语法新特性

1、switch 语句支持字符串switch语句是一种高效的多路语句,可以省掉很多繁杂的嵌套if判断,比如:public void printDay(int dayOfWeek) { switch (dayOfWeek) { case 0: Sys...

2017-05-16 11:02:40

阅读数:685

评论数:0

Linux的前世今生

2.1 操作系统计算机本质上是一堆半导体原件堆成的装置,没有程序控制的计算机约等于一堆废铁。在早期想要让计算机执行程序就得要参考一堆硬件功能函数,并且学习机器语言,其中有些是很多程序都会使用到的基本功能,比如让CPU执行判断逻辑与运算数值、让内存存取程序、让网卡传输数据、让打印机打印文件等,为了方...

2017-05-14 23:26:01

阅读数:844

评论数:0

CPU浅谈

1、指令系统1.1 x86架构要讲CPU,就必须先讲一下指令系统。指令系统指的是一个CPU所能够处理的全部指令的集合,是一个CPU的根本属性。我们现在所用的CPU绝大多数都采用x86架构,即采用了x86指令集的CPU。这是因为最早的那颗Intel发展出来的CPU代号称为8086,后来依此架构又开发...

2017-05-10 09:37:09

阅读数:913

评论数:0

Nginx之(四)工作原理

众所周知,nginx性能高,而nginx的高性能与其架构是分不开的4.1 进程模型Nginx在启动后,会有一个master进程和多个worker进程。master进程主要用来管理worker进程,包含:接收来自外界的信号,向各worker进程发送信号,监控worker进程的运行状态,当worker...

2017-01-15 14:48:23

阅读数:891

评论数:1

Nginx之(三)Nginx配置

一个简单的配置文件如下:#定义Nginx运行的用户及用户组 user userName userGroupName; #工作进程数目,根据硬件调整,通常等于CPU数量或者2倍于CPU worker_processes 1; #错误日志路径与级别,级别选项:debug|info|noti...

2016-12-24 13:34:04

阅读数:1094

评论数:0

Nginx之(二)Nginx安装

首先从官网上http://nginx.org/下载最新的stable version源码,当前最新版本为nginx-1.10.2.tar.gz。2.1 configure解压之后,会发现里面有一个名为“configure”的文件:configure本身是一个Shell脚本,中间会调用/auto/目...

2016-12-23 09:33:23

阅读数:823

评论数:0

Nginx之(一)Nginx是什么

Nginx("engine x")是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler使用。Nginx代码完全用C语言写成,其特点是占有内存少,并发...

2016-12-22 22:23:03

阅读数:3378

评论数:5

ZooKeeper之(六)应用实例

6.1 Java API客户端要连接 Zookeeper服务器可以通过创建 org.apache.zookeeper.ZooKeeper 的一个实例对象,然后调用这个类提供的接口来和服务器交互。ZooKeeper 主要是用来维护和监控一个目录节点树中存储的数据的状态,所有我们能够操作 ZooKee...

2016-11-06 12:07:41

阅读数:9545

评论数:2

ZooKeeper之(五)集群管理

在一台机器上运营一个ZooKeeper实例,称之为单机(Standalone)模式。单机模式有个致命的缺陷,一旦唯一的实例挂了,依赖ZooKeeper的应用全得完蛋。实际应用当中,一般都是采用集群模式来部署ZooKeeper,集群中的Server为奇数(2N+1)。只要集群中的多数(大于N+1台)...

2016-10-27 09:23:52

阅读数:1760

评论数:0

ZooKeeper之(四)配置与命令

4.1 配置文件ZooKeeper安装好之后,在安装目录的conf文件夹下可以找到一个名为“zoo_sample.cfg”的文件,是ZooKeeper配置文件的模板。ZooKeeper启动时,会默认加载“conf/zoo.cfg”作为配置文件,所以需要将“zoo_sample.cfg”复制一份,命...

2016-10-26 09:52:09

阅读数:2758

评论数:0

ZooKeeper之(三)工作原理

3.1 系统架构ZooKeeper集群是由多台机器组成的,每台机器都充当了特定的角色,各种角色在协作过程中履行自己的任务,从而对外提供稳定、可靠的服务。由上图可知,ZooKeeper集群由多台机器组成(这不废话吗),客户端的请求有可能被分配给任何一台机器来处理。考虑下面一个场景:客户端A问机器1,...

2016-10-25 09:49:03

阅读数:1556

评论数:5

ZooKeeper之(二)数据模型

ZooKeeper 会维护一个具有层次关系的数据结构,它非常类似于一个标准的文件系统:树形结构的每个节点都被称作为Znode。Zonde通过路径引用,如同Unix中的文件路径。路径必须是绝对的,因此他们必须由斜杠字符来开头。除此以外,它们必须是唯一的,也就是说每一个路径只有一个表示,因此这些路径不...

2016-10-24 09:32:07

阅读数:1417

评论数:0

ZooKeeper之(一)ZooKeeper是什么

1.1 产生背景当今是个分布式、集群、云计算等名词满天飞的时代。造成这种局面的一个重要因素就是,单一机器的处理能力已经不能满足我们的需求,不得不采用由多台机器组成的服务集群。服务集群对外提供服务的过程中,可以分解处理压力,在一定程度上打破性能瓶颈,并提高服务的可用性(不会因为一台机器宕机而造成服务...

2016-10-23 13:38:33

阅读数:2197

评论数:1

Redis之(七)主从同步与集群管理

8.1 主从同步原理像MySQL一样,Redis是支持主从同步的,而且也支持一主多从以及多级从结构。主从结构,一是为了纯粹的冗余备份,二是为了提升读性能,比如很消耗性能的SORT就可以由从服务器来承担。Redis的主从同步是异步进行的,这意味着主从同步不会影响主逻辑,也不会降低Redis的处理性能...

2016-10-18 23:57:09

阅读数:4923

评论数:1

Redis之(六)配置详解

进入Redis的安装包,里面的“Redis.conf”就是默认的配置文件,启动Redis Server的时候,可以指定加载某个路径下的配置文件“Redis-server [path of configuration file]”。默认的配置文件中,首先约定了存储单位:1k => 1000 b...

2016-10-15 09:10:34

阅读数:2736

评论数:0

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