java基础

161 阅读2分钟

面向对象和面向过程的区别

面向过程

优点: 性能比面向对象高。因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发

缺点: 没有面向对象易维护、易复用、易扩展

面向对象

优点: 易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护

缺点: 性能比面向过程低

Java 语言有哪些特点?

  • 简单易学;

  • 面向对象(封装,继承,多态);

  • 平台无关性( Java 虚拟机实现平台无关性);

  • 可靠性;

  • 安全性;

  • 支持多线程( C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而 Java 语言却提供了多线程支持);

  • 支持网络编程并且很方便(Java语言诞生本身就是为简化网络编程设计的,因此Java语言不仅支持网络编程而且很方便);

  • 编译与解释并存;

关于 JVM JDK 和 JRE 最详细通俗的解答

JVM

什么是字节码?采用字节码的好处

Java 程序从源代码到运行一般有下面3步:

java和C++的区别

字符型常量和字符串常量的区别?

重写和重载的区别

java面向对象编程三大特性:封装、继承、多态

  • 封装(解释)
  • 继承
  • 多态

String、StringBuffer、StringBuilderg的比较

  • 线程安全
  • 性能
  • 总结

自动装箱和拆箱

能够说明、举例

在一个静态方法内调用一个非静态成员为什么是非法的?

在 Java 中定义一个不做事且没有参数的构造方法的作用

接口和抽象类的区别

对象的相等与指向他们的引用相等,两者有什么不同?

在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?

成员变量与局部变量的区别有那些?

创建一个对象用什么运算符?对象实体与对象引用有何不同?

== 与 equals(重要)

hashCode 与 equals (重要)

  • hashCode介绍
  • 为什么要有hashCode

Java序列化中如果有些字段不想进行序列化,怎么办?