当前位置: 编程技术>移动开发
本页文章导读:
▪Layout_width width 差别一例 Layout_width width 区别一例
因为项目需要在我最新一个项目中用到了动态改变控件大小及位置等。 但刚刚突然发现有一个控件长度没有改变。 在仔细检查代码的时候发现原来使用的是 android.........
▪ APP应用名字改为中文 APP应用名字改成中文
第一次接触完成自己的应用是不是很开心呢?上传,审核,上线,下载,麻蛋,应用名字怎么变成英文的了(项目的名字),可是提交到苹果商店时候我改成中文的了,.........
▪ 线程并发学习5(基础构建模块) 线程并发学习五(基础构建模块)
1.将线程安全类委托给现有的线程安全类,只需让现有的线程安全类管理多有的状态即可。2.Java平台类库包含了丰富的并发基础构建模块,例如线程安全的.........
[1]Layout_width width 差别一例
来源: 互联网 发布时间: 2014-02-18
Layout_width width 区别一例
因为项目需要在我最新一个项目中用到了动态改变控件大小及位置等。
但刚刚突然发现有一个控件长度没有改变。 在仔细检查代码的时候发现原来使用的是 android:width 而非一直使用的layout_width (因使用了style故编译通过)。
在网络查看用发现width是可以指定具体数值,但layout_width其实也是可以的。
个人认为区别在:
1. layout_width为warp_content的时候 width可以再次限制一个最大值。
2. 也是今天出问题的原因。LayoutParement 中的width属性其实是layout_widtht指定的。
同理height layout_height也是一样的。
因为项目需要在我最新一个项目中用到了动态改变控件大小及位置等。
但刚刚突然发现有一个控件长度没有改变。 在仔细检查代码的时候发现原来使用的是 android:width 而非一直使用的layout_width (因使用了style故编译通过)。
在网络查看用发现width是可以指定具体数值,但layout_width其实也是可以的。
个人认为区别在:
1. layout_width为warp_content的时候 width可以再次限制一个最大值。
2. 也是今天出问题的原因。LayoutParement 中的width属性其实是layout_widtht指定的。
同理height layout_height也是一样的。
[2] APP应用名字改为中文
来源: 互联网 发布时间: 2014-02-18
APP应用名字改成中文
第一次接触完成自己的应用是不是很开心呢?上传,审核,上线,下载,麻蛋,应用名字怎么变成英文的了(项目的名字),可是提交到苹果商店时候我改成中文的了,为什么呢?
一句话,就是到info.plist里把Bundle display name改成你希望的中文,然后,更新上传审核....
[3] 线程并发学习5(基础构建模块)
来源: 互联网 发布时间: 2014-02-18
线程并发学习五(基础构建模块)
1.将线程安全类委托给现有的线程安全类,只需让现有的线程安全类管理多有的状态即可。
2.Java平台类库包含了丰富的并发基础构建模块,例如线程安全的容器类以及各种用于协调多个相互协作的线程控制流的同步工具类(synchronizer);
3.同步容器类:同步容器类是线程安全的,但在某些情况下,可能需要额外的客户端加锁来保护符合操作. 早期的jdk中,同步容器类包括Vector 和 Hashtable
4.并发容器:java5.0提供了多种并发容器类来改进同步容器的性能,同步容器将所有对容器状态的访问都串行化,以实现他们的线程安全性,这种方法的代价是严重降低并发性,当多个线程竞争容器的锁时,吞吐量将严重降低。
并发容器是针对多个线程并发访问设计的。
java5.0增加了两种新的容器类型:Queue和BlockingQueue,Queue的实现,包括ConcurrentLinkedQueue,这是一个传统的先进先出队列。 PriorityQueue并发的优先队列。 Queue上的操作不会阻塞,如果队列为空,那么获取元素的操作将返回空值。
5.ConcurrentHashMap,同步容器类在执行每个操作期间都持有一个锁,ConcurrentHashMap是一个基于散列的Map,使用了一种完全不同的加锁策略,来提供更高的并发性和伸缩性。ConcurrentHashMap并不是将每个方法都在同一个锁上同步并使得每次只能有一个线程访问容器,而是使用一种粒度更细的加锁机制来实现更大程度的共享,这种机制称为分段锁。
ConcurrentHashMap:并发访问环境下将实现更高的吞吐量,而在单线程环境中只损失非常小的性能。
ConcurrentHashMap与其他并发容器一起增强了同步容器类:他们提供的迭代器不会抛出ConcurrentModificationException,因此不需要在迭代过程中对容器加锁。
ConcurrentHashMap中没有实现对Map加锁以及提供独占访问。
6.CopyOnWriteArrayList:用于代替同步List,在某些情况下提供更好的并发性能,并且在迭代期间不需要对容器加锁或者复制[CopyOnWriteArraySet是代替同步的set]
7.阻塞队列和生产者--消费者模式
阻塞队列提供了可阻塞的put和take方法,以及支持定时的offer和poll方法,if队列满了,那么put方法将阻塞知道空间可用,if队列为空,take方法将会阻塞知道元素可用。
当然队列可以是无界的,无界队列永远不会满,所以put方法永远不会阻塞。
8.串行线程封闭:java.util.concurrent中实现的各种阻塞队列都包含了足够的内部同步机制,从而安全的将对象从生产者发布到消费者线程。
9.双端队列与工作密取
10闭锁
11栅栏
1.将线程安全类委托给现有的线程安全类,只需让现有的线程安全类管理多有的状态即可。
2.Java平台类库包含了丰富的并发基础构建模块,例如线程安全的容器类以及各种用于协调多个相互协作的线程控制流的同步工具类(synchronizer);
3.同步容器类:同步容器类是线程安全的,但在某些情况下,可能需要额外的客户端加锁来保护符合操作. 早期的jdk中,同步容器类包括Vector 和 Hashtable
4.并发容器:java5.0提供了多种并发容器类来改进同步容器的性能,同步容器将所有对容器状态的访问都串行化,以实现他们的线程安全性,这种方法的代价是严重降低并发性,当多个线程竞争容器的锁时,吞吐量将严重降低。
并发容器是针对多个线程并发访问设计的。
java5.0增加了两种新的容器类型:Queue和BlockingQueue,Queue的实现,包括ConcurrentLinkedQueue,这是一个传统的先进先出队列。 PriorityQueue并发的优先队列。 Queue上的操作不会阻塞,如果队列为空,那么获取元素的操作将返回空值。
5.ConcurrentHashMap,同步容器类在执行每个操作期间都持有一个锁,ConcurrentHashMap是一个基于散列的Map,使用了一种完全不同的加锁策略,来提供更高的并发性和伸缩性。ConcurrentHashMap并不是将每个方法都在同一个锁上同步并使得每次只能有一个线程访问容器,而是使用一种粒度更细的加锁机制来实现更大程度的共享,这种机制称为分段锁。
ConcurrentHashMap:并发访问环境下将实现更高的吞吐量,而在单线程环境中只损失非常小的性能。
ConcurrentHashMap与其他并发容器一起增强了同步容器类:他们提供的迭代器不会抛出ConcurrentModificationException,因此不需要在迭代过程中对容器加锁。
ConcurrentHashMap中没有实现对Map加锁以及提供独占访问。
6.CopyOnWriteArrayList:用于代替同步List,在某些情况下提供更好的并发性能,并且在迭代期间不需要对容器加锁或者复制[CopyOnWriteArraySet是代替同步的set]
7.阻塞队列和生产者--消费者模式
阻塞队列提供了可阻塞的put和take方法,以及支持定时的offer和poll方法,if队列满了,那么put方法将阻塞知道空间可用,if队列为空,take方法将会阻塞知道元素可用。
当然队列可以是无界的,无界队列永远不会满,所以put方法永远不会阻塞。
8.串行线程封闭:java.util.concurrent中实现的各种阻塞队列都包含了足够的内部同步机制,从而安全的将对象从生产者发布到消费者线程。
9.双端队列与工作密取
10闭锁
11栅栏
最新技术文章: