core java面试题_CoreJava基础面试题

1、局部变量的概念及特点

局部变量是声明在方法内的变量

特点1.必须先赋值才能使用2.作用范围从声明开始到它所在的代码块结束3.在重合的作用范围之内不允许局部变量名字相同

2、方法重载和方法覆盖的区别?

方法的重载要求方法名必须相同,形参列表必须不同,其他不作要求

方法的覆盖是方法名参数列表返回值类型必须相同,访问修饰符相同或者更宽,子类不能抛出更大的异常,子类可以选择不抛或者RuntimeException类型的异常不受限制

3、多态的核心代码

多态即父类引用指向子类对象,也可以使接口指向实现类对象

4、*什么是类加载

JVM在第一次使用一个类的时候,会通过CLASSPATH找到对应的类的.class文件将他的类名属性方法构造方法等读取到内存中,类加载只会进行一次

5、**类加载的时机

1.第一次创建对象的时候会出发类加载2.第一次访问类的静态成员时会触发类加载3.子类加载时会触发父类加载先进行4.class.forName(“类的全限命名”)

6、*Final修饰符可以修饰什么

Final可以修饰类 方法 成员变量 局部变量等 修饰类不可以被继承 修饰方法可以被继承不可以被覆盖 修饰属性 常量不可改变

7、抽象类和接口的区别

抽象类 有构造方法 方法可以是抽象的 不可以直接new对象只能被继承 子类对象如果不想成为抽象类必须实现父类中所有的抽象方法 ,单继承

接口:没有构造方法,接口中的方法一定是公开抽象的,接口中的属性一定是公开静态常量,可以多继承,也可以多实现,接口可以继承多个接口,一个实现类也可以实现多个接口,接口的实现类必须实现接口中所有的方法

8、接口的特点

接口特点:接口:没有构造方法,接口中的方法一定是公开抽象的,接口中的属性一定是公开静态常量,可以多继承,也可以多实现,接口可以继承多个接口,一个实现类也可以实现多个接口,接口的实现类必须实现接口中所有的方法

9、内部类的分类

成员内部类 局部内部类 静态内部类 匿名内部类

10、Equals()方法的步骤

自反性 非空性 一致性 强转 属性逐一对比(基本类型用== String类型用equals)

11、包装类的作用

区分null和0,即区分有效数据和无效数据

12、String a=”Hello”和String s=new String(“Hello”)的区别

第一个是先在串池中查看有无字符串Hello如果有的话引用直接指向串池中的Hello,如果没有先则先在串池中创建一个Hello然后引用指向它

第二个是先在串池中查看有无Hello如果没有,先在串池中创建一个Hello然后去堆中创建一个Hello引用指向堆空间的Hello;如果串池中有Hello则直接去堆空间中创建Hello引用指向堆空间中的Hello

13、StringBuilder和StringBuffer的区别

StringBuffer  JDK1.0 线程安全,效率低

StringBuilder JDK1.5 线程不安全,效率高

14、String类中的常用方法

charAt(int i )获取i下标所对应的字符

contains(String s)判断字符中是否包含子串s

endsWith(String s)判断字符串是否已子串s结尾

startsWith(String s)判断字符串是否以子串s开头

indexOf(String s)返回子串s第一次在字符串中出现的下标

lastIndexOd(String s)返回子串s最后一次在字符串中出现的下标

isEmpty()判断字符串是否为空

String(char[] ss)利用字符数组构造String

length()返回字符串长度

split(String s)利用s分割字符串并且返回字符串数组

toCharArray() 将字符串转化为字符数组

15、List接口下学过什么实现类,各个实现类的区别

ArrayList jdk1.2实现类有序有下标,元素可重复 线程不安全 底层数组实现

LinkedList jdk1.2 线程不安全 底层链表实现

Vactor jdk1.0 线程安全 底层数组实现

16、ArrayList和Vector的区别

ArrayList jdk1.2 线程不安全底层数组实现

Vector jdk1.0 线程安全 底层数组实现

17、List和Set接口各自的特点

List元素可重复 有序有下标

Set元素不可重复 无序无下标

18、HashSet的特点是什么

无序需无下标元素不可重复,底层哈希表实现

19、*HashSet如何保证数据唯一

覆盖equals方法保证相同对象内容返回的是true

重写equals方法保证内容的对象返回值都相同

为了哈希表实现最优性能尽量保证不同对象返回不同的整数

20、Map的特点是什么

Map特点存储的是键值对,键不可以重复,值可以重复

21、***HashMap如何添加一个元素

集合名.put(k,v);

22、HashMap和Hashtable的区别

HashMap jdk1.2 允许null作为键或值 线程不安全 效率高

HashTable jdk1.0不允许null作为键或值 线程安全 效率低

23、HashMap的增删改查方法名各自是什么

put remove put containsKey containsValue

24、ArrayList的增删改查方法都是什么

add  remove clear set size get

25、ArrayList的遍历方式(四种)

26、HashMap的遍历方式(四种)

27、异常的分类

错误和Exception Exception分为RuntimeException和非RuntimeException

28、IO的分类

按照方向分 输入输出

按照单位分 字节字符

按照功能分 过滤节点

29、方法覆盖对异常的要求

子类方法不能抛出比父类更大的异常,子类可以不抛或者抛出RuntimeException

30、线程的创建方式

两种方式1.继承Thread重写run方法4实现Runnable接口并且实现run方法

31、数据不安全的原因及解决方式

多线程访问和修改导致数据异常出错,解决方式就是加锁

32、*Synchronized的用法

Synchronized修饰方法 Synchronized修饰代码块

33、什么是类对象、

类加载的产物

34、说出三个常见的异常处理结果

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

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

相关文章

大象起舞——微软研发如何保持创新力和敏捷性

我有幸见证微软在近五年的变革,也作为局内人学习如此一个全球性的、庞大的研发团队是如何管理、自我调整和创新的。上周五应邀给一个大客户的研发中心做了一个分享,其中我深刻地认识到有几点创新是一种文化。作为企业需要用心营造这样一种文化&#xff0…

java 云架构_java版Spring Cloud云架构代码结构构建

本篇我们根据架构图进行代码的构建。根据微服务化设计思想,结合spring cloud一些优秀的项目,如服务发现、治理、配置化管理、路由负载、安全控制等优秀解决方案,使用Maven技术将框架进行模块化、服务化、原子化封装并构建,也为后期…

集赞有礼!进击吧! Blazor !第六期 企业内部应用建设实战

集赞有礼转发此文章至朋友圈,截止至直播结束前:集赞满20个,可获得Blazor贴纸;集赞满50个,可获得微软帆布包;集赞满88个,可获得笔记本;集赞最多的一位小伙伴将获得充电宝哦&#xff0…

java spring 拦截器_Spring MVC拦截器(Interceptor)的配置及使用

在开发一个网站时可能有这样的需求:某些页面只希望几个特定的用户浏览。对于这样的访问权限控制,应该如何实现呢?拦截器就可以实现上述需求。在 Struts 2 框架中,拦截器是其重要的组成部分,Spring MVC 框架也提供了拦截…

基于阿里云日志服务快速打造简版业务监控看板

前言 最近老黄一直在弄双11相关的东西,所以博客和github都没怎么更新,这期间在公司也弄了不少东西。下面就简单分享一下最近做的业务监控相关的内容吧。先来说一下背景。某业务在双11第一波大促的时候因为没有提供实时的业务看板,总结会的时候…

java实现网页保存_详解Java两种方式简单实现:爬取网页并且保存

对于网络,我一直处于好奇的态度。以前一直想着写个爬虫,但是一拖再拖,懒得实现,感觉这是一个很麻烦的事情,出现个小错误,就要调试很多时间,太浪费时间。后来一想,既然早早给自己下了…

一个.NET Core下的开源插件框架Pluginfactory

插件模式历史悠久,各种中大型软件基本上都会实现插件机制,以此支持功能扩展,从开发部署层面,插件机制也可实现功能解耦,对于并行开发、项目部署、功能定制等都有比较大的优势。在.NET Core下,一般我们基于.…

activemq和mysql_activeMQ 填坑记

前言MQ是现在大型系统架构中必不可少的一个重要中间件,之前有偏文章《MQ(消息队列)常见的应用场景解析》介绍过MQ的应用场景,现在流行的几个MQ是rabbitmq,rocketma,kafka,这几个MQ比较最容易找到相关的文章,而也有些系统使用的是activemq&…

谈谈.NET Core IServiceProvider

【导读】最近重构部分代码,因历史原因在静态类中需使用注入实例,构造函数注入则不再可取,此时只能构造全局IServiceProvider,所以本文稍微分析下IServiceProvider要构造全局使用IServiceProvider,我们都知道不能在Conf…

c++向mysql通信_C++连接MySQL

C连接mysql有2种方法:利用ADO连接、利用mysql自己的api函数进行连接,下面看看如何用吧。第一种方法可以实现我当前的需求,通过连接不同的字符串来连接不同的数据库。暂时只连接了mysql,sqlserver,oracle,access。对于access,因为它…

使用 Xunit.DependencyInjection 改造测试项目

使用 Xunit.DependencyInjection 改造测试项目Intro这篇文章拖了很长时间没写,之前也有介绍过 Xunit.DependencyInjection 这个项目,这个项目是由大师写的一个 Xunit 基于微软 GenericHost 和 依赖注入实现的一个扩展库,可以让你更方便更容易…

discuz mysql data_Discuz!显示 Database Error的原因和解决方法

今天打开Discuz搭建的论坛显示:原因一:数据库表太大比如mysql数据库的表内容太大,超过10G就有可能会影响discuz论坛的运行。Discuz! Database Error是什么原因,怎么修复这种情况可以通过对数据库分表的方法来解决。原因二&#xf…

项目开发中经常有一些被嫌弃的小数据,现在全丢给 FastDFS

在我们开发项目的时候,经常会遇到大块数据的问题(2M-100M),比如说保存报表中1w个人的ID号,说实话,这些数据存储在服务器哪里都被嫌弃,放在redis,mongodb中吧,一下子你就会…

java 反射 int_Java 反射由浅入深 | 进阶必备

原标题:Java 反射由浅入深 | 进阶必备一、Java 反射机制参考了许多博文,总结了以下个人观点,若有不妥还望指正:Java 反射机制在程序运行时,对于任意一个类,都能够知道这个类的所有属性和方法;对…

寻找性能更优秀的不可变小字典

Dictionary 是一个很常用的键值对管理数据结构。但是在性能要求严苛的情况下,字典的查找速度并不高。所以,我们需要更快的方案。需求说明 这里,我们需要一个 PropertyInfo 和委托对应的映射关系,这样我们就可以存储《寻找性能更优…

java 8 stream 性能_java8中parallelStream性能测试及结果分析

测试1BenchmarkMode(Mode.AverageTime)OutputTimeUnit(TimeUnit.NANOSECONDS)Warmup(iterations 5, time 3, timeUnit TimeUnit.SECONDS)Measurement(iterations 20, time 3, timeUnit TimeUnit.SECONDS)Fork(1)State(Scope.Benchmark)public class StreamBenchTest {Lis…

一款基于.NET Core的认证授权解决方案-葫芦藤1.0开源啦

背景18年公司准备在技术上进行转型,而公司技术团队是互相独立的,新技术的推动阻力很大。我们需要找到一个切入点。公司的项目很多,而各个系统之间又不互通,导致每套系统都有一套登录体系,给员工和客户都带来极大的不便…

java pc计数器_java虚拟机-程序计数器PC Register

什么是程序计数器?程序计数器是一块 较小 的内存空间,它可以看做是当前线程所执行的字节码的 行号指示器 ;在虚拟机的概念模型里(仅仅是概念模型,各种虚拟机可能会通过一些更高效的方式去实现),字节码解释器工作时&…

.NET架构小技巧(8)——优待异常

天有不测风云,人有旦夕祸福,程序呢——会有异常错误。C#中用try,catch,finally来捕捉处理异常,捕捉谁的异常呢?一般都是系统类库或三方类库中抛出的异常,那如果我自己架构程序,异常也…

跟我一起学.NetCore之EF Core 实战入门,一看就会

前言还记得当初学习数据库操作时,用ADO.NET一步一步地进行数据操作及查询,对于查询到的数据还得对其进行解析,然后封装返回给应用层;遇到这种重复而繁琐的工作,总有一些大神或团队对其进行封装,从而出现了很…