自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (5)
  • 收藏
  • 关注

thrift-client/asynclient

thrift-client/asynclient

2013-10-20 14:02:38 132

thift-tprocessor

thift 服务端模型之TThreadedSelectorServer分析-tprocessor

2013-10-20 13:48:08 129

thift-tropocol层

asdf 

2013-10-20 13:47:33 133

thift-transport层

TTransport=>TIOStreamTransport=>TSocket重要参数设置: socket_.setSoLinger(false, 0);socket_.setTcpNoDelay(true);socket_.setSoTimeout(timeout_);//客户端读取超时时间socket_.connect(new InetSocketAdd...

2013-10-20 13:46:37 139

thift 服务端模型之TThreadedSelectorServer分析-server层

线程模型: 参数: public static class Args extends AbstractNonblockingServerArgs<Args> { //selector线程数 selector线程负责1.事件注册 2.读写IO轮询 3.将数据读取或者写入到transport public int selectorThreads = 2;...

2013-10-20 12:50:26 471

maven学习

1.使用archetype生成简单项目架子 mvn archetype:create -DgroupId=com.fs -DartifactId=test -DpackageName=com.fs.wwy -Dversion=1.0.02.mvn install3.运行 java -cp target/test-1.0-SNAPSHOT.jar com.fs.wwy.tes...

2013-10-13 21:40:17 81

原创 java 日志发展

日志使用http://www.iteye.com/topic/378077补充 如何定义日志句柄:private static Logger logger = LoggerFactory.getLogger("cons");private static Logger logger = LoggerFactory.getLogger("file"); log4j.propert...

2013-10-13 21:32:45 79

NIO 终结者

传统IO请求等待主要在1.等待数据就绪 2.将数据从内核缓冲区到用户进程缓冲区互相拷贝过程 传统一连接一线程 请求多的时候服务端需要开辟很多线程消耗资源 最主要的这些消耗并不是都消耗在业务逻辑的执行上面 好多在io等待上面 (通过visualvm监控服务后台可以看出很多都是wait状态) 这个等待的过程是阻塞的,直到完成为止。那么是不是可以将这些等待利用起来 让一个线程去等呢?如果...

2013-09-30 16:03:15 89

原创 NIO+reactor模式的网络服务器设计方案

1、前言 在前一篇文章中,介绍了基于 BlockingIO +thread-per-connection 的方案,由于该方案为每一个连接分配一个线程,而线程里的大部分操作都是阻塞式的,所以在高并发的情况下,会导致产生大量的线程,线程间的上下文切换会浪费大量的 CPU 时间,而且每个线程是需要占用堆栈空间的,所以服务器能分配的线程数量也是有限的,当客户端的并发访问量达到一定的数量...

2013-09-30 13:55:13 87

文本和二进制

摘自Serv-U网站:When using ASCII mode, files are actually changed, depending on the server. ASCII mode is used to translate ASCII text files between the server and client. For example when uploading to a...

2013-09-02 16:39:28 83

新浪微博授权过程

[b]1.你的网站首先要去新浪去认证审核,这样对应新浪微博开发平台来说你是合法的,认证后你会得到client_ID,client_SERCRET这两个东西2.如果用户登录你的网站 你需要引导用户去https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YO...

2013-08-18 22:00:33 91

jdk代理,cgib代理和spring后处理bean的关系

最近项目中使用InstantiationAwareBeanPostProcessorAdapter后处理bean的方式发布springbean到osgi容器,但是这里有个方法@Overridepublic Object postProcessAfterInitialization(Object bean, String beanName)第一个参数是Object这个参数可能是目...

2013-08-18 14:11:54 126

基于事件的 NIO 多线程服务器 附件为高性能网络通讯

基于事件的 NIO 多线程服务器 简介: JDK1.4 提供的无阻塞 I/O(NIO)有效解决了多线程服务器存在的线程开销问题,但在使用上略显得复杂一些。许多基于 NIO 的多线程服务器程序往往直接基于选择器(Selector)的 Reactor 模式实现。这种简单的事件机制对于较复杂的服务器应用,显然缺乏扩展性和可维护性, 而且缺乏直观清晰的结构层次。本文将通过一个...

2013-07-28 14:53:31 79

原创 压力测试

压力测试条件1.并发用户数2.总请求数(也有按照连续请求时间)3.请求资源描述(一个简单查询,复杂业务操作等) 最大并发数:服务器和用户双方的最大收益,服务器需要支持高并发数和及高吞吐率,用户需要较少的时间得到响应。 文件描述符:标明每一个被进程所打开的文件和socket数目ulimit -n //获取1024ulimit - n 2048 //设置 ...

2013-07-28 14:02:03 117

原创 dbcp&commons-pool

DBCP主要是为jdbc提供连接池服务。 2.实现2.1 Jakarta Commons PoolDBCP利用了Jakarta Commons Pool来实现连接池管理。下面回顾一下Commons Pool的基本概念PoolableObjectFactory: 用于管理被池化的对象的产生、激活、挂起、校验和销毁; ObjectPool:  用于管理要被池化的对象的借出和归还...

2013-07-25 15:31:00 157

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

Thrift Java Servers ComparedThis article talks only about Java servers. See this page if you are interested in C++ servers.本文仅讨论Java版的Thrift server.如果你对C++版的感兴趣,请参考 这个 页面。Thrift is a cross-language s...

2013-07-14 08:53:42 78

原创 IO - 同步,异步,阻塞,非阻塞 转

当你发现自己最受欢迎的一篇blog其实大错特错时,这绝对不是一件让人愉悦的事。《 IO - 同步,异步,阻塞,非阻塞 》是我在开始学习epoll和libevent的时候写的,主要的思路来自于文中的那篇link 。写完之后发现很多人都很喜欢,我还是非常开心的,也说明这个问题确实困扰了很多人。随着学习的深入,渐渐的感觉原来的理解有些偏差,但是还是没引起自己的重视,觉着都是一些小错误,无伤大雅。直到有...

2013-07-11 20:45:50 66

原创 项目管理

-------------------------------------------------- 风险 概率 影响 -------------------------------------------------- 规模估计过低 60% 严重的 交付期限太紧张 50% 严重的 用户需求变化频繁 75% 严重的 技术达不到预期效果 30% 轻微的 质量保证体系的措施实施不利 60% 严重的...

2013-06-13 11:00:28 91

原创 java 进阶技术方向的好书

1.java分布式应用基础和实践       http://www.blogjava.net/bluedavy/ 牛逼的技术博客 2. 深入理解 Java 虚拟机 (JVM 高级特性与最佳实践)3.构建高性能web站点4.spring3.x企业级开发 很基础5.how tomcat work中文 早期tomcat代码  并发  设计模式 基本都有很好的应用 比看书效果好很多...

2013-06-11 11:51:56 119

原创 《JAVA与模式》之责任链模式

转:http://www.cnblogs.com/java-my-life/archive/2012/05/28/2516865.html 《JAVA与模式》之责任链模式在阎宏博士的《JAVA与模式》一书中开头是这样描述责任链(Chain of Responsibility)模式的:  责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起...

2013-06-06 11:11:28 73

观察者模式

Observer模式的意图是“定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新”。GoF  demo使用jdk自带的实现: public class MailObserver implements Observer{      public void update(Observable o, Object arg) {  ...

2013-06-06 10:53:12 80

原创 Oracle 索引 详解(转)

一.索引介绍 1.1 索引的创建语法: CREATE UNIUQE | BITMAP INDEX <schema>.<index_name>      ON <schema>.<table_name>           (<column_name> | <expression> ASC | DESC,   ...

2013-06-01 13:08:24 75

原创 一分钟解决Oracle死锁

 --第一步:查看是否有死锁存在,查出有数据则代表有死锁   select p.spid,c.object_name,b.session_id,b.oracle_username,b.os_user_name  from v$process p,v$session a,v$locked_object b,all_objects   c   where  p.addr=a.p...

2013-06-01 13:03:17 94

原创 application/x-www-form-urlencoded和multipart/form-data

关于application/x-www-form-urlencoded等字符编码的解释说明 在Form元素的语法中,EncType表明提交数据的格式 用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型。 下边是说明: application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。这是标准的编码格式。 multipart/form-dat...

2013-05-31 22:06:51 542

原创 HashMap&ConcurrentHashMap 深度分析(转)

java.util.HashMap是很常见的类,前段时间公司系统由于对HashMap使用不当,导致cpu百分之百,在并发环境下使用HashMap 而没有做同步,可能会引起死循环,关于这一点,sun的官方网站上已有阐述,这并非是bug。HashMap的数据结构         HashMap主要是用数组来存储数据的,我们都知道它会对key进行哈希运算,哈系运算会有重复的哈希值,对于哈希值的冲突,...

2013-05-31 20:45:27 56

原创 java中文乱码终结者(转)

转自:http://blog.csdn.net/kt400_hhx/article/details/1641586说明:本文为作者原创,作者联系地址为:josserchai@yahoo.com。由于Java编程中的中文问题是一个老生常谈的问题,在阅读了许多关于Java中文问题解决方法之后,结合作者的编程实践,我发现过去谈的许多方法都不能清晰地说明问题及解决问题,尤其是跨平台时的中文问题。于...

2013-05-31 19:04:19 92

原创 异步长连接 实现方案(转)

转自:http://blog.163.com/tsing_hua/blog/static/13962222420128195741354/由于Dubbo底层采用Socket进行通信,自己对通信理理论也不是很清楚,所以顺便把通信的知识也学习一下。n  通信理论计算机与外界的信息交换称为通信。基本的通信方法有并行通信和串行通信两种。1.一组信息(通常是字节)的各位数据被同时传送的通...

2013-05-30 22:16:39 905

注解横行的年代

@Component @Respository  dao层@Service         service层@Controller     controller层@Autowised     根据类型注入  如果加载set方法上面 那么参数会根据类型进行注入@Qualifer("XXXX")  Autowised  注入时候如果有多个对象 可以再加上@Qualifer("X...

2013-05-25 18:30:10 103

SPRING对DAO层的统一封装

1. 异常:spring对dao层进行了统一的封装 首先解决各个持久层jdbc,hibernate,jdo,ibatis等的异常处理的问题。所以spring提供了一套和技术实现无关的,面向DAO的运行时异常体系,并通过异常转换器转换为spring的异常。针对jdbc的异常SQLException 抛出的错误码和错误状态 SQLExceptionTranslator|SQLErrorco...

2013-05-22 17:43:57 396

原创 SPRING对动态代理的封装

spring aop是将系统中业务横切逻辑通过动态代理技术jdk动态代理或者cglib方式织入到指定类指定方法的指定位置上去。所以springaop其实就是对jdk动态代理和cglib字节码生成技术的一种封装。 连接点:针对一个方法  方法调用前 还是调用后 还是异常抛出后 。。切点:哪些类的哪些方法增强:横切逻辑切面:连接点+增强+切点如果需要spring生成代理...

2013-05-18 11:26:01 176

原创 双重检查锁定及单例模式

单例创建模式是一个通用的编程习语。和多线程一起使用时,必需使用某种类型的同步。在努力创建更有效的代码时,Java 程序员们创建了双重检查锁定习语,将其和单例创建模式一起使用,从而限制同步代码量。然而,由于一些不太常见的 Java 内存模型细节的原因,并不能保证这个双重检查锁定习语有效。它偶尔会失败,而不是总失败。此外,它失败的原因并不明显,还包含 Java 内存模型的一些隐秘细节。这些事实将导...

2013-05-15 10:39:50 75

原创 比“失败是成功之母”更有说服力的名言

失败意味着剥光所有无关紧要的东西。我失败后,不再假装我是某种其实我不是的人,而开始将我的精力投入于我真正在乎的工作。人生的谷底,变成我重建人生的坚实基石。所以不要畏惧失败;只要活着就必然要面对失败,除非你小心翼翼到仿佛一生都没有活过。如果这样,你的失败将来自于放弃生活。—JK·罗琳 一旦避免失败变成你做事的动机,你就走上了怠惰无力之路。   --石油大王 洛克菲勒  ...

2013-05-14 22:20:53 172

原创 ThreadLocal误用导致问题

 ThreadLocal为每一个线程维护变量的副本,如果不删除 下次请求还能访问到上一次的值。测试时候tomcat只有一个工作线程。 发送四次请求:获取到值:0 设置的值:1399605191 获取到值:1399605191 设置的值:-1861096812 获取到值:-1861096812 设置的值:598344505 获取到值...

2013-05-14 10:26:35 135

SPRING IOC

spring在java基础上封装了资源访问,简单易用。Resource接口 根据资源路径的不同提供了不同的实现类:ByteArrayResource :通过二进制数组构造ClassPathResource:类路径下的资源访问FileSystemResource:文件系统资源访问InputStreamResource:对应InputStream资源ServletConte...

2013-05-12 22:57:03 74

NoSuchMethodError

       NoSuchMethodError 字面意思没有找到类中的方法,但是一般在项目中都通过定位都能找到对应的方法。很难排查出问题所在。但是这个问题确实是方法找不到抛出的。一般都是因为JVM全盘委托机制 类加载器加载了一个低版本的jar包,然后却使用了高版本jar包的方法,在程序允许的时候抛出了这样的异常。所以遇到这样的异常首先排查jar包是否冲突。 如果类路径比较多杂...

2013-05-12 21:23:27 110

原创 深入理解 Java 类加载器

类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java Applet 需要从远程下载 Java 类文件到浏览器中并执行。现在类加载器在 Web 容器和 OSGi 中得到了广泛的使用。一般来说,Java...

2013-05-12 21:09:48 60

原创 springmvc+spring+jdbc(纯净版整合)

 =============================dao===============================<!-- 扫描类包,将标注Spring注解的类自动转化Bean,同时完成Bean的注入 --><context:component-scan base-package="com.salmon.dao"/> <!-- 配...

2013-05-12 19:13:34 239

opensessioninviewfilter 获取和释放数据库连接时机

问题:    最近同事问我关于hibernate4 opensessioninviewfilter 的问题,具体是这样的  opensessioninviewfilter是一个请求到来绑定一个session到threadlocal ,这样能解决hibernate数据延迟加载导致提交后数据取不到的问题。 这个没有什么问题 ,但是session是什么时候获取jdbc connection 又是...

2013-05-09 22:37:28 138

原创 memcached

很棒啊

2011-08-26 15:30:10 58

原创 sqlserver中如何将一列数据拼接成一个字符串

我一个表A: Id numeric(18) Code varchar(10)id code   1 zhang1 yan2 zdw2 ydj得到以下的结果1 zhang,yan2 zdw,ydj  declare @T Table(Id numeric(18), Code varchar(10))insert into @T(id,code)select 1, 'zhang'un...

2011-08-24 17:16:55 345

JAVA并发编程实践

JAVA 并发 编程 实践 JAVA 并发 编程 实践

2013-07-14

JAVA并发编程实践(中文

JAVA并发编程实践 JAVA并发编程实践(中文 JAVA并发编程实践(中文 JAVA并发编程实践(中文

2013-06-22

空空如也

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

TA关注的人

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