java面试准备中

java面试考点学习记录


前言

新手入门,请多指教
后序持续更新


一、基础问题


1、面向对象和面向过程的优缺点

面向对象更易复用,易维护,易拓展,因为面向对象有封装、继承、多态等特性、可以设计处低耦合的系统,使系统更加灵活、更易于维护,在性能效率上不如面向过程

面向过程性能优于面向对象编程(因为不用实例化,面向对象的类实例化开销比较大)所以在性能为优先考虑的时候,如单片机,嵌入式系统,Linux/Unix开发常用面向过程开发。在复用,维护,拓展方面不如面向对象
实际
面向过程更快的根本原因:⾯向过程语⾔⼤多都是直接编译成机械码在电脑上执⾏,java是半编译语言(需要先编译成JVM理解的语言,再由JVM编译为机械码??

2、Java 语⾔有哪些特点

  1. 简单易学;
  2. ⾯向对象(封装,继承,多态);
  3. 平台⽆关性( Java 虚拟机实现平台⽆关性);
  4. 可靠性;
  5. 安全性;
  6. ⽀持多线程;
  7. ⽀持⽹络编程并且很⽅便( Java 语⾔诞⽣本身就是为简化⽹络编程设计的,因此 Java 语
    ⾔不仅⽀持⽹络编程⽽且很⽅便);
  8. 编译与解释并存;//为什么叫编译与解释并存↓↓↓↓
    JVM
    JIT
    java本来是解释型语言,JDK将代码编译为字节码 形成.class文件.字节码由JVM虚拟机解释,
    后引进了JIT编译器 通过JIT编译器 将常出现的方法与代码块的代码直接编译成 本地平台相关的机器码,并保存起来,下次直接使用。

3、Java 和 C++的区别

1、都是面向对象编程,都支持封装、继承、多态
2、java不提供指针直接访问内存,程序内存更安全
3、java有自动内存管理机制,不用手动释放内存
4、java的类是单继承的,C++多继承。但java接口可以多继承
单继承(extends 后面只能接一个父类)
为什么类只能单继承 因为在 C++ 中一个类是可以继承自多个类,但这样的机制会使类的结构变的很复杂,所以 JAVA 将 C++ 这一机制通过接口得以改善。JAVA 中不允许类多重继承,只能单一继承,但有些情况单一继承并不能表达出现实世界中的某些逻辑关系,所以就提出了通过接口来实现多重继承。
为什么接口可以多继承 因为接口定义的都是抽象的方法,而且不能在接口中实现方法。所以,接口继承多个接口,并不会使接口的结构变得很复杂。相反,这样做,还能给一个团队在开发的过程中,提供很多便利。
5、C中字符和字符串结束都有’\0’表示结束,但java没有

4、抽象类与接口

有抽象方法的只能是抽象类,一般类继承抽象类必须重写所有的抽象方法(可以抽象子类继承抽象类,不重写完,再由孙子类重写没重写的抽象方法(子类重写过了的就不再是抽象方法了))(未完待续)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值