- 博客(5)
- 收藏
- 关注
原创 aidl回调机制图解
1.Activity在Oncreate时期执行bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE);方法,这个方法是activity类自带的。通过intent定位发送到Service端。服务端执行Onbind函数并返回在服务器端定义的Stub对象。这个对象里重写了我们aidl里定义的函数。 2.在Activity端ServiceConnection方法中一旦连接就会返回一个IBinder对象,这个就是Service端返回的stub.
2020-08-17 09:36:36
448
1
原创 用字母树实现一个存储单词的词库
偶然做到一道面试题,想到用字母树来做词库存储的数据结构,感觉这样查询效率挺高的,代码有错误欢迎指正,题目如下: 设计⼀个数据结构WordFilter,⽤来存储含有百万量级单词的词库,并尽可能⾼效 的判断给定⼀个字符串中是否含有词库中的某个单词。 该数据结构基本定义如下: public class WordFilter { //请⾃⾏定义⽤于存储单词的数据结构 //… //添加⼀个词库中的单词wor...
2020-03-26 21:04:23
580
转载 整理一些最近遇到的面试题
进程和线程的主要区别 根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位 在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。 所处环境:在操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有...
2020-03-12 15:26:27
155
原创 实现UDP的双向聊天室
利用Sockket和多线程实现的UDP双向聊天室 发送端 public class UdpSend implements Runnable{ private DatagramSocket ds; private BufferedReader br; int toPort; String toID; UdpServer(int i,String s,int j) throws Excep...
2020-03-02 13:33:29
157
原创 JAVA源码简单学习:ArrayList,LinkedList
//属性 transient Object[] elementData; ArrayList底层是用一个名为“elementData”的Object数组实现的。 grow //方法 private void grow(int minCapacity) { //minCapacity 数组想装下新元素所需的最小容量 // overflow-conscious ...
2020-02-26 21:37:30
143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人