为什么java.util.concurrent 包里没有并发的arraylist 并发实现

让天下没有难学的技术
Netty源码注释翻译-Channel类
Netty源码注释翻译-Channel类
定义为一个通往网络socket或者一个由I/O读写能力的组件。
通道提供:
1,通道的当前状态,打开?已连接?
2,跟通道关联的配置信息ChannelConfig,包括buffer大小等。
3,通道支持的I/O操作,如读、写、连接、绑定等。
4,跟通道关联的ChannelPipeline,用来处理通道的I/O事件和请求。
所有的I/O操作都是异步的。
在Netty中,左右的I/O操作都是异步的,这意味着任何的I/O相关调用都会立即返回,因此这不能保证在这个调用返回的时候I/O请求能够被处理完成。然而,调用返回的ChannelFuture实例在I/O请求操作成功的时候会通知你。
Channel的继承,Channel接口提供了parent()方法,方法的使用依赖于Channel的创建方式。例如:一个被ServerSocketChannel accepted的SocketChannel,parent()方法会返回ServerSocketChannel
继承结构的语义依赖于Channel所属通信方式的实现,例如:你可以写一个新的Channel实现,通过实现创建一个子通道来共享一个socket连接,as
转换为子类对象来获取对transport的特殊的操作。Downcast Channel为子类型来调用相关方法,如:对于老的报文传输,多点传输操作join/leave是由DatagramChannel提供的。
原创文章,转载请注明: 转载自
本文链接地址:
Latest posts by 陆晨 ()
- 2015 年 2 月 1 日
Related posts:
(还没有评分)
Loading...为什么java.util.concurrent 包里没有并发的ArrayList实现_百度知道
为什么java.util.concurrent 包里没有并发的ArrayList实现
提问者采纳
您好!“Queue 和Deque (基于Linked List)有并发的实现”,这句话我的理解是有问题的。linked list本身是基于deque的实现,图上很清楚了:而且linked list本身也没有并发实现:对于deque,唯一的concurrent实现就是java.util.concurrent.LinkedBlockingDeque了吧。 不知道我是不是误会了您的意思,还请指正,谢谢!
来自团队:
其他类似问题
为您推荐:
arraylist的相关知识
其他1条回答
ArrayList在java.util包的List接口下。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁让天下没有难学的技术
Function接口 – Java8中java.util.function包下的函数式接口
Function接口 – Java8中java.util.function包下的函数式接口
译者: 李璟()
早先我写了一篇《》,探讨了Java8中函数式接口的用法。如果你正在浏览Java8的API,你会发现java.util.function中 Function, Supplier, Consumer, Predicate和其他函数式接口广泛用在支持lambda表达式的API中。这些接口有一个抽象方法,会被lambda表达式的定义所覆盖。在这篇文章中,我会简单描述Function接口,该接口目前已发布在java.util.function中。
Function接口的主要方法:
– 将Function对象应用到输入的参数上,然后返回计算结果。
– 将两个Function整合,并返回一个能够执行两个Function对象功能的Function对象。
译者注:Function接口中除了apply()之外全部接口如下:
default &V& &,V& (&? super ,? extends V& after) 返回一个先执行当前函数对象apply方法再执行after函数对象apply方法的函数对象。
default &V& &,V& (&? super V,? extends & before)返回一个先执行before函数对象apply方法再执行当前函数对象apply方法的函数对象。
static &T& &T,T& () 返回一个执行了apply()方法之后只会返回输入参数的函数对象。
本章节将会通过创建接受Function接口和参数并调用相应方法的例子探讨apply方法的使用。我们同样能够看到API的调用者如何利用lambda表达式替代接口的实现。除了传递lambda表达式之外,API使用者同样可以传递方法的引用,但这样的例子不在本篇文章中。
如果你想把接受一些输入参数并将对输入参数处理过后的结果返回的功能封装到一个方法内,Function接口是一个不错的选择。输入的参数类型和输出的结果类型可以一致或者不一致。
一起来看看接受Function接口实现作为参数的方法的例子:
public class FunctionDemo {
//API which accepts an implementation of
//Function interface
static void modifyTheValue(int valueToBeOperated, Function&Integer, Integer& function){
int newValue = function.apply(valueToBeOperated);
* Do some operations using the new value.
System.out.println(newValue);
下面是调用上述方法的例子:
public static void main(String[] args) {
int incr = 20;
int myNumber = 10;
modifyTheValue(myNumber, val-& val + incr);
myNumber = 15;
modifyTheValue(myNumber, val-& val * 10);
modifyTheValue(myNumber, val-& val - 100);
modifyTheValue(myNumber, val-& &somestring&.length() + val - 100);
你可以看到,接受1个参数并返回执行结果的lambda表达式创建在例子中。这个例子的输入如下:
原创文章,转载请注明: 转载自
本文链接地址:
目前就职于深圳金斧子网络科技,关注Java、Python服务端开发
Latest posts by 李 璟 ()
- 2015 年 5 月 25 日
- 2015 年 2 月 27 日
- 2015 年 2 月 17 日
Related posts:
(2 votes, average: 5.00 out of 5)
Loading...为什么java.util.concurrent 包里没有并发的ArrayList实现_百度知道
为什么java.util.concurrent 包里没有并发的ArrayList实现
提问者采纳
List&list&=&Collections.synchronizedList(new&ArrayList(...));
其他类似问题
为您推荐:
arraylist的相关知识
其他1条回答
在java.util里面啊。。。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁为什么java.util.concurrent 包里没有并发的ArrayList实现_百度知道
为什么java.util.concurrent 包里没有并发的ArrayList实现
提问者采纳
用 Collections.synchronizedList 即可
其他类似问题
为您推荐:
其他2条回答
private void button1_Click(object sender, System.EventArgs e) public override void Display(int depth)
Console.WriteLine(new string('-', depth) + name);
foreach (Component component in children)
component.Display(depth + 2);
CopyOnWriteArrayList
arraylist的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 java.util是哪个包 的文章

 

随机推荐