JVM 与字节码
Class字节码解读
字节码文件中的十部分结构简单的分析如上所述,包含了让jvm识别的magic;java的版本号;常量池(各种成员名,方法名,类名,源文件名,方法描述符等等),这些常量信息被后面的field,method等等所引用;访问权限;类名和父类全限定名;实现的接口信息;类中成员和方法;类的额外属性。
栈区存储结构运行原理
不同线程中所包含的栈帧是不允许存在相互引用的,即不可能在一个栈帧之中引用另外一个线程的栈帧。
如果当前方法调用了其他方法,方法返回之际,当前栈帧会传回此方法的执行结果给前一个栈帧,接着,虚拟机会丢弃当前栈帧,使得前一个栈帧重新成为当前栈帧。
寄存器
虚拟内存和物理内存调度的机制
重入锁、公平锁
Oop面向切面
这里可以联想一下laravel的中间件、javaweb的拦截器、vue的Decorator…它们都是AOP思想的实践。装饰器模式、代理模式,它们也是基于AOP思想的设计模式。
AOP思想,指导我们通过找到平整切面的形式,插入新的代码,使新插入的代码对切面上下原有流程的伤害降到最低。
动态代理
虚拟内存/物难内存
Page点亏效瑞艾坟原歷
•从Framework看 Binder的实现
map内存映射许語
Binder进程通信原理
Loop消息机制
pipe/epoll机制
message解析
zygote
ams详解
pms详解
wms
应用从肩动到onCreate的过程
图像的生成过程
Android资源的加载机制
RecycleViev劑析
Architecture设计思想
启动优化到底应该怎么回答
JUC中闭锁是什么?如何在启动中应用
MVP基础框架搭建
根除Activity内存泄漏
Base类常用设计模式模板与适配器应用
Jetpack新技术Lifecycle的融入
Lifecycle核心设计恩想
dagger2基本使用
局部单例技术是如何实现的
深入理解scope 让dagger2的使用更轻松
hilt实现原理分析
B树、B+树
(1)减少数据的负担。
但是一旦用了 select *,就会有其他列需要读取,这时在读完 index 以后还需要去读 data 才会返回结果,这样就造成了额外的性能开销。
FROM table1 INNER|LEFT|RIGHT JOIN table2 ON conditiona
INNER JOIN(内连接,或等值连接):取得两个表中存在连接匹配关系的记录。
LEFT JOIN(左连接):取得左表(table1)完全记录,即是右表(table2)并无对应匹配记录。
RIGHT JOIN(右连接):与 LEFT JOIN 相反,取得右表(table2)完全记录,即是左表(table1)并无匹配对应记录。
mysql> select A.id,A.name,B.name from A,B where A.id=B.id;
内连接,也叫等值连接,inner join产生同时符合A和B的一组数据。
mysql> select * from A inner join B on A.name = B.name;
left join,(或left outer join:在Mysql中两者等价,推荐使用left join.)左连接从左表(A)产生一套完整的记录,与匹配的记录(右表(B)) .如果没有匹配,右侧将包含null。
mysql> select * from A left join B on A.name = B.name;
free链表
flush链表
lru链表
Explain