java面试题

一、java面试题第一天

1.java的特点

  • **Java是一门面向对象的编程。**面向对象就是我们将对应的操作都封装成对应的api,就是所谓的方法,提供给别人使用(面向过程就是所有的方法,api由自己编写)

  • java具有平台独立性和移植性。

    java可以在不同平台下运行,编程器将java编译成class文件以后,所编译的class文件可以通过java虚拟机(jvm)在对应操作系统运行

  • Java具有稳健性

    java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。

2.java是如何跨平台的

java可以在不同平台下运行,编程器将java编译成class文件以后,所编译的class文件可以通过java虚拟机(jvm)在对应操作系统运行

3.java与c++语言的区别

  • java没有指针,c++有指针
  • java是面向对象语言,c++既可以是面向对象,也可以是面向过程的语言
  • java有自动垃圾回收器, c++回收内存需要自己手动回收
  • java不支持多继承,但是可以实现多个接口,c++是多继承

4.jdk,jre,jvm之间的关系

jdk是java开发的运行环境,它包括的java程序员的开发环境,已经对应的运行的环境,而jre 没有对应的开发环境,简单来说就是没有相对的开发工具包,jvm是java虚拟机,也是java字节码的运行机器,jdk/jre是包括jvm的,我所编译的字节码文件,都是放在不同操作系统的jvm下允许的。

5、java是动态语言还是静态语言

**1、动态语言,**在运行中可以改变结构的语言,如JavaScript、PHP、Python。

例如,新函数、对象、代码可以引进,现有函数可以删除或其他结构的变化。一般来说,运行时代码可以根据条件改变自己的构造。

主要动态语言: Object-C、 C#、 JavaScript、PHP、Python等。

静态语言

2、对应动态语言,运行时结构不变的语言是静态语言。

**1、动态语言,在运行中可以改变结构的语言,如JavaScript、PHP、Python。

例如,新函数、对象、代码可以引进,现有函数可以删除或其他结构的变化。一般来说,运行时代码可以根据条件改变自己的构造。

主要动态语言: Object-C、 C#、 JavaScript、PHP、Python等。

静态语言

2、对应动态语言,运行时结构不变的语言是静态语言。

例如Java、c、C+。

Java不是动态语言,但Java可以称之为准动态语言。也就是说,Java具有一定的动态性,可以利用反射机制获得类似动态语言的特性。Java的动态使编程更加灵活。

6、面向对象和面向过程的区别?

面向对象和面向过程的区别:1、思路不同2、特点不同3、优势不同。面向过程是直接将解决问题的步骤分析出来,然后用函数把步骤一步一步实现,然后再依次调用就可以了;而面向对象是将构成问题的事物,分解成若干个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在解决问题过程中的行为。面向过程思想偏向于我们做一件事的流程,首先做什么,其次做什么,最后做什么。面向对象思想偏向于了解一个人,这个人的性格、特长是怎么样的,有没有遗传到什么能力,有没有家族病史。

面向过程是一种以过程为中心的编程思想,面向过程编程是基于“冯·诺依曼”模型的。面向过程的优点:流程化使得编程任务明确,在开发之前基本考虑了实现方式和最终结果,具体步骤清楚,便于节点分析。效率高,面向过程强调代码的短小精悍,善于结合数据结构来开发高效率的程序。缺点:需要深入的思考,耗费精力,代码重用性低,扩展能力差,后期维护难度比较大。面向对象优点:易维护、易扩展、易复用,有封装、继承、多态的特性、更容易设计出耦合的系统。缺点:性能比面向过程低。

7.面向对象有哪些特点

面向对象四大特点:封装,继承,多态,抽象

1、封装就是类的信息进行隐藏起来,提供一个对外的方法

2、继承是从父类中继承对应的信息,公用同一套方法和属性,不需要我们重新在编写

3、多态是指同一个方法我们可以不同代码,子类继承父类的情况下可以通过方法重写来实现多态

4、抽象:把某个方法进行抽象标识,让子类需要实现方法。

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

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

相关文章

2023-9-8 求组合数(三)

题目链接&#xff1a;求组合数 III #include <iostream> #include <algorithm>using namespace std;typedef long long LL;int p;int qmi(int a, int k) {int res 1;while(k){if(k & 1) res (LL) res * a % p;k >> 1;a (LL) a * a % p;}return res; }…

FAT32文件系统f_mkfs函数详解

1.f_mkfs参数 参数path&#xff1a;要挂载/卸载的逻辑驱动器号;使用设备根路径表示。 参数opt&#xff1a;系统的格式&#xff0c;如图所示&#xff0c;选择FM_FAT32即可&#xff0c;选择其他的可能无法格式化。 参数au&#xff1a;每簇的字节数&#xff0c;以字节为单位&#…

后端面试话术集锦第 十一 篇:mybatis面试话术

这是后端面试集锦第十一篇博文——mybatis面试话术❗❗❗ 1. 介绍下mybatis,说说它的优缺点是什么? Mybatis是一个半ORM(对象关系映射)的持久层框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程…

安全模型中的4个P

引言&#xff1a;在安全模型中&#xff0c;经常会碰到PDR,PPDR&#xff0c;IPDRR&#xff0c;CARTA-PPDR等模型&#xff0c;其中的P&#xff0c;是predict&#xff1f;是prevent&#xff1f;还是protect&#xff1f;还是policy呢&#xff1f; 一、4P字典意思解释 1、predict&a…

使用内网负载机(Linux)执行Jmeter性能测试

一、背景 ​ 在我们工作中有时候会需要使用客户提供的内网负载机进行性能测试&#xff0c;一般在什么情况下我们需要要求客户提供内网负载机进行性能测试呢&#xff1f; 遇到公网环境下性能测试达到了带宽瓶颈。那么这时&#xff0c;我们就需要考虑在内网环境负载机下来执行我们…

中国ui设计师年终工作总结

一、萌芽阶段 记得初次应聘时&#xff0c;我对公司的认识仅仅局限于行业之一&#xff0c;对UI设计师一职的认识也局限于从事相对单纯的界面的设计创意和美术执行工作。除此之外&#xff0c;便一无所知了。所以&#xff0c;试用期中如何去认识、了解并熟悉自己所从事的行业&…

【Sword系列】Vulnhub靶机HACKADEMIC: RTB1 writeup

靶机介绍 官方下载地址&#xff1a;https://www.vulnhub.com/entry/hackademic-rtb1,17/ 需要读取靶机的root目录下key.txt 运行环境&#xff1a; 虚拟机网络设置的是NAT模式 靶机&#xff1a;IP地址&#xff1a;192.168.233.131 攻击机&#xff1a;kali linux&#xff0c;IP地…

Python 日期和时间

老规矩&#xff0c;先上官方文档链接&#xff1a;dateime 以及 格式化说明 from datetime import datetimenow datetime.now() print(now) print(f"{now:%Y-%m-%d %H:%M:%S.%f}") print(now.date()) print(now.time())# 时间戳是 float 类型的秒数 #print(dir(now.…

哭了,python自动化办公,终于支持 Mac下载了

想了解更多精彩内容&#xff0c;快来关注程序员晚枫 大家好&#xff0c;这里是程序员晚枫&#xff0c;小红薯/小破站也叫这个名。 在我的主页发布的免费课程&#xff1a;给小白的《50讲Python自动化办公》&#xff0c;一直在更新中&#xff0c;昨晚12点多&#xff0c;有朋友在…

类,这一篇文章你就懂了!

提示&#xff1a;本文主要介绍C中类相关知识及基础概念总结 渺渺何所似&#xff0c;天地一沙鸥 文章目录 一、面向对象与面向过程二、类的框架知识2.1 类的定义2.2 类的封装性2.2.1 访问限定符2.2.2 封装的概念以及实现 2.3 类的作用域及实例化2.4 类中this指针 三、六大默认成…

网络分层的真实含义

复杂的程序都要分层&#xff0c;这是程序设计的要求。比如&#xff0c;复杂的电商还会分数据库层、缓存层、Compose 层、Controller 层和接入层&#xff0c;每一层专注做本层的事情。 当一个网络包从一个网口经过的时候&#xff0c;你看到了&#xff0c;首先先看看要不要请进来…

【ALM工具软件】上海道宁与Perforce为您带来用于整个生命周期的应用程序生命周期管理软件

Helix ALM是 用于整个生命周期的 应用程序生命周期管理的ALM软件 具有专用于 需求管理&#xff08;Helix RM&#xff09;、测试用例管理&#xff08;Helix TCM&#xff09; 问题管理&#xff08;Helix IM&#xff09;的功能模块 Helix ALM提供了 无与伦比的可追溯性 您将…

uniapp 冒泡

--------------------------------------------------------------------------------------------------------------------------------- uniapp <template><!-- 显示排序结果样式 --><view class"content"><view class"text-area&qu…

Fiddler如何比较两个接口请求?

进行APP测试时&#xff0c;往往会出现Android和iOS端同一请求&#xff0c;但执行结果不同&#xff0c;这通常是接口请求内容差异所致。 我习惯于用Fiddler抓包&#xff0c;那此时应该如何定位问题呢&#xff1f; 分别把Android和iOS的接口请求另存为TXT文件&#xff0c;然后用…

BMS电池管理系统——电芯需求数据(三)

BMS电池管理系统 文章目录 BMS电池管理系统前言一、有什么基础数据二、基础数据分析1.充放电的截至电压2.SOC-OCV关系表3.充放电电流限制表4.充放电容量特性5.自放电率 总结 前言 在新能源产业中电芯的开发也占有很大部分&#xff0c;下面我们就来看一下电芯的需求数据有哪些 …

Android ImageView详解

scaleType属性详解 在 Android 中&#xff0c;ImageView 控件的 scaleType 属性用于指定图像在 ImageView 内部的缩放和对齐方式。scaleType 属性可以帮助你控制图像的显示方式&#xff0c;以适应 ImageView 的尺寸或实现其他特定的显示效果。以下是常见的 scaleType 属性值和…

JavaEE初阶(1)(冯诺依曼体系、CPU、CPU基本原理、如何衡量CPU的好坏?指令、操作系统、操作系统“内核”)

目录 冯诺依曼体系&#xff08;Von Neumann Architecture&#xff09; CPU CPU基本原理&#xff1a; 如何衡量CPU的好坏&#xff1f; 1、主频&#xff08;时钟速度&#xff09;&#xff1a; 2、核心数&#xff1a; 指令 操作系统 操作系统“内核” 冯诺依曼体系&#x…

运动耳机哪种好、运动戴的蓝牙耳机推荐

作为一名运动爱好者&#xff0c;自然要有一款专业的运动耳机&#xff0c;运动耳机的重要作用就是它能帮我们缓解枯燥运动时的乏味&#xff0c;还能提高运动锻炼的效果。热爱运动的我&#xff0c;最喜欢就是运动音乐随行了&#xff0c;在用过众多蓝牙耳机之后&#xff0c;才明白…

海外ASO优化之如何优化游戏应用

如果我们发布了一款手机游戏或者管理了一款手机游戏&#xff0c;那么需要确保我们的手机游戏对合适的人可见&#xff0c;目的是增加应用的下载量。 1、优化游戏元数据的关键词。 Apple和Google在应用商店中为我们提供有限的空间&#xff0c;来描述手机游戏及其优势。我们需要使…

Android 使用addr2line分析so异常

在 Android 开发中&#xff0c;addr2line 是一个用于将程序地址转换为源代码位置的工具。它通常用于分析崩溃日志或错误报告&#xff0c;以确定问题的源代码位置。 要在 Android 中使用 addr2line 工具进行问题分析&#xff0c;你需要获取崩溃堆栈信息&#xff0c;并识别其中的…