Linux杂项


查看分区使用情况df -h查看目录使用情况du -h --max-depth=1查看分区情况fdisk -l挂载分区-t ext4 可选,可以自动识别文件系统sudo mount -t ext4 /dev/sda1 /disk1取消挂载sudo umount /dev/sda1格式化分区需先取消挂

事件分发处理与滑动冲突


事件分发知识点事件分类事件简介ACTION_DOWN手指 初次接触到屏幕 时触发ACTION_MOVE手指 在屏幕上滑动时触发,会多次触发ACTION_UP手指 离开屏幕 时触发ACTION_CANCEL事件 被上层拦截 时触发相关方法类型相关方法ActivityViewGroupView事

Binder 跨进程通信


内存划分操作系统为了系统和程序的安全,用虚拟内存映射真正的物理内存,把各个程序内存进行隔离。同时把内存分为内核空间和用户空间,程序间通信只能通过内核空间作为中介通信。​传统 IPC 传输数据可以看到,一个应用的数据传输到一个另一个应用,需要两次复制 copy_from_user(), copy_to

Java IO

Java 

IO简介​数据流是一组有序,有起点和终点的字节的数据序列。包括输入流和输出流。​ 流序列中的数据既可以是未经加工的原始二进制数据,也可以是经一定编码处理后符合某种格式规定的特定数据。因此Java中的流分为两种:字节流:数据流中最小的数据单元是字节字符流:数据流中最小的数据单元是字符, Java

Kotlin基础(2)

Kotlin 

泛型? extend T => out T 协变 传入只能是其子类 只能get? super T => in T 逆变 传入只能是其父类 可以get/setObject 相当于 Any?String? 最高父类 Any?fun main() { var d

Kotlin基础(1)

Kotlin 

val varval定义的为只读类型,通过把kotlin编译成字节码再反编译成Java发现,其实是Java加了final关键字。var定义的为可读写类型lateinitkotlin变量没有默认值,一般都要初始化。该关键字表示先不初始化,过一会再初始化字符串模板"str的长度:${str.l

ClassLoader、热修复原理


ART 和 Dalvik​DVM也是实现了JVM规范的一个虚拟器,默认使用CMS垃圾回收器,但是与JVM运行 Class 字节码不同,DVM 执行 Dex(Dalvik Executable Format) ——专为 Dalvik 设计的一种压缩格式。Dex 文件是很多 .class 文件处理压缩后

内存分配与回收策略

Java 

学习垃圾回收的意义Java与C++等语言最大的技术区别:自动化的垃圾回收机制(GC)为什么要了解GC和内存分配策略面试需要GC对应用的性能是有影响的写代码有好处栈:栈中的生命周期是跟随线程,所以一般不需要关注堆:堆中的对象是垃圾回收的重点方法区/元空间:这一块也会发生垃圾回收,不过这块的效率比较低,

深入理解JVM内存区域

Java 

虚拟机历史了解即可,无需关注Hotspot什么意思:热点代码探测技术,及时编译器(发现最有价值的代码,如果代码用得非常多,就会把这些代码编译成本地代码)。

线程池、AsyncTask

Java 

线程池什么是线程池?为什么要用线程池?Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。线程池就是将线程进行池化,需要运行任务时从池中拿一个线程来执行,执行完毕,线程放回池中。在开发过程中,合理地使用线程池能够带来3个好处。降低资源消耗。通过重复利用已