JavaSE面试题(二)

news2024/9/22 1:16:38

1:说一说八大基本数据类型

在这里插入图片描述

2:面向对象

面向对象的核心,就是类和对象。Java中的面向对象的思想:万物皆对象。
类:是对一类事物的描述,是抽象的,看不见,摸不着。
对象:是实际存在的该类事物的每个个体 也称为实例 是具象的。
所以面向对象程序设计的重点是类的设计,而不是对象的设计。
类是对象的描述
对象叫做类的实例化(Instance)
类不占内存,对象才占内存。

3:说一说Java的特点

1.Java是面向对象的
2.Java是跨平台的:一次编译,到处运行
3.Java是多线程的
4.Java有GC,简化了开发
5.Java是分布式的
6.Java现在运用最广泛(有待商榷,python太猛了)
7.支持多线程( C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而 Java 语言却提供了多线程支持);
8.支持网络编程并且很方便( Java 语言诞生本身就是为简化网络编程设计的,因此 Java 语言不仅支持网络编程而且很方便);
9.编译与解释并存;

4:说一说JVM和字节码

JVM是Java虚拟机:读取和运行字节码文件的虚拟机,JVM针对不同系统的特定版本的JVM,目的是使用相同的字节码,他们都会给出相同的结果,一次编译,可以到处运行。

字节码:Java中,JVM可以理解的语言符号就是字节码,装载字节码的文件叫做字节码文件,也就是class文件,字节码文件只面向JVM,由于的跨平台性,Java程序无需重新编译,可以在多种平台上运行。

5:JDK与JRE

JRE是Java运行时环境,JRE运行已经编译过的Java程序,包含编译后程序运行所需要的JVM虚拟机+Java类库+Java命令+其他的一些基础组件,JRE不能新程序的创建。

JDK是功能齐全的JavaSDK:包含编译后程序运行时环境,也就是JRE,同时还包含Javac编译器和其他的一些工具(Javadoc和jdb)JDK可以创建、编译新程序。

6:什么是位运算符

// 在hashmap源码中 默认的容量和最大容量 它采用了位运算符
static final int DEFAULT_INITIAL_CAPACITY = 1 << 4;	// 其实就是16
static final int MAXIMUM_CAPACITY = 1 << 30;
static final float DEFAULT_LOAD_FACTOR = 0.75f;
// 位运算符 相当于二进制中 数值左移4位  00001 --> 10000

7:讲一讲什么是函数式接口

函数式接口的定义:任何接口,如果只包含一个抽象方法,那么他就是一个函数式接口
对于函数式接口,我们可以通过lambda表达式来创建该接口对象。

public interface Runnable{
	public abstract void run();
}

8:StringBuilder和StringBuffer的区别

  1. 他们都是可变长度的字符串
  2. StringBuffer 线程安全 效率低
  3. StringBuilder 线程不安全 效率高

9:简单介绍下多态、重载、重写

多态:同一种事物的多种形态。
作用:
1.不必为每一个派生类编写功能调用,只需要对抽象基类进行处理即可,提高可复用性;
2.派生类的功能可以被基类的方法或引用变量所调用,提高可扩展性。

  1. 编译时多态 方法重载overload
    • 方法名必须相同
    • 形参列表必须不同(形参的数据类型和形参的个数不同)
    • 与返回值类型无关
  2. 运行时多态 方法重写overwrite
    • 必须存在继承关系
    • 重写的方法、返回值类型、参数列表必须和父类的方法保持一致
    • 子类的访问修饰符不能低于父类方法的访问修饰符 public

10:讲一讲自动装箱和拆箱

装箱:将基本类型用它们对应的引用类型包装起来;
拆箱:将包装类型转换为基本数据类型;

11:String能被继承吗?

不能,String类是被final修饰的,底层是有数组实现,数组的长度是不可变的。

public final class String implements java.io.Serializable, Comparable<String>, CharSequence 

12:什么叫做解释性语言、编译性语言

Java的源文件以.java为扩展名,通过javac编译过后形成.class文件;.class文件则是java虚拟机能够运行(翻译成对应操作系统可执行的文件)的文件。(熟悉两个概念:解释型语言和编译型语言)

解释型语言:是在程序运行时将程序翻译成机器语言,所以运行速度相对于编译型语言较慢。如JS

编译型语言:在程序执行之前,有一个单独编译的过程,直接将程序翻译成机器语言,以后执行时,就不需要进行翻译了。

13:private关键字的作用

private修饰的方法,只能在本类中进行使用,方法中可以访问本类对象的所有的私有属性和私有方法,可以在本类所有的方法中出现,本类对象点私有属性或者本类对象点私有方法的这种情况。

在这里插入图片描述
private修饰的内容,不能在除了本类之外所有的地方进行调用,包括main方法中或者子类中或者父类中或进行本类对象点私有属性或者本类对象点私有方法,都是错误写法编译期报错。

private 修饰的方法和字段,说白了,只能够本类方法中调用,只是也可以访问本类其他对象的私有字段和属性而已。

14:static关键字的作用

Java当中的所有的方法都可以被继承,private 方法(但是不可见)和static方法都可以

静态方法是静态绑定,静态绑定是在编译时完成的,动态绑定是在运行时完成的。

static 方法可以被继承,如果子类中方法名一样,从父类中继承的静态方法会被隐藏

如果父类和子类都都含有同名的静态方法,对象.方法调用的都是对象声明类型的静态方法,如果对象声明类型中没有此静态方法,去父类中找,因为本质上静态方法是类的方法,和对象没有关系,和直接用类名调用时一样的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/99199.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

week 7 吴恩达 调参 ,batch norm,softmax

文章目录前言7.1调整参数的过程 Turing progress7.2、scale7.3 如果在实践中探寻超参数7.4 batch normalization 批量归一化7.5 将BN算法拟合到神经网络中7.6 为什么 BN有效&#xff1f;7.7测试时的BN7.8 7.9 softmax regression7.10深度学习的框架前言 7.1调整参数的过程 Turi…

CentOS 8:环境变量

环境变量 环境变量&#xff0c;就是放在当前环境中的变量 无论Linux &#xff0c;还是Windows&#xff0c;都有环境变量 比如&#xff0c;最常用的环境变量 PATH, JAVA_HOME 定义环境变量 export JAVA_HOME/opt/jdk1.8 显示环境变量 echo $JAVA_HOME 查看所有环境变量…

c语言位操作和变量存储类型

c语言位操作 c语言变量存储类型 格式[存储类型说明符] 数据类型说明符 变量名&#xff0c;例如&#xff0c;auto int a;但一般情况下auto是省略的 其他类型说明符还有&#xff1a;static 、extern、register auto最普通动态存储&#xff0c;但所在范围的函数程序结束后&#xf…

处理模型视图中的选择

有关在视图中选择的项的信息存储在QItemSelectionModel类中&#xff0c;这将维护单个模型中项的模型索引&#xff0c;并且独立于任何视图。由于一个模型可以有多个视图&#xff0c;因此可以在视图之间共享选择&#xff0c;从而允许应用程序以一致的方式显示多个视图 选择由选…

Redis高并发锁(二)乐观锁

文章目录redis乐观锁1. watch 监控key2. multi 开启事务3. exec 执行事务4. 演示1) 先用两个连接AB访问redis2) A监控key,此时库存是45013) A开启事务&#xff0c;并且将库存-1,事务进入队列等待执行4&#xff09;此时B更新库存为20015&#xff09;A开始执行事务业务改造1. Sto…

C++11--包装器与可变参数摸板

文章目录可变参数模板递归函数方式展开参数包函数包装器举个例子bind函数举个例子可变参数模板 C11的新特性可变参数模板能够让我们创建可以接受可变参数的函数模板和类模板 // Args是一个模板参数包&#xff0c;args是一个函数形参参数包 // 声明一个参数包Args... args&…

Spring Cloud之Feign消费和Hystrix熔断

Spring Cloud的Feign消费和Hystrix熔断 现如今&#xff0c;由于互联网的流行&#xff0c;很多特产都可以在网上订购&#xff0c;你可以在堆满积雪的冬北订购海南的椰子&#xff0c;海南的椰子就会采用很快的物流方式调送到堆满积地的东北&#xff0c;就相当于在本地实现了买椰…

Opencv(C++)笔记--图像金字塔

目录 1--图像金字塔的原理 2--图像金字塔的用途 3--Opencv API 3-1--拉普拉斯金字塔上采样 3-2--高斯金字塔下采样 3-3--代码实例 4--参考 1--图像金字塔的原理 图像金字塔常用于图像缩放&#xff08;resize&#xff09;和图像分割当中&#xff0c;不同分辨率的图像以金…

CSS基础总结(四)浮动

文章目录 一、为什么需要浮动 1.传统网页布局的三种方式 2.标准流 二、浮动的概述 三、浮动的特性 1.脱标 2.一行显示&#xff0c;顶部对齐 3.具备行内块元素特性 四、清除浮动 1.为什么要清除浮动 2.清除浮动的本质与策略 3.清除浮动的四大方法 &#xff08;1&…

解决安卓刷新recyclerView时导致itemDecoration分栏标题绘制错乱(重叠和隔空现象)

安卓的 itemDecoration 装饰器是个好东西&#xff0c;可以与adapter适配器一样闪耀。但是刷新的时候有可能发生重叠绘制或者莫名隔空的BUG。 三、原作 本文分栏标题装饰器的原作者为简书博主endeavor等人&#xff1a; https://www.jianshu.com/p/8a51039d9e68 二、隔空 紧…

Java+MySQL基于ssm的残疾人管理系统

我国残疾人人口数量相当巨大,据中残联给出的数据,我国约有8500万残疾人。残疾人是社会弱势群体,并且数量庞大影响人数众多,如何能更好的对这些残疾人进行关注和帮助他们更好的生活是当下社会研究的一个主要问题之一,于是我们提出了残疾人信息管理系统的设计与开发。 本课题是一…

内核驱动修改内存

概述 本文会利用内核驱动进行读写取第三方应用内存。 内核实现会使用内联汇编 所以对于内核数据结构每个windwos版本不一样需要判断&#xff0c;本文使用19041所写代码。 命令行&#xff1a;winver 即可查看你当前的版本&#xff0c;如下图19042.631 就是构建版本号 或者调用…

痞子衡嵌入式:低功耗高性能边缘人工智能应用的新答案 - MCXN947

大家好&#xff0c;我是痞子衡&#xff0c;是正经搞技术的痞子。今天痞子衡给大家介绍的是恩智浦MCX系列MCU的新品MCXN947。 自 2015 年恩智浦和飞思卡尔合并成新恩智浦之后&#xff0c;关于它们各自的 Arm Cortex-M 内核通用微控制器代表作系列 LPC 和 Kinetis 接下来怎么发展…

数据结构 | 链式二叉树【递归的终极奥义】

递归——这就是俄罗斯套娃吗&#x1f62e;&#x1f333;链式二叉树的结构及其声明&#x1f333;链式二叉树的四种遍历方式&#x1f4d5;先序遍历&#xff08;先根遍历&#xff09;递归算法图解&#x1f4d5;中序遍历&#xff08;中根遍历&#xff09;&#x1f4d5;后序遍历&…

TIA PORTAL 导出导入数据块

1.导出&#xff1a;选择要导出的数据块鼠标右键-->从块生成源-->仅所选块或包含所有关联块-->最后选择数据块的存储路径保存 2.导入&#xff1a;选外部源文件-->添加新的外部文件-->选择要导入的数据块文件-->单击文件鼠标右键-->从源生成块&#xff0c;最…

Vue3——ref(),reactive(),watch(),computed()的使用

都需要先引入才能使用 ref()函数 作用&#xff1a;创建一个响应式变量&#xff0c;使得某个变量在发生改变时可以同步发生在页面上 模板语句中使用这个变量时可以直接使用变量名来调用&#xff0c;在setup内部调用时则需要在变量明后面加上一个.value获取它的值&#xff0c;原…

记录一次使用卷积神经网络进行图片二分类的实战

写在前面 笔者目前就读的专业是软件工程&#xff0c;并非人工智能专业&#xff0c;但是由于对人工智能有兴趣&#xff0c;于是课下进行了一些自学。正巧最近有些闲暇时间&#xff0c;就想着使用自学的内容做个小型的实战。这篇文章的主要目的也就是从一个入门者的角度&#xf…

【C++】list

本期就来讲讲list的使用技巧 文章目录list的介绍及使用list的介绍list迭代器失效list的模拟实现list与vector的对比我们前面知道迭代器是一个像指针一样的东西&#xff0c;但是在C里面&#xff0c;出来string和vector&#xff0c;其他类都不能 将迭代器当成指针使用&#xff0c…

二叉树的非递归与相关oj

&#x1f9f8;&#x1f9f8;&#x1f9f8;各位大佬大家好&#xff0c;我是猪皮兄弟&#x1f9f8;&#x1f9f8;&#x1f9f8; 文章目录一、二叉树相关oj①二叉搜索树与双向链表②前序遍历和中序遍历构造二叉树二、二叉树的非递归①前序遍历非递归②中序遍历非递归③后序遍历非…

简单的算法思想 - 利用快慢指针解决问题 - 寻找链表中的中间节点,回文序列,倒数第k个节点 - 详解

文章目录1. 寻找链表中倒数第K个节点1.1. 思路分析1.2 代码实现2. 寻找链表中的中间结点2.1 思路概述2.2 代码实现3. 链表的回文结构3.1 思路分析3.2 代码实现总结✨✨✨学习的道路很枯燥&#xff0c;希望我们能并肩走下来&#xff01; 本文通过寻找链表中的中间节点&#xff0…