"Java面试题、笔试题" 本资源涵盖了Java面试题、笔试题,包含了垃圾回收机制、编码方式、代理模式、异常体系等多个方面的知识点。 1. 垃圾回收机制 垃圾回收机制是Java虚拟机的一种机制,用于回收不再使用的对象。Java虚拟机使用可达性分析算法来判断对象是否需要被回收。GC Roots是垃圾回收机制的起点,包括虚拟机栈、方法区中的类静态属性引用的对象、本地方法栈中JNI引用的对象等。对象如果不能通过GC Roots寻找到,将被认为可以被回收。 2. GC Roots GC Roots是垃圾回收机制的起点,包括: * 虚拟机栈中的对象引用 * 方法区中的类静态属性引用的对象 * 本地方法栈中JNI引用的对象 3. 对象不可达并不一定被回收 即使对象不可达,也不一定会被垃圾回收器回收。Java虚拟机会先判断对象是否需要执行finalize()方法,如果需要执行,将对象放入一个队列中,JVM会开一个线程去回收它们,这是对象最后一次可以逃逸清理的机会。 4. 编码方式 编码方式是计算机中存储和表示字符的方式。常见的编码方式有: * ASCII码:总共128个,用一个字节的低7位表示,0〜31控制字符,32〜126打印字符。 * ISO-8859-1:用来扩展ASCII编码,256个字符,涵盖了大多数西欧语言字符。 * GB2312:双字节编码,总编码范围是A1-A9,是符号区,包含682个字符,B0-B7是汉字区,包含6763个汉字。 * GBK:为了扩展GB2312,加入了更多的汉字,编码范围是8140〜FEFE,有23940个码位,能表示21003个汉字。 * UTF-16:ISO试图创建一个全新的超语言字典,世界上所有语言都可通过这本字典Unicode来相互翻译,而UTF-16定义了Unicode字符在计算机中存取方法,用两个字节来表示Unicode转化格式。 * UTF-8:UTF-16统一采用两字节表示一个字符,但有些字符只用一个字节就可表示,浪费存储空间,而UTF-8采用一种变长技术,每个编码区域有不同的字码长度。不同类型的字符可以由1〜6个字节组成。 5. UTF-8编码中的中文占几个字节、int型占几个字节? UTF-8是一种变长编码技术,UTF-8编码中的中文占用的字节不确定,可能2个、3个、4个,int型占4个字节。 6. 静态代理和动态代理的区别 代理是一种常用的设计模式,目的是为其他对象提供一个代理以控制对某个对象的访问,将两个类的关系解耦。静态代理和动态代理的区别是: * 静态代理:由程序员创建或是由特定工具生成,在代码编译时就确定了被代理的类是哪一个是静态代理。静态代理通常只代理一个类。 * 动态代理:在代码运行期间,运用反射机制动态创建生成。动态代理代理的是一个接口下的多个实现类。 使用场景:Retrofit中直接调用接口的方法;Spring的AOP机制。 7. Java的异常体系 Java中的异常体系是由Throwable继承而来,Throwable有两个直接子类是Error和Exception。 * Error:是程序无法处理的错误,由JVM产生和抛出,如OOM、ThreadDeath等。这些异常发生时,JVM一般会选择终止程序。 * Exception:是程序本身可以处理的异常,又分为运行时异常和非运行时异常。运行时异常有NullPointerException、IndexOutOfBoundsException等,这些异常一般是由程序逻辑错误引起的,应该尽可能避免。非运行时异常有IOException、SQLException、FileNotFoundException等,以及由用户自定义的Exception。
- 粉丝: 272
- 资源: 163
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- jdbc-stdext-2.0.zip
- 中国县域统计年鉴数据,2000-2021年
- LCD12864display.zip
- 智能GPT图书管理系统,全局异常拦截器,登录校验拦截器,Echarts展示借阅量,可添加爬虫功能获取图书数据
- 基于树莓派+YOLOV5的识别模型实现四驱智能小车+项目源码+文档说明+数据集+模型
- 震撼市场潜力:预计2024年创新药市场规模将达到7534亿元,引领医药产业新变革
- chromedriver-132.0.6833.0-win64.zip
- 小六壬速断软件,根据农历月日时辰起卦,得三宫,算事业、算婚姻感情、算失物方位
- 微信小程序入门全流程解析-注册到发布实战指南
- winform,左侧工具栏,右上显示代码,下方显示曲线,曲线可以拖拽移动位置