
Java
你的阿爸
一个爱好计算机的程序媛
展开
-
关于JDK中的transient关键字
前段时间参加面试被问到了 HashMap 的原理,但是对 HashMap 的了解都是通过博客,一面建议我还是多看看源码,博客的知识毕竟有一些过时了,所以今天就来研究研究源码,然后发现HashMap的变量里有一个transient关键字,从来没见过,于是去百度了一下,现在做个总结好了~Java's serialization provides an elegant, and easy to us...原创 2017-10-19 16:50:01 · 642 阅读 · 0 评论 -
缓存机制
缓存机制二级缓存:内存 -> 硬盘 -> 网络当查找数据时,先从内存中查找,若无则查找硬盘,若无再请求网络当从网络获取数据后,同时存储到内存和硬盘中缓存框架LruCache 内存缓存 DiskLruCache 硬盘缓存ASimpleCache(ACache)RxCache缓存机制类似Glide之类的大型框架都是使用自己的缓存机制类似Message里面的...原创 2019-06-05 17:08:43 · 294 阅读 · 0 评论 -
享元模式
定义享元模式(Flyweight)是对象池的一种实现。享元对象中,可以共享的状态是内部状态,内部状态不会随着环境的变化,不可以共享的状态称为外部状态,外部状态会随着环境变化而变化。享元模式中会创建一个对象容器,经典的享元模式中这个容器是一个Map,它的key是享元对象的内部状态value为享元对象本身。使用者通过内部状态从享元工厂中获取享元对象,如果有缓存则使用缓存,如果没有则创建一个...原创 2019-06-05 17:07:03 · 202 阅读 · 0 评论 -
OkHttp的TLS原理解析
HTTP与HTTPSHTTPS 是在 HTTP 和 TCP 之间加了一层 TLS/SSL,这个 TLS协商了一个对称密钥进行 HTTP 加密TLS与SSL两者在传输层对网络连接进行加密,为并列关系SSL/TLS 不仅仅可以用在 HTTP,也可以用在 FTP,Telnet 等应用层协议上TLS是SSL标准化后的产物,建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本TLS较...原创 2019-06-05 17:05:39 · 952 阅读 · 0 评论 -
OkHttp源码解析
OkHttp是什么官方解释:适用于Android和Java应用程序的HTTP和HTTP/2的客户端OKHTTP是一个高效的HTTP库网络请求发展:HttpURLConnection—>Apache HTTP Client—>Volley—->okHttpSPDY -> http2HTTP是现代应用网络的方式。这就是我们交换数据和媒体的方式。有效地执行HTTP可...原创 2019-06-05 17:04:14 · 365 阅读 · 0 评论 -
IO和NIO的区别
主要内容NIO简介Java NIO 是 java 1.4,之后新出的一套IO接口NIO中的N可以理解为Non-blocking,不单纯是New。NIO的特性/NIO与IO区别IO是面向流的,NIO是面向缓冲区的IO流是阻塞的,NIO流是不阻塞的IO没有选择器,NIO有选择器读数据和写数据方式从通道进行数据读取 :创建一个缓冲区,然后请求通道读取数据。从通道进行数据写入 :创建一...原创 2019-06-05 17:01:57 · 3409 阅读 · 0 评论 -
Android Studio快捷键
优化importAndroid Studio会自动导入使用类的包,但是当使用的类删掉的时候,导入的包还在。这时,可以使用,使用之后会将没用到的包自动删掉,并且会对包的顺序进行排序Control + Alt + O缩进/反缩进除了使用自动缩进以外,也可以使用Tab来缩进代码,以及使用Shift +Tab来反缩进代码开始新的一行Android Studio 提供了在光标所在行开始新的一行...原创 2019-06-05 16:59:41 · 175 阅读 · 0 评论 -
Http客户端与服务器端的交互
服务器端:先选择服务器 新建一个 web 项目 新建一个 .jsp 文件(index.jsp)(首页的布局) 新建一个包(servlet) 包里新建一个类 MyServlet 并继承 HttpServlet 重写 MyServlet 中的 doGet() 方法和 doPost() 方法直接, 在 doGet() 中回调 this.doPost(request,response); d...原创 2017-03-18 15:10:05 · 2749 阅读 · 0 评论 -
关于Object与String类中hashcode()的区别,以及equals()与toString(),hashcode()联系
这个文章的标题是我由别的问题而引发的疑问:1. 为何子类一般都要重写equals()这个方法2. 为何重写equals()方法时需要重写hashcode()方法,而hashcode()方法的作用又是如何,hash值是怎么计算的 然后通过看源码发现Object类与String类中都有hashcode()方法,接下来为大家一一梳理这其中equals()与toString(),hashcode(...原创 2020-04-05 14:55:08 · 532 阅读 · 0 评论 -
关于对反射机制的通俗理解
反射其实就是照镜子的过程,通过照镜子,镜子里的镜像能获取你的属性和行为首先要先有一个定义了自身的本体(Class A),里面必须有一个无参的构造函数 所有的镜子(任意的类)都可以通过照镜子这个行为去获取本体的信息 照镜子有三种方法,需要先声明一个镜像(Class c) 给这个镜像赋值的过程就相当于照镜子,照完镜子后镜像就获取了本体的信息了 接下来镜子就可以通过镜像来得到本体的信息(c....原创 2017-10-24 22:13:18 · 4701 阅读 · 1 评论 -
Android 音视频开发(二):使用 AudioRecord 采集音频PCM并保存到文件(学习笔记)
实现 Android 录音的流程关于 AudioRecordAndroid SDK 提供了两套音频采集的API,分别是:MediaRecorder 和 AudioRecord,前者是一个更加上层一点的API,它可以直接把手机麦克风录入的音频数据进行编码压缩(如AMR、MP3等)并存成文件,而后者则更接近底层,能够更加自由灵活地控制,可以得到原始的一帧帧PCM音频数据。如果想简单地做一个录音机...原创 2019-08-20 23:50:11 · 2150 阅读 · 0 评论