美文网首页
2019-08-21 刷题知识点

2019-08-21 刷题知识点

作者: Jennyni1122 | 来源:发表于2019-08-21 21:37 被阅读0次

1.我们在程序中经常使用“System.out.println()”来输出信息,System是java.lang包下的一个类,out为System的final静态成员(PrintStream类型),println()是PrintStream类的实例方法。

2.String str1 = “abc”,“abc”分配在内存哪个区域?(字符串常量区)
栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中
堆:存放用new产生的数据
静态域:存放在对象中用static定义的静态成员
常量池:存放常量
非RAM存储:硬盘等永久存储空间

3.以下程序运行的结果为(run main)

public class Example extends Thread{
     @Override
     public void run(){
        try{
             Thread.sleep(1000);
             }catch (InterruptedException e){
             e.printStackTrace();
             }
             System.out.print("run");
     }
     public static void main(String[] args){
             Example example=new Example();
             example.run();
             System.out.print("main");
     }
}

4.下面哪种情况会导致持久区jvm堆内存溢出?(使用CGLib技术直接操作字节码运行,生成大量的动态类)
http://blog.csdn.net/sivyer123/article/details/17139443
简单的来说 java的堆内存分为两块:permantspace(持久带) 和 heap space。
持久带中主要存放用于存放静态类型数据,如 Java Class, Method 等, 与垃圾收集器要收集的Java对象关系不大。
而heapspace分为年轻带和年老带
年轻代的垃圾回收叫 Young GC, 年老代的垃圾回收叫 Full GC。
在年轻代中经历了N次(可配置)垃圾回收后仍然存活的对象,就会被复制到年老代中。因此,可以认为年老代中存放的都是一些生命周期较长的对象
年老代溢出原因有 循环上万次的字符串处理、创建上千万个对象、在一段代码内申请上百M甚至上G的内存,既A B D选项
持久代溢出原因 动态加载了大量Java类而导致溢出。

5.通过Intent传递一些二进制数据的方法有哪些?
A、使用Serializable接口实现序列化,这是java常用的方法
B、实现Parcelable接口,这里Andriod的部分分类比如Bitmap类就已经实现了,同时Parcelable在Android AIDL中交换数据也很常见

6.ScrollView可以有几个直接的子控件?(1个)

7.关于Message、Handler、Message Queue、Looper以下描述:
A.Message消息,理解为线程间交流的信息,处理数据后台线程需要更新UI,则发送Message内含一些数据给UI线程。
B.Handler处理者,是Message的主要处理者,负责Message的发送,Message内容的执行处理。
C.Message Queue消息队列,用来存放通过Handler发布的消息,按照先进先出执行。
D.Looper是每条线程里的Message Queue的管家。

8.service的生命周期:


image.png

9.ANR产生时, 系统会生成一个跟踪日志文件,文件是(data/anr/traces.txt)

10.使用AIDL完成远程service方法调用下列说法正确的是:
aidl对应的接口名称不能与aidl文件名相同。
aidl的文件的内容类似java代码
创建一个Service(服务),在服务的onBind(Intent intent)方法中返回实现了aidl接口的对象。
aidl对应的接口的方法前面不能加访问权限修饰符。

11.在 Android 中, 在屏幕密度为160时, 1pt 大概等于_2.22_sp

12.哪些方法可用于显示指定目标组件?
setComponent()、setClass()、setClassName()

13.下列哪些情况下,系统可能会弹出ANR对话框?
在Activity中,Main线程消息队列中的消息在5秒内没有得到响应。
在BroadcastReceiver中,onReceive()方法执行时间超过10秒。

在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。
默认情况下,在android中Activity的最长执行时间是5秒,BroadcastReceiver的最长执行时间则是10秒。超出就会提示应用程序无响应(ANR:Application Not Responding)对话框。
三种常见类型:
1: KeyDispatchTimeout(5 seconds) -- 主要类型
按键或触摸事件在特定时间内无响应
2 : BroadcastTimeout(10 seconds)
BroadcastReceiver在特定时间内无法处理完成
3: ServiceTimeout(20 seconds) -- 小概率类型
Service在特定的时间内无法处理完成


Activity----->5秒
Broadcast----->10秒
Service----->20秒
会报ANR,都是在主线程中运行的

14.Activity生命周期事件回调函数的说法正确的是
onCreate()方法在Activity第一次被创建时调用。
onStop()方法在Activity对用户不可见时调用。

15.Intent传递数据时,下列的数据类型哪些可以被传递?
Serializable、CharSequence、Parcelable、Bundle

相关文章

  • 2019-08-21 刷题知识点

    1.我们在程序中经常使用“System.out.println()”来输出信息,System是java.lang包...

  • 11月第四周总结

    下周计划 英语 1 单词、短语 2 看作文书 3 刷真题 社工 用白纸写知识点 政治 1 整理知识点 2 刷题 3...

  • 复盘第七次2019.7.29

    这两天一直在备考,每天都处在刷题,巩固知识点,再刷题,再巩固知识点的循环中。今天终于考完了。 ...

  • 拼一把吧,没什么不可能

    早上看学习视频,中午也挤时间看,晚上接着看,应该很快就看完了,然后刷题刷题刷题,应该问题不大吧 反正都是学知识点,...

  • 碎碎念|2021.10.12 晴

    1. 最近在开始刷教资的真题和模拟题。 刷题的好处就是:某些知识点,虽然背过了,但理解不到位,刷题可以帮助理解。另...

  • OJ刷题知识点

    C++ | vector vector:向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence ...

  • 我敢打赌,这份Python入门教程看了绝对有用

    前段时间用Python刷了一些题,把刷题的过程遇到的一些小知识点总结了一下,都是一些比较基础的知识点,特别适合一些...

  • 超实用,这份python入门教程看了绝对有用

    前段时间用Python刷了一些题,把刷题的过程遇到的一些小知识点总结了一下,都是一些比较基础的知识点,特别适合一些...

  • 多种解法解决“零钱兑换”问题

    最近在LeetCode上刷算法题,准备秋招。刷了一些题之后,发现有些题非常棒,能够将多种知识点结合在一起。本文就以...

  • 20190816

    掌握的知识点支撑不住刷题的进度,即使是这样,会计还有200题,税法还有200题,审计100题,一遍题都没做完! 这...

网友评论

      本文标题:2019-08-21 刷题知识点

      本文链接:https://www.haomeiwen.com/subject/fwgmsctx.html