当前搜索:

Netty高可靠性设计:优化建议

尽管Netty的可靠性已经做得非常出色,但是在生产实践中还是发现了一些待优化点,本小节将进行简单说明。希望后续的版本中可以解决,当然用户也可以根据自己的实际需要决定自行优化。 1  发送队列容量上限控制 Netty的NIO消息发送队列ChannelOutboundBuffer并没有容量上限控制,它会随着消息的积压自动扩展,直到达到0x7fffffff。 如果网络对方处理速度比较慢,...
阅读(1626) 评论(0)

Netty的并发编程实践5:不要依赖线程优先级

当有多个线程同时运行的时候,由线程调度器来决定哪些线程运行、哪些等待以及线程切换的时间点,由于各个操作系统的线程调度器实现大相径庭,因此,依赖JDK自带的线程优先级来设置线程优先级策略的方法是错误和非平台可移植的。所以,在任何情况下,程序都不能依赖JDK自带的线程优先级来保证执行顺序、比例和策略。 Netty中默认的线程工厂实现类,开放了包含设置线程优先级字段的构造函数。这是个错误的决定,对于使...
阅读(1257) 评论(0)

Netty的并发编程实践4:线程安全类的应用

在JDK1.5的发行版本中,Java平台新增了java.util.concurrent,这个包中提供了一系列的线程安全集合、容器和线程池,利用这些新的线程安全类可以极大地降低Java多线程编程的难度,提升开发效率。 新的并发编程包中的工具可以分为如下4类。 ◎   线程池Executor Framework以及定时任务相关的类库,包括Timer等。 ◎   并发集合,包括List、Queue...
阅读(1549) 评论(3)

Netty的并发编程实践3:CAS指令和原子类

互斥同步最主要的问题就是进行线程阻塞和唤醒所带来的性能的额外损耗,因此这种同步被称为阻塞同步,它属于一种悲观的并发策略,我们称之为悲观锁。随着硬件和操作系统指令集的发展和优化,产生了非阻塞同步,被称为乐观锁。简单地说,就是先进行操作,操作完成之后再判断操作是否成功,是否有并发问题,如果有则进行失败补偿,如果没有就算操作成功,这样就从根本上避免了同步锁的弊端。 目前,在Java中应用最广泛的非阻塞...
阅读(1231) 评论(0)

Netty的并发编程实践2:volatile的正确使用

长久以来大家对于volatile如何正确使用有很多的争议,既便是一些经验丰富的Java设计师,对于volatile和多线程编程的认识仍然存在误区。其实,volatile的使用非常简单,只要理解了Java的内存模型和多线程编程的基础知识,正确使用volatile是不存在任何问题的。下面我们结合Netty的源码,对volatile的正确使用进行说明。 打开NioEventLoop的代码,我们来看控制...
阅读(1250) 评论(1)

Netty的并发编程实践1:正确使用锁

很多刚接触多线程编程的开发者,虽然意识到了并发访问可变变量需要加锁,但是对于锁的范围、加锁的时机和锁的协同缺乏认识,往往会导致出现一些问题。下面笔者就结合Netty的代码来讲解下这方面的知识。 打开ForkJoinTask,我们学习一些多线程同步和协作方面的技巧。首先是当条件不满足时阻塞某个任务,直到条件满足后再继续执行,代码如图21-4所示。 重点看框线中的代码,首先通过循环检测的方式对状态...
阅读(1202) 评论(0)

为什么选择Netty作为基础通信框架?

在开始之前,我先讲一个亲身经历的故事:曾经有两个项目组同时用到了NIO编程技术,一个项目组选择自己开发NIO服务端,直接使用JDK原生的API,结果两个多月过去了,他们的NIO服务端始终无法稳定,问题频出。由于NIO通信是它们的核心组件之一,因此项目的进度受到了严重的影响。另一个项目组直接使用Netty作为NIO服务端,业务的定制开发工作量非常小,测试表明,功能和性能都完全达标,项目组几乎没有在N...
阅读(6179) 评论(0)

优秀设计师是如何炼成的,看搜狐如何做设计

优秀设计师是如何炼成的,看搜狐如何做设计   《设计之下》终于上市了,回忆一下整个成书的过程,不得不佩服作者,从最开始的干净利落,到最终的细节的调整,作为编辑我对他们的认识逐渐加深,也慢慢了解了优秀设计师是如何炼成的。   这本书源于2012年12月份的UPA,机缘巧合认识了搜狐新闻客户端UED团队的小盼,聊起想做那么一本教大家如何做设计的实战书,她表示他们的团队可以考虑做这样一本书,也觉...
阅读(1309) 评论(0)

前瞻设计:创新型战略推动可持续变革(全彩)

前瞻设计:创新型战略推动可持续变革(全彩) 宣传语:全彩精装。乔布斯最敬仰的设计大师,苹果御用30年的设计师,全球工业设计教父、青蛙设计创始人艾斯林格揭秘产品成功背后的奥秘! 作者:【美】哈特穆特· 艾斯林格(HartmutEsslinger)著   ISBN: 978-7-121-21731-9 出版时间:2014年1月出版 定价:119.00元 页数:308页 开本:...
阅读(1180) 评论(0)

移动应用中的流设计

作为应用的设计者,我们常常以应用自身的逻辑为线索进行设计,一头沉浸在页面与原型的制作中。 而大部分的应用在使用过程中,用户的目光和触摸是与应用共舞的主要参与者,如人-机-环中用户的输入输出,以视觉输入、触摸输出为主要的交互通道。为了提升用户在感知层面的体验,我们可以顺着用户的目光出发,关注用户在界面中注意力焦点转移的过程,同时循着用户手指的痕迹来发现用户直接操作的轨迹,以此设计我们的应用。 这里将提出一个流系统的框架,并讲述如何在这个框架中提升用户的感知体验。...
阅读(1290) 评论(0)

移动设计

移动设计(淘宝移动应用先驱团队,数年交互设计经验和盘托出,全新解读移动设备用户体验!) 傅小贞胡甲超郑元拢著 ISBN 978-7-121-20486-9 2013年7月出版 定价:69.00元 340页 16开 编辑推荐     淘宝移动设计专家潜心力作,倾情分享数年交互设计经验。     作者结合大量实际项目案例,从特征、原则、框架、细节、动效、适配、创新、工具几个角...
阅读(1287) 评论(0)

Windows 8,为应用和触摸重塑的Windows

Windows 8使用了全新的 UI对Windows进行了重新塑造,让新的Windows更适应于当前最流行的指尖触摸操作。Windows 8将可以运行在众多设备诸如平板电脑、可触屏笔记本电脑、安装有可触摸屏幕的台式机上,同时Windows 8基于应用商店的模式进行运作,这对开发者来说意味着前所未有的机遇,出色的 Windows 商店应用将接受全球各地数百万用户的品评。 应用为王 Windows...
阅读(976) 评论(0)

“李刚畅谈Java编程人生”讲座

讲座主题:李刚畅谈Java编程人生 时间:2012年9月23日13:30-16:00 地点:中关村图书大厦五层多功能厅 主讲人:李刚 讲座内容: 1、 主要内容: 疯狂的本质是享受像编程一样生活,人生更快乐程序员职业生涯总结、展望享受探索,享受创业享受编程,享受生活。 2、读者自由提问及交流互动 3、抽奖 4、签售《疯狂Java讲义(第2版)》《轻量级Java EE企业应用实战(第...
阅读(2373) 评论(0)
28条 共2页首页 上一页 1 2
    个人资料
    • 访问:3750104次
    • 积分:54946
    • 等级:
    • 排名:第57名
    • 原创:1454篇
    • 转载:83篇
    • 译文:1篇
    • 评论:3742条
    博客专栏
    最新评论