摘要: 在学习Java 多线程并发开发过程中,了解到DelayQueue类的主要作用:是一个无界的BlockingQueue,用于放置实现了Delayed接口的对象,其中的对象只能在其到期时才能从队列中取走。这种队列是有序的,即队头对象的延迟到期时间最长。注意:不能将null元素放置到这种队列中。 Dela 阅读全文
posted @ 2017-06-20 16:47 夏威夷8080 阅读(17007) 评论(0) 推荐(1) 编辑
摘要: 一、简介 在网络应用中需要实现某种编解码器,将原始字节数据与自定义的消息对象进行互相转换。网络中都是以字节码的数据形式来传输数据的,服务器编码数据后发送到客户端,客户端需要对数据进行解码。 编解码器由两部分组成:编码器、解码器。 netty提供了强大的编解码器框架,使得我们编写自定义的编解码器很容易 阅读全文
posted @ 2017-06-17 17:31 夏威夷8080 阅读(786) 评论(0) 推荐(0) 编辑
摘要: 一、@Resource的理解 @Resource在bean注入的时候使用,@Resource所属包其实不是spring,而是javax.annotation.Resource,只不过spring支持该注解@Resource里有name,lookup,type,authenticationType,s 阅读全文
posted @ 2017-06-04 09:22 夏威夷8080 阅读(5535) 评论(0) 推荐(0) 编辑
摘要: 在使用Netty的过程中,你将会遇到需要解码器的基于分隔符和帧长度的协议。本节将解释Netty所提供的用于处理这些场景的实现。 基于分隔符的协议 基于分隔符的(delimited)消息协议使用定义的字符来标记的消息或者消息段(通常被称为帧)的开头或者结尾。由RFC文档正式定义的许多协议(如SMTP、 阅读全文
posted @ 2017-05-23 16:10 夏威夷8080 阅读(1133) 评论(0) 推荐(0) 编辑
摘要: HTTP/HTTPS是最常见的协议套件之一,并且随着智能手机的成功,它的应用也日益广泛,因为对于任何公司来说,拥有一个可以被移动设备访问的网站几乎是必须的。这些协议也被用于其他方面。许多组织导出的用于和他们的商业合作伙伴通信的WebService API 一般也是基于HTTP(S)的。接下来,我们来 阅读全文
posted @ 2017-05-19 16:20 夏威夷8080 阅读(1635) 评论(0) 推荐(0) 编辑
摘要: 现在spring的配置都喜欢用注解,但是在这之前,还是有必要复习下Spring在xml配置里配置事务 然后咱们再来说看@Transactional 一、如何开启@Transactional支持 要使用@Transactional,spring的配置文件applicationContext.xml中还 阅读全文
posted @ 2017-05-11 19:37 夏威夷8080 阅读(10617) 评论(0) 推荐(0) 编辑
摘要: 因为网络饱和的可能性,如何在异步框架中高效地写大块的数据是一个特殊的问题。由于写操作是非阻塞的,所以即使没有写出所有的数据,写操作也会在完成时返回并通知ChannelFuture。当这种情况发生时,如果仍然不停地写入,就有内存耗尽的风险。所以在写大型数据时,需要准备好处理到远程节点的连接是慢速连接的 阅读全文
posted @ 2017-04-29 11:16 夏威夷8080 阅读(3415) 评论(0) 推荐(0) 编辑
摘要: 毫无疑问,Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作,为不同的大象构建不同的冰箱。希望你喜欢这个比喻。 下面是一篇新鲜出炉的文章,其作者是Redis作者@antire 阅读全文
posted @ 2017-04-27 20:08 夏威夷8080 阅读(785) 评论(0) 推荐(1) 编辑
摘要: 队列(queue)简述 队列(queue)是一种常用的数据结构,可以将队列看做是一种特殊的线性表,该结构遵循的先进先出原则。Java中,LinkedList实现了Queue接口,因为LinkedList进行插入、删除操作效率较高。 在处理元素前用于保存元素的 collection。除了基本的 Col 阅读全文
posted @ 2017-04-27 14:28 夏威夷8080 阅读(14887) 评论(0) 推荐(2) 编辑
摘要: 当我们通过Executor提交一组并发执行的任务,并且希望在每一个任务完成后能立即得到结果,有两种方式可以采取: 方式一: 通过一个list来保存一组future,然后在循环中轮训这组future,直到每个future都已完成。如果我们不希望出现因为排在前面的任务阻塞导致后面先完成的任务的结果没有及 阅读全文
posted @ 2017-04-26 15:52 夏威夷8080 阅读(1531) 评论(0) 推荐(0) 编辑