
Java面试基础
文章平均质量分 94
通过学习Java基础,可以掌握Java语言的编程思想,为后续学习JavaEE打下坚实的基础。如果在学习JavaEE时连封装、继承、多态等基本概念都不懂,将无法进行有效的学习
小七蒙恩
java全栈开发工程师
展开
-
Java面试宝典-java基础09
其次是StringBuffer要比String性能高,因为它的可变性使得字符串可以直接被修改最后是StringBuilder,它比StringBuffer的性能高,因为StringBuffer加了同步锁。比较逻辑不同:Comparable的在类中,Comparator可以在类中,也可以在类外,但在类中意义不大(简单来说,Comparable是内部比较器,Comparator是外部比较器);String的性能是最的低的,因为不可变意味着在做字符串拼接和修改的时候,需要重新创建新的对象以及分配内存。原创 2024-08-29 12:33:29 · 492 阅读 · 1 评论 -
Java面试宝典-java基础08
缓冲区本质上是一个可以读写数据的内存块,可以理解成是一个 容器对象(含数组),该对象提供了一组方法,可以更轻松地使用内存块,缓冲区对 象内置了一些机制,能够跟踪和记录缓冲区的状态变化情况。此外,由于方法引用符可以替代lambda表达式,因此在需要减少代码冗余和提高可读性的地方,也可以考虑使用它。由于“::”操作符可以方便地引用类的方法,并返回函数接口,因此在需要传递函数作为参数或者需要简化代码的场景中非常有用。Java中的BIO、NIO、AIO各有其特定的应用场景,主要取决于它们的特点和适用条件。原创 2024-08-29 11:09:02 · 393 阅读 · 0 评论 -
Java面试宝典-java基础07
序列化就是把内存里面的对象转化为字节流,以便用来实现存储或者传输。序列化的前提是保证通信双方对于对象的可识别性,所以很多时候,我们会把对象先转化为通用的解析格式,比如json、xml等。然后再把他们转化为数据流进行网络传输,从而实现跨平台和跨语言的可识别性。序列化是通过实现serializable接口,该接口没有需要实现的方法,implement Serializable只是为了标注该对象是可被序列化的。反序列化就是根据从文件或者网络上获取到的对象的字节流,根据字节流里面保存的对象描述信息和状态。原创 2024-08-29 10:35:00 · 609 阅读 · 1 评论 -
Java面试宝典-java基础06
final可以修饰类,变量,方法,修饰的类不能被继承,修饰的变量不能重新赋值,修饰的方法不能被重写finally用于抛异常,finally代码块内语句无论是否发生异常,都会在执行finally,常用于一些流的关闭。(2)日志的性能,不管是记录到文件里,还是记录到数据库里,记录日志肯定是要消耗程序性能的,这样,哪些需要记下,哪些不用记,需要权衡利弊。info日志,是最常用的日志,用于记录正常运行情况下,程序的执行情况,执行轨迹,打印一些比较重要的东西,但不能滥用,避免日记记。原创 2024-08-27 17:43:39 · 114 阅读 · 0 评论 -
Java面试宝典-java基础05
可变参数可以用于方法重载,但需要注意的是,如果一个方法使用了可变参数,那么它不能与只接受单个参数的方法进行重载。重写是子类对父类中已有的方法进行重新定义的过程,使得子类对象在调用该方法时执行的是子类中的定义,而不是父类中的定义。另一个隐式参数是静态方法中的class参数,它指向定义该方法的类,可以通过ClassName.class的形式获取,这也是一种隐式参数。在方法内部,这些参数被当作数组处理。当调用对象的某个方法时,JVM查找该对象类的方法表,以确定该方法的直接引用地址,有了地址后才真正调用该方法。原创 2024-08-27 17:17:21 · 208 阅读 · 0 评论 -
Java面试宝典-java基础04
它要求普通的聚合关系中代表整体的对象负责代表部分对象的生命周期,组合关系是不能共享的。与关联不同的是,Person类里并没有Car和House类型的属性,Car和House的实例是以参量的方式传入到buy()方法中去的。但是关联关系所涉及的两个类是处在同一层次上的,而在聚合关系中,两个类是处在不平等层次上的,一个代表整体,另一个代表部分。关联可以是双向的,也可以是单向的。String的性能是最低的,因为String是不可变的,这就意味着在做字符串拼接和修改的时候,需要重新创建新的对象以及分配内存。原创 2024-08-27 17:00:32 · 228 阅读 · 0 评论 -
Java面试宝典-java基础03
Object类是Javajava.lang包下的核心类,Object类是所有类的父类,何一个类时候如果没有明确的继承一个父类的话,那么它就是Object的子类。所以,原始的 String 对象(1111")并没有被修改,而是创建了一个新的 String 对(“11112222”),并将变量 s 指向这个新的对象。在进行运算时,如果操作数的类型不一致,则系统会自动将较低精度的类型提升为较高精度的类型,以保证运算结果的正确性。注意,这里的“提升”通常是隐式的,编译器会自动处理,无需程序员手动干预。原创 2024-08-27 16:12:03 · 201 阅读 · 0 评论 -
Java面试宝典-java基础02
机器语言是一种指令集的体系,是最早出现的计算机语言。机器语言从属于硬件设备。不同的计算机设备有不同的机器语言.所以机器语言是一种面向机器的语言。计算机指令系统中的指令是由“0”和“1”两种符号组成的代码,并且能被机器直接理解执行,它们被称为机器指令。一个计算机的机器指令的集,就构成了该计算机的机器语言,即计算机可以直接接受、理解的语言。机器语言能利用机器指令精准地描述算法、且编程质量高、所占存储空间小,执行速度快。但是这种程序直观性很差,容易出错,阅读检查和修改调试非常困难。原创 2024-08-27 15:54:39 · 2604 阅读 · 0 评论 -
Java面试宝典-java基础01
Java语言之中最大的特点在于其可移植性的支持,所谓的可移植性指的是同一个程序可以在不同的操作系统之间任意的进行部署,这样就减少了开发的难度,在Java里面如果要想实现可移植性的控制,那么主要依靠的是JVM(Java 虚拟机)。Java虚拟机是一个由软件和硬件模拟出来的计算机,所有的程序只要有Java虚拟机的支持,那么就可以实现程序的执行,并且不同的操作系统上会有不同版本的JVM存在,这样。而JRE面向的是Java程序的使用者,只要安装了JRE,就可以在对应的操作系统上运行Java程序。原创 2024-08-27 15:32:57 · 504 阅读 · 0 评论