【安卓】
1.JDK 1.7 HashMap扩容在多线程环境下造成死循环:因为采用头插法,线程1完毕之后,原有的table位置上的结点的next必为null,线程2又对旧table遍历插入新的table表,next会指向头结点,而旧的table表的结点一定会在新table表的尾部,形成循环链表。
2.targetSdkVersion:标志当前应用适配的系统版本,高版本的系统会兼容低版本的应用,通过ApplicationInfo可以获取targetSdkVersion。
3.ViewModel:ViewModelProviders.of(activityOrFragment).get(MyViewModel.class) 、new ViewModelProvider(this).get(MyViewModel.class); 拿到自定义的ViewModel实例,而且总是同一实例。
4.RemoteViews:通知栏自定义View、桌面小Widget等跨进程的显示中会使用到此类。
5.AMS:实际上是system_service里面的一个服务,运行在某个线程中。
6.Worker:后台任务管理,只表示要做的任务,使用步骤比较简单:继承Worker复写doWork(),将Worker包装为WorkRequest,然后调用WorkManager.getInstance().enqueue(WorkRequest)
7.Application.attachBaseContext():比onCreate()还早进行调用的方法,将context赋值给mBase成员。
8.Canvas:drawColor()、drawPath()、drawBitmap()
9.FastBLE:快速的蓝牙连接库,可以帮助我们快速进行蓝牙通信。
10.RecyclerView.OnScrollListener:滚动状态的监听,有两个方法提供我们使用。
11. input keyevent code:模拟手机按键的命令,223休眠,224唤醒。
【前端】
1.flex布局:实现上部不固定高度,下部占据剩余高度的效果,table布局也一样能实现。
【科学】
1.P(A∪B):P(A) + P(B) - P(AB),用韦恩图证明比较清晰
2.功率:做功的速度(也可以理解为利用能量的速度),P = UI = W/t = FV
【英语】
1.He's hading in his homework to the teacher.
2.Dialogue between Jack and Rose:... a strongly worded letter ... promise
3.instruct:My mon instructs me how to play golf.
【产品】
1.强需求和弱需求:可以有和必须有的区别,人群不一样,对需求的强弱不一样。
2.PRD文档:实际上指导设计和开发,建立项目的共同理解。
【后端】
1. PHP匿名类:跟Java的匿名类区别:使用情景差不多,有不同之处,不能访问外部的属性和方法,只能通过构造函数传递进去,另外PHP的匿名类支持继承、实现和trait。