栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础(一)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础(一)

1.说一下c++和Java区别
  1. Java 不提供指针来直接访问内存。
  2. java的类不支持多继承,c++支持
  3. java有自动内存管理机制(GC),不需要程序员手动释放无用内存
  4. java是跨平台的,c++不是。
  5. java只支持方法重载,C++支持方法重载和操作符重载
2.为什么java可以跨平台?为什么JVM可以跨平台?
  • 实现Java程序跨平台运行的核心是JVM虚拟机
  • 所有的 .java 源文件首先会编译成 .class 字节码文件,字节码不能直接与操作系统交互。在运行时JVM通过类加载器加载字节码,将字节码转换成目标机器码交给本地系统去执行。
  • 所以不同的环境下安装不同的JVM,可以使同一个.class文件在不同的环境下运行。
3.什么是解释型语言和编译型语言? 
  • 解释型语言:运行程序的时候才翻译,解释型语言每执行一次就要翻译一次,效率比较低。
  • 编译型语言:编译性语言写的程序在被执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,因为翻译只做了一次,所以执行效率高。
4.说说对面向对象的理解?
  • 面向对象是一种基于面向过程的、“万物皆对象”的编程思想。
  • 在编程思路上,面向对象要首先抽象出类、属性及其方法,然后通过实例化类、执行方法来完成功能。
  • 面向对象具有封装性、继承性、多态性。
追问:那你能说说面向对象和面向过程的区别吗?
  1. 面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题。面向对象会先抽象出对象,然后用对象执行方法的方式解决问题。
  2. 都具有封装性,但是面向过程封装的是功能,而面向对象封装的是数据和功能。
  3. 面向对象具有继承性和多态性,而面向过程没有继承性和多态性
5.说说对多态的理解?多态如何实现?

多态分为:

  • 编译时多态,主要体现是方法的重载
  • 运行时多态,主要体现是方法的重写

要实现多态需要做两件事:

  • 一是子类继承父类并重写父类中的方法
  • 二是父类的引用指向子类对象
6.Java8的新特性有哪些,分别讲一下?

1.函数式接口:有且只有一个抽象方法,但可以有多个非抽象方法的接口。

2.Lambda 表达式:使用 Lambda 表达式可以使代码变的更加简洁,会省略很多代码,允许把函数作为参数传递进方法中。只要方法的参数是函数式接口都可以用 Lambda 表达式。

3.Stream流:它不存储数据,而是按照特定的规则对数据进行处理

7.Java8相比与7的优化 

可以讲讲 HashMap 底层数据结构的优化

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1020047.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号