java实习生面试题_java实习生面试题(含答案)
1.Java容器框架有哪些?
Java容器框架中有两个名称分别为Collection和Set的接口
2.list,map,set,array,它们有什么区别 (推荐学习:java实习生面试题)
List接口主要有三个实现类:LinkedList,ArrayList,Vector.
LinkedList:底层基于链表实现,链表内存是散乱的,每一个元素存储本身内存地址的同时还存储下一个元素的地址
ArrayList和Vector的区别:ArrayList是非线程安全的,效率高;Vector是基于线程安全的,效率低。
1)Set接口主要有两个实现类:HashSet(底层由HashMap实现)和LinkedHashSet
2)Map接口主要实现类:HashMap,HashTable和LinkedHashMap
HashMap非线程安全,高效,支持NULL;HashTable线程安全,低效,不支持NULL
Array:数组,可以存储对象和基本数据类型,长度固定。
List:元素有序,可重复.
Set:元素无序,不重复,无索引。
Map:双列集合,用于存放键值对。键值是唯一的,不可重复。
3.collection与collections有什么不同
a.javutil.Collection是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。
b.java.util.Collections是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。
4.string,stringbuilder,stringbuffer有什么区别
程序中用到的字符串可以分为两大类:一类是创建之后不会再做修改和变动的字符串变量;另一种是创建之后允许再做修改的字符串变量。
对于前一种字符串变量,由于程序中经常需要对它做比较、搜索之类的操作,所以通常把它放在一个具有一定名称的对象之中,由于程序完成对该对象的上述操作,在Java程序中存放这种字符串变量是String类变量;
对于后一种字符串变量,由于程序中经常需要对它做添加、插入、修改之类的操作,所以这种字符串变量一般都存放在StringBuilder类的对象之中。
String 字符串变量 ,
StringBuffer字符串变量(线程安全),
StringBuilder字符串变量(非线程安全)
5.==与equals有什么区别
程序中比较两个字符时,使用关系运算符”==”,而比较两个字符串时,则需使用equals()方法。
6.&和&&的区别
&&是简洁运算符,&是非简洁运算符。简洁运算符(&&,||)与非简洁运算符(&,|)的区别在于:非简洁运算在必须计算完左右两个表达式之后,才取结果值;而简洁表达式可能只计算左边的表达式而不计算右边的表达式,即对于表达式&&,只要左边表达式为false,就不计算右边表达式,则整个表达式为false;对于||,只要左边表达式为true,就不计算右边表达式,则整个表达式为true.
7.程序,进程和线程的区别
1)程序是含有指令和数据的文件,被存储在磁盘或其他的数据存储设备中,也就是说程序是静态的代码。
2)进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个程序从创建、运行到消亡的过程。简单地说,一个进程就是一个执行中地程序,它在计算机中一个指令接着一个指令地执行,同时,每个进程还占有某些系统资源,如CPU时间、内存空间、文件、输入输出设备地使用权等等。
3)线程:其实与进程相似,也是一个执行中地程序,但是线程是一个比进程更小地执行单位。一个进程在执行过程中可以产生多个线程,形成多条执行执行路径。但是与进程不同的是,同类的多个线程共享同一块内存空间和一组系统资源,所以系统在产生一个线程,或是在各个线程之间作切换的工作时,负担要比进程小得多,也正因为如此,也正因为如此,线程也被称为轻量级进程。
8.线程有哪几种状态?
新建状态、就绪状态、运行状态、阻塞状态、消亡状态这五种状态
9.线程的互斥与同步的区别
互斥是指两个或多个线程不能同时运行,而同步则是两个或多个线程的运行有先后次序的约束。
10.线程的同步与共享数据的区别?
共享是指线程之间对内存数据的共享,因为线程共同拥有对内存空间中数据的处理权力,这样会导致因为多个线程同时处理数据而使数据出现不一致,所以提出同步解决此问题,即同步是在共享的基础上,是针对多个线程共享会导致数据不一致而提出来的。
同步指的是处理数据的线程不能处理其他线程当前还没处理完的数据,但是可以处理其他数据。
11.线程同步与异步区别
线程同步是多个线程同时访问同一资源,等待资源访问结束,浪费时间,效率低;线程同步:访问资源时在空闲等待时同时访问其他资源,实现多线程机制。
12.Java中四舍五入有哪些方法?
Math类中提供了三个与取整有关的方法:ceil,floor,round,这些方法的作用于它们的英文名称的含义相对应,例如:
ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(11.3)的结果为12,Math.ceil(-11.6)的结果为-11;
floor的英文是地板,该方法就表示向下取整,Math.floor(11.6)的结果是11,Math.floor(-11.4)的结果-12;
最难掌握的是round方法,他表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果是12,Math.round(-11.5)的结果-11.
Math.round( )符合这样的规律:小数点后大于5全部加,等于5正数加,小于5全不加。
13.MVC分别指的是什么?
M - model 模型层,通常我们写的类放在模型层
V - View 是视图层 ,一般就说 jsp页面
C - control 控制层,包括action,service,dao,处理相关业务逻辑
14.类与对象的区别?
类是对某一类事物的描述,是抽象的、概念上的定义;而对象则是实际存在的属该类事物的具体的个体,因而也称是实例。
15.Final的用法?
a.将一个类声明为最终类即非继承类,表示它不能其他类所继承。
b.最终修饰符。指定此变量的值不能改变。
c.最终修饰符。指定该方法不能被重载。
Abstact的用法
a.将一个类声明为抽象类,没有实现方法,需要子类提供方法的实现,所以不能创建该类的实例。
b.抽象修饰符。指定该方法只声明方法头,而没有方法体,抽象方法需在子类中被实现。
Static的用法
a.静态修饰符。指定该变量被所有对象共享,即所有的实例都可使用该变量。
b.最终修饰符。指定不需要实例化一个对象就可以调用的方法。
16.成员变量和局部变量的区别
类中定义的变量是成员变量,而方法中定义的变量是局部变量。
区别:
a.从语法形式上看,成员变量是属于类的,而局部变量是在方法中定义的变量或是方法的参数;成员变量可以被public、private、static等修饰符修饰,而局部变量则不能被访问控制修饰符及static所修饰;成员变量和局部变量都可以被final所修饰。
b.从变量在内存中的存储方式上看,成员变量是对象的一部分,而对象是存在于堆内存的,而局部变量是存在于栈内存的。
c.从变量在内存中的生存时间上看,成员变量是对象的一部分,它随着对象的创建而存在,而局部变量随着方法的调用而产生,随着方法调用的结果而自动消失。
d.成员变量如果没有被赋初值,则会自动以类型的默认值赋值(有一种情况例外,被final修饰但没有被static修饰的成员变量必须显式地赋值);而局部变量则不会自动赋值,必须显式地赋值后才能使用。
java实习生面试题_java实习生面试题(含答案)相关推荐
- java基础试题_java基础测试题_含答案.doc
java基础测试题_含答案 Java基础试题 姓名 一.选择题(每题2分,共30分) 请写出标识符的命名规则描述正确的是[多选]( ABCD ) A.由英文字母.数字._和$组成,长度不限. B.标识 ...
- 2020年Redis面试题总结(30道题含答案解析)
2020年Redis面试题总结(30道题含答案解析) 这个是整理的思维导图,给大家分享一下. 1. 什么是 Redis?简述它的优缺点? (1)Redis 的全称是:Remote Dictionary ...
- 电大1253c语言程序设计考试题,电大1253《C语言程序设计》开放大学期末考试试题2020年1月(含答案)...
<电大1253<C语言程序设计>开放大学期末考试试题2020年1月(含答案)>由会员分享,可在线阅读,更多相关<电大1253<C语言程序设计>开放大学期末考试 ...
- 【2022版】Java多线程与高并发面试题总结,108道题含答案解析。
前言 最近面试的小伙伴很多,对此我整理了一份Java面试题手册:基础知识.JavaOOP.Java集合/泛型面试题.Java异常面试题.Java中的IO与NIO面试题.Java反射.Java序列化.J ...
- 【2021最新版】Java多线程并发面试题总结(108道题含答案解析)
文章目录 JAVA并发知识库 1.Java中实现多线程有几种方法? 2.继承Thread类 3.实现Runnable接口. 4.ExecutorService.Callable.Future有返回值线 ...
- linux sed面试题,【2021最新版】Linux面试题总结(48道题含答案解析)
文章目录 1.绝对路径用什么符号表示?当前目录.上层目录用什么表示?主目录用什么表示? 切换目录用什么命令? 2.怎么查看当前进程?怎么执行退出?怎么查看当前路径? 3.怎么清屏?怎么退出当前命令?怎 ...
- 【2021最新版】JVM面试题总结(87道题含答案解析)
文章目录 1.Java中会存在内存泄漏吗,请简单描述. 2.64位JVM中,int的长度是多数? 3.Serial与Parallel GC之间的不同之处? 4.32位和64位的JVM,int类型变量的 ...
- 【2021最新版】RabbitMQ面试题总结(32道题含答案解析)
文章目录 1.什么是rabbitmq? 2.为什么要使用rabbitmq? 3.使用rabbitmq的场景. 4.如何确保消息正确地发送至RabbitMQ?如何确保消息接收方消费了消息? 5.如何避免 ...
- 【2021最新版】Mysql面试题总结(115道题含答案解析)
文章目录 1.MySQL中有哪几种锁? 2.MySQL中有哪些不同的表格? 3.简述在MySQL数据库中MyISAM和InnoDB的区别. 4.MySQL中InnoDB支持的四种事务隔离级别名称,以及 ...
- 【2021最新版】微服务面试题总结(65道题含答案解析)
文章目录 1.微服务,又称微服务 架构,是一种架构风格,它将应用程序构建为以业务领域为模型的小型自治服务集合 . 2.微服务架构有哪些优势? 3.微服务有哪些特点? 4.设计微服务的最佳实践是什么? ...
最新文章
- 1049 Counting Ones
- svn命令行 批量添加(add)所有新增文件
- 从网上下载的jar包导入到本地maven库
- J - 哈密顿绕行世界问题
- Android之用sharedUserId来实现不同应用(APK)数据共享
- Redis操作命令(一)
- Softmax回归与冗余性
- python带cookie发包demo
- 【转】Linux下软件安装的几种方式
- ubuntu 16.04 重装失败:进入grub出不来
- Discuz!NT 系统架构分析(以前的)
- linux 消息队列查看和删除
- 拉格朗日松弛算法(一)——论文阅读笔记
- 猴子香蕉问题——枚举
- 025_GPIO的读
- windows7打印时,显示脱机,提示“服务器打印后台处理程序服务没有运行”。...
- 提醒:无线路由曝安全漏洞,请关闭WPS功能
- OA课程--word2013实用技巧大全-目录
- 作为一个程序员,你真的知道如何学好编程吗?
- 漂浮广告是什么?漂浮广告如何设置
热门文章
- 公众号关注html引导页,微信公众号分享的引导页(附素材)
- html字体如何设置垂直居中显示,css文字水平垂直居中怎么设置?
- Ubuntu 下安装极点五笔输入法
- Pygame详解(十二):Surface 对象
- 为什么地球同步卫星星下点轨迹为八字形
- 吴恩达与 OpenAI 强强联手,《ChatGPT 提示工程》中英教程,来了!(附脑图笔记)
- (迪杰斯特拉)Dijkstra算法 与 普里姆算法(Prim算法)
- 用 Python 将 html 转为 pdf、word
- 企业管理的价值与SaaS软件的价值
- python相关职业-浅谈Python全栈开发工程师,让程序员都眼红的职业!