备战BAT面试
文章平均质量分 63
面试资料笔记分享
猎猎风中
一个热爱编程的普通人
展开
-
备战BAT面试:查漏补缺——如何计算复杂度
备战BAT面试的学习记录,整理了最近自己查漏补缺的知识点,总结出来和大家分享,如有错误,欢迎指出!备战BAT面试为什么需要复杂度分析?因为可以脱离测试环境,硬件设备,数据规模等意外因素的干扰。如何表示复杂度?大O复杂度表示法:int test(int n){ int a = 0; int i= 1; for(; i<=n ; i++){ a = a + i; } return a;}在上式中设每行代码执行时间为一个单位时间。那么第2、3行分别需要一个单位时间,所以需要原创 2020-07-25 16:38:57 · 136 阅读 · 0 评论 -
备战BAT面试:查漏补缺——GC垃圾回收
备战BAT面试的学习记录,整理了最近自己查漏补缺的知识点,总结出来和大家分享,如有错误,欢迎指出!备战BAT面试下图所示是堆中内存分配示意图,创建一个对象,首先会在eden区域分配区域,如果内存不够,就会将年龄大的转移到Survivor区,当survivor区域存储不下,则会转移年老代的。一般来说长期存活的对象最终会被存放到年老代,还有一种特殊情况也会被存放到年老代,就是创建大对象时,比如数据这种需要申请连续空间的,如果空间比较大的,则会直接进入年老代。在回收过程中,有一个参数比较重要,就是对象的原创 2020-07-24 16:30:13 · 187 阅读 · 0 评论 -
备战BAT面试:查漏补缺——运行时栈帧结构
备战BAT面试的学习记录,整理了最近自己查漏补缺的知识点,总结出来和大家分享,如有错误,欢迎指出!备战BAT面试栈帧是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈的栈元素;存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息,每一个方法从调用开始至执行完成的过程,都对应着一个栈帧在虚拟机里面从入栈到出栈的过程;要分配多少内存在编译时就完全确定并写入到方法表的Code属性之中了,不会受到程序运行期变量数据的影响;对于执行引擎来说,在活动线程中只原创 2020-07-24 16:21:42 · 207 阅读 · 0 评论 -
备战BAT面试:查漏补缺——双亲委派模型
备战BAT面试的学习记录,整理了最近自己查漏补缺的知识点,总结出来和大家分享,如有错误,欢迎指出!备战BAT面试双亲委派模型对于某个特定的类加载器而言,应该为其指定一个父类加载器,当用其进行加载类的时候:1. 委托父类加载器帮忙加载; 2. 父类加载器加载不了,则查询引导类加载器有没有加载过该类; 3. 如果引导类加载器没有加载过该类,则当前的类加载器应该自己加载该类; 4. 若加载成功,返回 对应的Class 对象;若失败,抛出异常“ClassNotFoundException”。原创 2020-07-24 16:11:51 · 137 阅读 · 0 评论 -
备战BAT面试:查漏补缺——JVM内存模型
备战BAT面试的学习记录,整理了最近自己查漏补缺的知识点,总结出来和大家分享,如有错误,欢迎指出!备战BAT面试JVM的内存分布如上图所示。方法区和堆是线程共享的,而寄存器、java方法栈、本地方法栈是各个线程私有的。区域介绍方法区注:在最新的《深入理解Java虚拟机》一书中,已经取消了方法区“永久代”的称呼。方法区是用来存储已被JVM加载的类信息、常量、静态变量、即时编译器编译后的代码等数据这个区域很少进行垃圾回收,回收目标主要是针对常量池的回收和对类型的卸载。运行时常量池是方原创 2020-07-24 16:04:23 · 141 阅读 · 0 评论 -
备战BAT面试:查漏补缺——一张图看完JVM总体架构
备战BAT面试的学习记录,整理了最近自己查漏补缺的知识点,总结出来和大家分享,如有错误,欢迎指出!备战BAT面试原创 2020-07-24 15:55:58 · 146 阅读 · 0 评论 -
备战BAT面试:查漏补缺——反射
备战BAT面试的学习记录,整理了最近自己查漏补缺的知识点,总结出来和大家分享,如有错误,欢迎指出!备战BAT面试原创 2020-07-24 15:52:33 · 105 阅读 · 0 评论 -
备战BAT面试:查漏补缺——泛型
备战BAT面试的学习记录,整理了最近自己查漏补缺的知识点,总结出来和大家分享,如有错误,欢迎指出!备战BAT面试泛型泛型备战BAT面试泛型概述泛型只在编译阶段有效泛型的使用泛型类泛型接口泛型方法泛型通配符泛型上下边界关于泛型数组概述泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化原创 2020-07-24 10:05:15 · 108 阅读 · 0 评论 -
备战BAT面试:查漏补缺——容器
备战BAT面试的学习记录,整理了最近自己查漏补缺的知识点,总结出来和大家分享,如有错误,欢迎指出!备战BAT面试容器容器是我们保存对象的一种手段说道保存对象,其实最简单的是数组,但是数组具有固定的尺寸。而通常来说,程序总是在运行时根据条件来创建对象,我们无法预知将要创建对象的个数以及类型,所以Java推出了容器类来解决这一问题。两种不同概念的容器Collection,独立元素序列,这些元素都服从一条或多条规则。Collection包括List,Set以及Queue。-List必须按照顺序保原创 2020-07-24 09:24:50 · 140 阅读 · 0 评论 -
备战BAT面试:查漏补缺——接口与抽象类
备战BAT面试的学习记录,整理了最近自己查漏补缺的知识点,总结出来和大家分享,如有错误,欢迎指出!备战BAT面试接口接口方法的访问权限JDK 1.8以前,接口中的方法必须是public的JDK 1.8时,接口中的方法可以是public的,也可以是default的JDK 1.9时,接口中的方法可以是private的接口函数的声明在接口中,属性默认public static final,这三个关键字可以省略;方法默认是public abstract,接口中不允许有static类型的方法。原创 2020-05-10 22:14:17 · 244 阅读 · 0 评论 -
备战BAT面试:查漏补缺——IO相关
备战BAT面试的学习记录,整理了最近自己查漏补缺的知识点,总结出来和大家分享,如有错误,欢迎指出!备战BAT面试IO相关IO概述站在内存的角度上,从其他的设备进入内存的,都是输入,从内存到其他的设备的都是输出,I/O就是用于设备之间的进行传递的数据交互的对象的所属的类型。字节流与字符流字节流:通常用来处理二进制数据(处理的是bit)字符流:处理的最基本的单元是Unicode码元(大小2字节),它通常用来处理文本数据。(处理的是char)不得不记住的一些类字节流字符流原创 2020-05-10 21:51:31 · 205 阅读 · 0 评论 -
备战BAT面试:查漏补缺——关于异常
学习记录,知识点零散,如有错误,欢迎指出!Java学习记录关于异常运行时异常,非运行时异常和error异常分为运行时异常,非运行时异常和error,其中error是系统异常,只能重启系统解决。非运行时异常需要我们自己捕获,而运行异常是程序运行时由虚拟机帮助我们捕获,运行时异常包括数组的溢出,内存的溢出空指针,分母为0等!编译期和运行期的典型操作编译时期运行时期静态绑定动态绑定使用private,static,final修饰变量或方法使用静态绑定可以被子类重写的方法原创 2020-05-10 20:59:17 · 302 阅读 · 0 评论 -
Java学习记录:查漏补缺——修饰符与静态修饰符
学习记录,知识点零散,如有错误,欢迎指出!Java学习记录访问修饰符访问权限类包子类其他包概况public∨∨∨∨对任何人都是可用的protect∨∨∨×继承的类可以访问以及和private一样的权限default∨∨××包访问权限,即在整个包内均可被访问private∨×××除类型创建者和类型的内部方法之外的任何人都不能访问的元素实在记不住就记住第一行和第一列的顺序,然后画个对角线就好啦注:static原创 2020-05-10 17:10:50 · 166 阅读 · 0 评论 -
Java学习记录:查漏补缺——面向对象
学习记录,知识点零散,如有错误,欢迎指出!Java学习记录面向对象1. 基本特征封装、继承、多态2. AOP和OOP的区别面向对象编程 (OOP) 则是对业务分析中抽取的实体进行方法和属性的封装。面向切面编程 (AOP) 偏重业务处理过程的某个步骤或阶段,强调降低模块之间的耦合度,使代码拥有更好的移植性。简单介绍AOP首先要了解Spring是什么Spring是一个容器。简单来说Spring是一个库,它的功能是提供了一个软件框架,这个框架目的是使软件之间的逻辑更加清晰,原创 2020-05-09 21:37:19 · 252 阅读 · 0 评论 -
Java学习记录:查漏补缺——基本数据类型
java知识点学习阶段性总结。原创 2020-05-09 21:22:06 · 160 阅读 · 0 评论