面試就业题库-01

这篇博客主要介绍了Java的基础知识,包括面向对象与面向过程的区别、Java的特点、JDK、JRE、JVM的关系、字符串常量与字符型常量的对比、构造器重载、面向对象的三大特性等。还提到了线程、String与StringBuilder的区别、静态方法与实例方法的不同以及对象的相等与引用相等的概念。此外,还讨论了接口与抽象类的区别以及成员变量与局部变量的差异。
摘要由CSDN通过智能技术生成

1. java基础(1)

1.1 面向对象和面向过程的区别(记住)

在这里插入图片描述

面向过程(C,C++(即是面向过程,又是面向对象),C#,.NET)

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

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

面向对象(Java)

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

缺点: 性能比面向过程低(性能: 执行程序所耗费时间)

实际的应用场景:

  1. 开发大型网络游戏: C语言
  2. 企业级项目: Java语言

1.2 Java 语言有哪些特点(记住)

  1. 面向对象(三大特点: 封装,继承,多态);

  2. 平台无关性( 不同平台(操作系统),不同的操作系统,安装的虚拟机不一样(解释和执行class文件));

  3. 可靠性;

  4. 安全性;

  5. 支持多线程( C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而 Java 语言却提供了多线程支持);
    自定义线程的方式有几种?
    自定义线程池的方式有几种?

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

    比如:Socket, JavaFX网络编程框架(面试的强点比如: 美团,滴滴等),这里我有个项目,学习资料);

  7. 编译与解释并存;

1.3 JDK , JRE, jvm

  • 从范围大小说:
  1. jdk: java开发环境
  2. jre: java运行环境
  3. jvm: java虚拟机(作用: 解释执行class字节码文件的)
    结论: jdk包含jre,jre包含jvm
  • 从内容来说来说
    jdk主要包含三大部分
  • java的核心命令: javac.exe(编译命令) java.exe(java运行命令)
  • 核心jar: tools.jar , rt.jar(里面有c语言的文件)等等(jar包大部分都是class文件,不能直接阅读)
  • 源码包: src.zip(sources.zip,里面都是java文件,可以直接阅读,对应的jar的class文件.)
  • 比如: src.zip: A.java(直接阅读)-------------->define.jar: A.class(不能阅读)

1.4 字符型常量和字符串常量的区别(记住)

  • 字符: 比如: char a = ‘a’; 在内存中占2个字节,char基本类型

  • 字符串: 比如: String str=“abvvv”; 在内存中根据字符串的长度去判断占多少字节,String是引用类型

  • 在这里插入图片描述在这里插入图片描述

1.5 构造器 Constructor 是否可被 override(记住)

* 重写:  子类(子接口 )重写 父类(父接口)的方法
* 重载: 在类中,方法名称必须相同,方法的参数个数,参数类型不同, 与返回值无关
* 构造器 Constructor 不可以被重写

1.6 Java 面向对象编程三大特性:封装、继承、多态(掌握)

封装

封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法,如果属性不

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值