自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 OkHttp DiskLruCache java.util.NoSuchElementException

# OkHttp DiskLruCache(29064) java.util.NoSuchElementException 1 java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:759) 2 java.util.LinkedHashMap$LinkedValueIterator.next(LinkedHashMap.java:785) 3 okhttp3.internal.cache.DiskLruCache.tr

2021-12-10 09:57:09 1887

原创 volatile

深入来说:通过加入内存屏障和禁止重排序优化来实现的 对volatile变量执行写操作时,会在写操作后加入一条store屏障指令. 对volatile变量执行读操作时,会在读操作前加入一条load屏障指令. 通俗地讲:volatile变量在每次被线程访问时,都强迫从主内存中重读该变量的值, 而当该变量发生变化时,又会强迫线程将最新的值刷新到主内存, 这样任何时刻,不同的线程总能看到该变量的最新值。 复制代码 线程写volatile变量的过程: 改变线程工作内存中volatile变量副本的值 将改变后的副本的值

2021-05-26 17:24:42 64

原创 为什么是三次握手和四次挥手

为什么是三次握手而不是两次或是四次? 三次握手是保证连接的最少次数。 如果是两次连接:不能有效防止洪范攻击,没有半连接队列,无法连接数量进行控制;假定当前网络状况不佳,A向B发送了SYN请求连接,此时因网络原因阻塞造成超时。A重发SYN,B收到后建立起连接并传输数据后关闭,此时之前阻塞的SYN再次到达B,B会以为A又要建立连接。 洪泛攻击,在短时间内向目标系统发送大量的虚假请求的攻击方式. 为什么是四次挥手? TCP协议是一个全双工协议,当收发双方中一方关闭了连接,进入半双工状态,仍能向对方发送数据。 .

2021-05-26 17:22:37 78

原创 解决 Didn‘t find class “java.lang.invoke.SerializedLambda“

升级android studio4.0之后发现 编译后,提升gradle版本到3.5.2,运行时发生crash。 android studio3.0已经支持了脱糖,为什么高版本会crash? 赶紧查看android studio 升级了什么功能导致的,附官方文档链接 官方文档 D8 和 R8 中的 Java 8 库脱糖 Android Studio 现在支持使用多种 Java 8 语言 API,而无需为应用设置最低 API 级别。 通过一个称为“脱糖”的过程,Android Studio 3.0 及更高版本

2020-07-07 10:48:04 781

原创 Flutter环境搭建(macOS)

按照官方文档,会遇见一些坑,在此写一篇踩坑记录,正确的搭建flutter环境。希望能帮助后来的人们。 笔者是一名android开发,在安装前,请自行安装xcode,android studio。 1.使用镜像 在终端输入以下镜像地址 export PUB_HOSTED_URL=https://pub.flutter-io.cn export FLUTTER_STORAGE_BASE_URL=htt...

2019-08-28 11:27:55 117

原创 ViewPager+Fragment的正确姿势

我们在使用Listview或者RecyclerView的时候从来都是从外部设置数据源。代码像这样` public class MyAdapter<T> extends BaseAdapter { private Context mContext; private List<T> mLists; public MyAdapter(Context c,...

2019-05-27 11:06:28 242

原创 Android事件分发

view和viewGroup,是android事件分发中的主要角色。view中,处理事件的方法为dispatchTouchEvent和onTouchEvent,viewGroup继承自view,相关方法有三个,父view的onTouchEvent,重写了dispatchTouchEvent,增加了onInterceptTouchEvent。这篇文章,主要分析一下这个流程。先盗张图: 如果之前已经对...

2019-05-08 16:53:23 177

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除