MIkeeJY
MIkeeJY
@hamsik2046 @HomHomLin 换成findViewWithTag 应该就没事了,也不需要修改顶层代码
@yonggege2013 findViewWithTag 初始化用这个不用findviewbyid就没事额
@yonggege2013 写布局的时候用 android tag不用android id,然后加载布局的时候findviewwithtag。。。
@Froyo91 因为提示是id冲突了 虽然你布局里没有重复id 所以我改成了tag去findview了 就没问题了。
@yonggege2013 xml里设置这个 android:tag="ptr_recycler" 代码里set tag
@lzj509649444 我也是这么处理的
@lzj509649444 你是用源码修改的嘛?貌似直接作者的库 没法改动
1、volatile不会进行加锁操作 volatile变量是一种稍弱的同步机制在访问volatile变量时不会执行加锁操作,因此也就不会使执行线程阻塞,因此volatile变量是一种比synchronized关键字更轻量级的同步机制。 2、volatile变量作用类似于同步变量读写操作 从内存可见性的角度看,写入volatile变量相当于退出同步代码块,而读取volatile变量相当于进入同步代码块。 3、volatile不如synchronized安全 在代码中如果过度依赖volatile变量来控制状态的可见性,通常会比使用锁的代码更脆弱,也更难以理解。仅当volatile变量能简化代码的实现以及对同步策略的验证时,才应该使用它。一般来说,用同步机制会更安全些。 4、volatile无法同时保证内存可见性和原子性 加锁机制(即同步机制)既可以确保可见性又可以确保原子性,而volatile变量只能确保可见性,原因是声明为volatile的简单变量如果当前值与该变量以前的值相关,那么volatile关键字不起作用,也就是说如下的表达式都不是原子操作:“count++”、“count = count+1”。 当且仅当满足以下所有条件时,才应该使用volatile变量: 1、 对变量的写入操作不依赖变量的当前值,或者你能确保只有单个线程更新变量的值。 2、该变量没有包含在具有其他变量的不变式中。 总结:在需要同步的时候,第一选择应该是synchronized关键字,这是最安全的方式,尝试其他任何方式都是有风险的。尤其在、jdK1.5之后,对synchronized同步机制做了很多优化,如:自适应的自旋锁、锁粗化、锁消除、轻量级锁等,使得它的性能明显有了很大的提升。
面试现在一般都要详细流程,比如连接过程中,你每次握手发送的具体数据 这个大家都怎么回答的?
@alexdar94 +1