Android Java基础面试题
Android Java基础
- ClassLoad双亲委派模式的原因
防止自定义类加载器优先加载了顶层公用的类,比如Object类,这样系统中就存在多个形同的类。 - Java内存区域
堆,函数栈(多个栈帧(返回地址,操作数栈,局部变量表,动态链接)),程序计数器,本地方法栈,方法区(常量,类,静态对象) - AIDL onTransact()运行在哪个进程?
当客户端与服务端都位于同一个进程时,方法调用不会走跨进程的transact过程,而当两者位于不同进程时,方法调用需要走transact过程,这个逻辑是由Stub的内部代理Proxy完成的. - Binder原理
优势:
高效一次拷贝,client server安全。
架构模型:
Client Server模型,两端都实现相同的接口,Client依据AIDL接口生成的代理类proxy接收服务端数据反序列化后返回结果,Server端接受到Binder实体指针和函数参数数据,根据指针找到Binder实体并且调用函数生成可传输的数据包返回给Client。流程上Server向ServiceManager注册服务,在ServiceManager中有查找表保存Binder实体引用和名字,Client根据名字获取Binder实体的引用。
底层原理:
一次拷贝就可以完成通信,mmap负责将分配的一块内存映射到内核区和接收方的缓存区,发生通信时,发送端执行一次copy-from-user,实现发送端到内核端的copy,接收端由于映射关系可以直接读取该缓存数据。
关键字:
client server,serviceManager,Proxy,stub,驱动,mmap,内核区进程内存区,Binder实体指针,ServiceManager查找表 - sleep和wait有什么区别
a. sleep是Thread的静态方法,wait是Object的方法
b.sleep不会释放锁,当前线程虽然会释放cpu但是继续持有锁,其他线程无法访问被对象锁锁住的方法,wait会释放锁,线程加入就绪队列。 - Synchronized锁升级
偏向锁,自旋锁,重量级锁。
Android Java基础面试题相关推荐
- 人类高质量Java基础面试题大全,又是一篇三万字的总结!
点击主页访问更多精彩文章:https://blog.csdn.net/weixin_45692705?spm=1001.2101.3001.5343 Java基础面试题目录 共勉 ! Java概述 1 ...
- 2022 最新 Java 基础 面试题(一)
2022 最新 Java 基础 面试题(一) 1.面向对象的特征有哪些方面? 3.String 是最基本的数据类型吗? 4.float f=3.4;是否正确? 5.short s1 = 1; s1 = ...
- 知识点整理,Java基础面试题(一)
写在前面 整理了一些互联网大厂的面试题,这些面试题经常会被问到,也是作为Java工程师需要掌握的一些知识点,毕竟理论和实践的结合,才是王道,分片整理,每天嗑些知识点,快乐每一天,如果对你有帮助,记得点 ...
- 100道Java基础面试题收集整理(附答案)
不积跬步无以至千里,这里会不断收集和更新Java基础相关的面试题,目前已收集100题. 1.什么是B/S架构?什么是C/S架构 B/S(Browser/Server),浏览器/服务器程序 C/S(Cl ...
- 判断一个java对象中的属性是否都未赋值_100道Java基础面试题(一)
100道Java基础面试题(一)未来大家将步入职场,面试的时候面试官还会问大家一些Java相关的问题.小编整理出100道非常实用的面试题目,可以帮助双体的小伙伴应对面试,我们一起来看看都有哪些吧! 1 ...
- Java继承_30道最常问的Java基础面试题
30道最常问的Java基础面试题 1. 面向对象和面向过程的区别面向过程优点: 性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机.嵌入式开发.Linux/Unix等一般采 ...
- Java 基础面试题,java基础面试笔试题
我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...
- Java进阶篇(六)——Swing程序设计(上),java面试题,java基础笔试题,BAT
写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. Sw ...
- Java基础知识面试题(2021最新版)
转载自:https://thinkwon.blog.csdn.net/article/details/104390612 文章目录 Java概述 何为编程 什么是Java jdk1.5之后的三大版本 ...
- Java基础-面试题精华(2021最新)
Java基础-面试题精华 提示:本人已经成功帮助20多位面试者斩获BAT大厂offer,现在把自己的笔记分享出来,提炼出高频java面试题目,都是干货,觉得有用的话,记得点赞收藏哦,后期会上sprin ...
最新文章
- WPF wpf scrollviewer 触屏滚动 窗体弹跳
- Docker入门-构建第一个Java程序
- 内置类型存储空间(32位机参考)
- 二叉树输出(信息学奥赛一本通-T1366)
- 美国要贩卖网民隐私:最大成人网站出手反击
- springboot做梦网云科技短信业务
- android 后台极光,Android 使用极光推送集成、出现问题和后台保活,android极光
- 圆柱体积计算机公式,圆柱的体积怎么算公式
- AnimationController
- 南京社保详解(绝对有用)
- TWaver三维可视化管理软件、3D和2D开发工具软件的试用(申请试用的回复邮件)
- 信息安全论学习笔记(一):绪论
- c中纠结不清的点(1)
- 如何在PPT中对文字进行错位排版
- Web测试的各个测试点
- chrome插件莫名消失【已解决】
- Android网络数据JSON解析使用总结
- 矩阵的行列式的计算-余子式
- 【暑期每日一题】洛谷 P7583 [COCI2012-2013#1] DOM
- jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class