Skip to content
DawnSpring edited this page Mar 25, 2021 · 3 revisions

dy

1、java自定义Java.lang.Object类,工程可以编译通过吗?

参考:https://blog.csdn.net/u011212394/article/details/104113847 情况a) 在其他package下新建class Object,使用的时候可以编译通过(自己了解即可,不用answer)

package com.example.fupantest;

public class MyClass {
    public static void main(String[] args){
        System.out.println("welcome");
    }
}

//运行结果,打印出下面语句
welcom

情况b) 自定义一个包,指定包名为 java.lang ,然后在包下创建一个class Object,使用的时候编译不通过 (仅回答这个即可)

package java.lang;

public class MyClass {
    public static void main(String[] args){
        System.out.println("welcome");
    }
}
//结果:
错误: 在类 java.lang.Object 中找不到 main 方法, 请将 main 方法定义为:
   public static void main(String[] args)
否则 JavaFX 应用程序类必须扩展javafx.application.Application

类加载的过程会遵循双亲委派原则,当一个类首次被加载时,会依次向上级类加载器委托,直到最顶层的BootstrapClassLoader。 java.lang.Object属于系统类,会由BootstrapClassLoader优先加载,最终加载的还是系统原生的java.lang.Object类,因此 会报上述错误,找不到main方法。 如果想绕过双亲委派机制,可以通过自定义类加载器实现。(这个也实现不了) 参考:https://blog.csdn.net/u011212394/article/details/104113847

2、下载视频,起3个线程下载3段(并发),下载完以后,另起一个线程合成,如何设计?

3、volitile作用是什么?为什么没有volitile修饰的线程没办法让其中一个线程更改变量时,其他线程不一定拿到更改后的变量?(Java机制)

一个线程写的时候,另外一个线程读的是同一块内存吗?(线程内存模型)

4、事件分发机制流程?scrollview里有一个button,view响应了action_down,再up时会怎样?button.setOnClicklistener,action_down按下button,滑到scrollview中,谁消费了这个事件?

5、Handler post 事件,主/子线程,如何保证post的这个事件是在我post的这个线程中执行呢?原理是什么?

Handler机制?postDelay 300ms,如何保证在300ms后执行,调用时message是300ms后进消息队列还是立即进的? 任意子线程都可以使用Handler吗?有什么要求吗? 为啥用HandlerThread,它比Thread多了啥?

6、Https双方通信时,对称秘钥双方是如何获取的?Http和Https的区别?

7、TCP拥塞控制?

8、Kotlin对string做扩展方法,是怎么实现的?编译生成字节码或.class文件?

9、kotlin协程,挂起会阻塞线程吗?怎么回来?

10、内存优化方式?leakcanary原理,遇到过哪些造成内存泄漏的场景?弱引用和软引用的区别?什么时候回收?

11、卡顿优化?(x-to-c卡顿优化)

xg:

1、surfaceView和TextureView的区别,前者在哪个线程绘制?surfaceFlinker的作用?

2、Bitmap几级缓存?如何优化,图片如何复用内存?

3、线程池有几种?如何取消?线程过多会怎样?

4、视频播放前台/后台如何切换处理?

5、Flutter widget 交换后,颜色没变,如何处理(教程)?electment tree和xxxtree发生了什么?

6、RecyclerView如果view不可见,viewholder可以拿到吗?

7、RxJava线程上限如何限制?onError未处理,有异常如何处理?

8、bt打印最左边的。

Clone this wiki locally