6 想家的娃

尚未进行身份认证

不急不慌,不毛不躁;直面人生,永不言败。

等级
TA的排名 7w+

实现生成代理类的原理

动态代理类(以下简称为代理类)是一个实现在创建类时在运行时指定的接口列表的类,该类具有下面描述的行为。代理接口是代理类实现的一个接口。代理实例是代理类的一个实例。每个代理实例都有一个关联的调用处理程序对象,它可以实现接口InvocationHandler。通过其中一个代理接口的代理实例上的方法调用将被指派到实例的调用处理程序的Invoke方法,并传递代理实例、识别调用方法

2017-03-18 16:54:33

JVM深入学习-Java代码执行篇二-[装载Class ]

qqq

2016-09-26 18:56:07

Spring的Dao Service采用单例模式+ThreadLoca模式实现线程安全

在使用Spring时,很多人可能对Spring中为什么DAO和Service对象采用单实例方式很迷惑,这些读者是这么认为的:  DAO对象必须包含一个数据库的连接Connection,而这个Connection不是线程安全的,所以每个DAO都要包含一个不同的Connection对象实例,这样一来DAO对象就不能是单实例的了。  上述观点对了一半。对的是“每个DAO都要包含一

2016-08-05 10:42:41

Java NIO原理图文分析及代码实现

前言: 最近在分析hadoop的RPC(RemoteProcedureCallProtocol,远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。可以参考:http://baike.baidu.com/view/32726.htm )机制时,发现hadoop的RPC机制的实现主要用到了两个技术:动态代理(动态代理可以参考博客:http:/

2016-08-05 00:07:16

Java版的各种Thrift server实现的比较

转载请注明出处:http://www.codelast.com/本文是我对这篇文章的翻译:ThriftJavaServersCompared,为了便于阅读,我将原文附于此处,翻译穿插在其中。此外,为了防止原链接在未来某一天失效后,文中的图片再也看不到的问题,我将原文中的图片也保存到了本站的服务器上,我不知道github或原作者是否允许这样做,但我翻译本文仅在于传播知识的目的,在此

2016-08-01 16:40:44

Redis配置文件redis.conf 详解

1.基本配置内存单位的表示#1k=>1000bytes#1kb=>1024bytes#1m=>1000000bytes#1mb=>1024*1024bytes#1g=>1000000000bytes#1gb=>1024*1024*1024bytes单位中不区分大小写1GB1Gb1gB是一样的后台

2016-07-25 14:40:00

Redis集群主备模式部署

网上有很多用Ruby安装Redis-cluster的文章,但是在实际环境下不想安装Ruby,所以本文主要介绍了用Redis命令部署Redis集群,并且为集群中每一个master实例增加一个slave实例。0编译安装$wgethttp://download.redis.io/releases/redis-3.0.3.tar.gz$tarxzvfredis-3.0.3.t

2016-07-25 11:21:29

jedis针对三种redis工作模式的连接方式

这里说的三种工作模式是指:    1、单机模式    2、分片模式    3、集群模式(since3.0)说明图详见以下:使用jedis连接模式一:  //初始化连接private Jedis jedis=new Jedis("192.168.0.100", 6379);jedis.set("a","b");jedis.hmset(key, ha

2016-07-14 17:31:31

redis集群一致性哈希--哈希槽

Redis集群中内置了16384个哈希槽,当需要在Redis集群中放置一个key-value时,redis先对key使用crc16算法算出一个结果,然后把结果对16384求余数,这样每个key都会对应一个编号在0-16383之间的哈希槽,redis会根据节点数量大致均等的将哈希槽映射到不同的节点。Redis集群没

2016-07-14 15:02:08

由浅入深了解Thrift(一)——Thrift介绍与用法

相关示例代码见:http://download.csdn.net/detail/hjx_1000/8374829一、  Thrift简单介绍1.1、 Thrift是什么?能做什么?Thrift是Facebook于2007年开发的跨语言的rpc服框架,提供多语言的编译功能,并提供多种服务器工作模式;用户通过Thrift的IDL(接口定义语言)来描述接口函数及数据类型,然

2016-07-14 11:33:49

由浅入深了解Thrift(二)——Thrift工作原理

相关示例代码见:http://download.csdn.net/detail/hjx_1000/8374829三、  Thrift的工作原理1.普通的本地函数调用过程例如,有如下关于本地函数的调用的Java代码,在函数caller中调用函数getStr获取两个字符串的拼接结果:代码3.1    本地函数调用调用方和被调用方都在

2016-07-14 11:31:17

由浅入深了解Thrift(三)——Thrift server端的几种工作模式分析

相关示例代码见:http://download.csdn.net/detail/hjx_1000/8374829五、  Thrift服务器端几种工作模式分析与总结Thrift为服务器端提供了多种工作模式,本文中将涉及以下5中工作模式:TSimpleServer、TNonblockingServer、THsHaServer、TThreadPoolServer、TThreadedS

2016-07-14 11:29:33

Thrift框架服务端并发处理模式的java示例

项目因为需要对外提供不同语言的接口,所以我们采用了高效、跨语言的RPC框架Thrift。因为用的爽!顺理成章继续沿用,但是这次并不是屡试不爽。项目的Thrift服务端没办法并发请求处理,一直都单线程的将非阻塞的客服端请求onebyone的处理,如果请求处理时间长的话,就会出现请求高延时的情况。sobad!不过XXX,终于XXX!以下就是我学习ThriftAPI之后找到的解决方案示例。

2016-07-14 10:51:44

thrift-client异步+server非阻塞

1.thrift下载安装:官网:http://thrift.apache.org/上面会最新版的安装下载javamavendependency: org.apache.thrift libthrift 0.9.1 libthrift的源码下载:git://anonscm.debian.org/users/eevan

2016-07-14 10:27:53

利用thrift实现一个非阻塞带有回调机制的客户端

客户端有时需要非阻塞的去发送请求,给定服务端一个请求,要求其返回一个计算结果。但是客户端不想等待服务端处理完,而是想发送完这个指令后自己去做其他事情,当结果返回时自动的去处理。  比如举个形象点的例子:饭店的Boss让小弟A把本周店里的欠条收集起来放到自己桌子上,然后又告诉自己的小秘书坐在自己办公室等着小弟A把欠条拿过来,然后统计一下一共有多少,然后Boss自己出去半点事儿。  Boss相

2016-07-14 09:07:48

JEE框架Spring详细简介

1、使用框架的意义与Spring的主要内容      随着软件结构的日益庞大,软件模块化趋势出现,软件开发也需要多人合作,随即分工出现。如何划分模块,如何定义接口方便分工成为软件工程设计中越来越关注的问题。良好的模块化的具有以下优势:可扩展、易验证、易维护、易分工、易理解、代码复用。     优良的模块设计往往遵守“低耦合高内聚”的原则。而“框架”是对开发中良好设计的总结,

2016-07-12 17:43:59

同步,异步和阻塞,非阻塞

同步/异步首先来解释同步和异步的概念,这两个概念与消息的通知机制有关.举个例子,比如我去银行办理业务,可以自己去排队办理,也可以叫人代办,等他帮忙处理完了直接给我结果,对于要办理这个银行业务的人而言,自己去办理是同步方式,而别人代办完毕则是异步方式.区别在于,同步的方式下,操作者主动完成了这件事情.异步方式下,调用指令发出之后,操作马上就返回了,操作者并不能马上就知道结果了,而是等待所调用

2016-07-12 16:25:53

Java中的并发库学习总结

我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便。而当针对高质量Java多线程并发程序设计时,为防止死锁等现象的出现,比如使用java之前的wait()、notify()和synchronized等,每每需要考虑性能、死锁、公平性、资源管理以及如何避免线程安全性方面带来的

2016-07-12 16:13:02

NIO(二)

Channel通道Buffer缓冲区Selector选择器其中Channel对应以前的流,Buffer不是什么新东西,Selector是因为nio可以使用同步的非堵塞模式才加入的东西。以前的流总是堵塞的,一个线程只要对它进行操作,其它操作就会被堵塞,也就相当于水管没有阀门,你伸手接水的时候,不管水到了没有,你就都只能耗在接水(流)上。nio的Chann

2016-07-12 15:47:42

NIO(一)

JavaNIO提供了与标准IO不同的IO工作方式: ChannelsandBuffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。AsynchronousIO(异步IO):JavaNIO可以让你异步的使用IO,例如:当线程从通道读取数据

2016-07-12 15:45:21

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!