本文使用okhttp3源码来讲解 1、同步和异步的区别 (1)同步方法execute() okHttpBuilder.build().newCall()会创建一个RealCall对象 //OkHttpClient.java @Override public Call newCall(Request request) { return RealCall.newRealCall(this, request, false /* for web socket */); } 然后看下RealCall的execute()方法 …

2021年3月18日 0条评论 14点热度 阅读全文

Java 位操作这是一项很基础很基础的知识内容,在所有 Android 和 Java 开发者的学习之路上,大家都接触过,但是实际运用的场景却很少见,很多人估计都忘记有这个知识点了。事实上,在 C/C++ 开发领域因为与硬件的联系更紧密,所以位操作运算应用的更普遍。Java 因为面向对象的特性很多时候不需要接触位操作,但是在某些特定场景下,巧妙运用位操作,能够起到非常高效的的表现。这篇博文不谈应用,只详细讲解与位操作有关的知识点。 基础大讲堂 所有数值都是2进制 软件开发者都知道 10 进制、16 进制、8 进制。 …

2021年1月16日 0条评论 22点热度 阅读全文

本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 ClassLoader翻译过来就是类加载器,普通的java开发者其实用到的不多,但对于某些框架开发者来说却非常常见。理解ClassLoader的加载机制,也有利于我们编写出更高效的代码。ClassLoader的具体作用就是将class文件加载到jvm虚拟机中去,程序就可以正确运行了。但是,jvm启动的时候,并不会一次性加载所有的class文件,而是根据需要去动态加载。想想也是的,一次性加载那么多jar包那么多class,那内存不崩溃。本文的目的也是…

2020年9月21日 0条评论 47点热度 阅读全文

大家做项目开放应该都碰到过类似于这种界面 这时候我们做Fragment切换的时候,如果Fragment带有像ListView和RecyclerView之类的列表,在切换的时候ScrollView会自动滑动到列表的顶部。虽然做手机app开发的时候,焦点处理比较少,但是我们可以从源码来分析一下焦点是如何传递的。 源码分析 我们两个Fragment切换的时候,最终其实还是一个View隐藏,一个View显示而已。在两个页面都加载进去了之后,我们做切换的时候一个View会GONE,一个View会VISIBLE。GONE我们后…

2018年6月22日 0条评论 4点热度 阅读全文

工作中遇到如下异常(数字格式化异常): java.lang.NumberFormatException: Invalid double: "�"   我定义的是float类型,后台返回的是"".   解决方法: 让后台把要返回的数据默认为0即可。

2018年3月20日 0条评论 30点热度 阅读全文

http的请求部分    基本结构   请求行 GET  /test/hello.html HTTP/1.1   消息头(并不是每一次请求都一样)   空行   内容(内容名字=内容体) 常用消息头(详解http请求消息头)    Accept:text/html,image/*(告诉服务器,浏览器可以接受文本,网页图片)    Accept-Charaset:ISO-8859-1 [接受字符编码:iso-…

2016年9月11日 0条评论 28点热度 阅读全文

转载自:http://blog.csdn.net/yanbober/article/details/45932123 PS一句:最终还是选择CSDN来整理发表这几年的知识点,该文章平行迁移到CSDN。因为CSDN也支持MarkDown语法了,牛逼啊! 【工匠若水 http://blog.csdn.net/yanbober】 该篇承接上一篇《Android触摸屏事件派发机制详解与源码分析二(ViewGroup篇)》,阅读本篇之前建议先阅读。 1 背景 还记得前面两篇从Android的基础最小元素控件(View)到Vi…

2015年11月1日 0条评论 6点热度 阅读全文

1,ByteBuffer 定义 在NIO中,数据的读写操作始终是与缓冲区相关联的(读取时信道(SocketChannel)将数据读入缓冲区,写入时首先要将发送的数据按顺序填入缓冲区) 缓冲区是定长的,基本上它只是一个列表,它的所有元素都是基本数据类型。ByteBuffer是最常用的缓冲区,它提供了读写其他数据类型的方法,且信道的读写方法只接收ByteBuffer。 ByteBuffer有以下几种常见属性: mark:初始值为-1,标记索引地点; position:初始值为0,索引下标; limit:最好定义成byt…

2014年9月5日 0条评论 19点热度 阅读全文