在大学毕业,找工作的时候 我也是多么渴望面试题。

下面是自己所了解的一些面试题。理解性 理解性 理解性的去看,记, 读。

  1. 多线程

线程是进程内的并发,没有自己的内存空间 共享进程的,线程间的通信成本低。多线程是为了同步完成多项任务 为了提高资源使用效率来提高系统的效率。线程的状态分为:就绪,运行,挂起,结束。使用start()方法启动线程。线程同步的方法:线程睡眠sleep(),线程让步 yield(), 等其他线程结束join().

2. java中实现多线程

有两种方式:继承 Thread类 (extends Thread )和 实现 implements Runnable接口。实现Runnable 接口 好一点,因为java是单继承,一般也是采用实现 Runnable接口。区别:继承 Thread类 直接本类对象调用start()方法运行线程。实现Runnable接口 要用Therad therad = new Thread()来获得一个线程。

3.什么是线程池

线程池是指在初始化一个多线程应用程序过程中创建一个线程集合,在需要执行新的 任务时重用这些线程而不是新建一个线程,线程池里面的线程数量通常取决于可用内存数量和应用程序的需求。线程池中的每个线程都有被分配一个任务,一旦任务已经完成了,线程回到池子中并等待下一次分配任务。

4.什么是类,什么是对象

对象是一个看得到,摸得到的具体实体 ,类是模子,定义对象将拥有的特征 属性和行为方法 类是抽象的概念,仅仅是模板。

5.实例方法和类方法的区别

1.方法前面用static 修饰的就是类方法,否则为 实例方法。2.实例方法只能调用实例方法,static方法只能调用static修饰的方法 不能调用实例方法。3.当类文件加载到内存时,实例方法不会被分配内存空间,只有在对象创建之后才会分配。而类方法在该类被加载到内存时就分配了相应的内存空间。

6.成员变量和实例变量的区别

作用域不同:局部变量仅限于定义它的方法,成员变量在整个类内部都是可见的 。 初始值不同:成员变量有默认值,局部变量没有默认值。

7.java中包的作用

1.允许类组成较小的单元,易于找到和使用相应的文件。2.更好的保护类 属性和方法 3. 防止命名冲突。

8.String是基本数据类型吗?

String是引用类型,java.lang.String类是final类型的,是不能继承,修改这个类。基本数据类型有:byte,int,char,long,float,double,boolean,short。

9.数组有没有length()方法 String有没有length()方法

数组没有length()方法,只有length的属性,String有length()方法。

10. &操作符和&&操作符有什么区别?

当一个&表达式在求值的时候,两个操作数都会被求值,&&就像一个操作符的快捷方式。当一个&&表达式求值的时候,先计算第一个操作数,如果它返回true才会计算第二个操作数。如果第一个操作数取值为false,第二个操作数就不会被求值。

11.== 和 equles 方法究竟有什么区别?

==的作用:用于基本数据类型的比较或判断引用是否指向堆内存的同一块地址,equals常用的是对象里面的内容是否相等,通常equals的两个条件是由开发者定义的。

12. 作用域public,private,protected,默认不写的区别

public : 可在 当前类,同一包内,子孙类,其他包使用。 private: 可在 当前类 , 不能在 同一包内,子孙类,其他包使用。 protected:可在 当前类,同一包内,子孙类。不能再 其他包使用。默认不写:可在 当前类,同一包内使用。不能再 子孙类,其他包使用。

13.String 和 StringBuffer的区别

String类表示内容不可改变的字符串,但StringBuffer类表示内容可以被修改的字符串,当字符数据要改变的时候你就可以使用StringBuffer 来动态构造字符数据。String 实现了equals方法,而StringBuffer 没有实现equals方法。

14.Overload 和 Override的区别

Overload是重载的意思 而 Override是覆盖的意思 重写的意思。重写Override表示子类中的方法与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时 就调用子类中的定义方法 相当于把父类中定义的那个完全相同的方法给覆盖了。 重载Overload表示同一个类中可以有多个名称相同的方法,方法的参数列表各不相同 参数个数或类型不同 ,于方法的作用域和返回类型无关。

15.super关键字

super必须出现在子类(子类的方法和构造方法)里, 而不是其他位置 可以访问父类的成员, 如父类的属性, 方法和构造方法 。注意访问权限的控制, 如无法通过super访问private成员。

16.抽象类和抽象方法

用abstract 关键字修饰的类和方法 就是抽象类和抽象方法。抽象类和抽象方法的特点:抽象类和抽象方法都通过abstract关键字来修饰。抽象类不能实例化。抽象类有一个或多个抽象方法,也可以没有抽象方法。抽象方法只有方法声明,没有方法实现。有抽象方法的类必须声明为抽象类。子类必须重写所有抽象方法才能实例化,否则子类还是一个抽象类。

17.final,finally,finalize的区别

final 用于声明属性,方法和类,分别表示属性不可变,方法不可重写,类不可继承。finally是异常处理语句结构的一部分,表示总是执行。finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以重写此方法提供垃圾收集时的其它资源回收,例如关闭文件等,JVM不保证此方法总被调用。

18.接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类 ?抽象类中是否可以有静态main方法?

接口可以继承接口,抽象类可以实现接口,抽象类可继承实体类,但前提是实体类必须有明确的构造函数。抽象类中可以有静态的main方法。 只有记住抽象类与普通类的唯一区别就是不能创建实例对象和允许有abstract方法。

19.error 和 exception有什么区别?

error表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。exception 表示一种设计或实现问题。就是说 它表示如果程序运行正常,从不会发生的情况,可以使用异常处理机制。

20.Set,List,Map他们的区别

Set接口继承Collection接口。存储一组唯一(不允许重复)无序的对象,List接口继承Collection接口,存储一组不唯一(允许重复)有序(以元素插入的次序来防置元素,不会抽象排列对象)。 Map接口存储一组成对的键-值对象,提供key 键到value 值的映射。Map中的key不要求有序,不允许重复,value同样不要求有序,但允许重复。

21.Class.forName的作用?

获得字符串参数中指定的类,如果该类字节码已经被加载过,则返回该字节码的Class实例对象,否则 按类加载器的委托机制去搜索和加载该类,如果所有的类加载器都无法加载到该类,则抛出ClassNotFoundException。加载完这个Class字节码后,接着就可以使用Class字节码的newInstance方法去创建该类的实例对象了。

22.什么是java序列化,如何实现java序列化(理解)

将一个java对象变成字节流的形式传出去或者从一个字节流中恢复成一个java对象,例如,要将java对象存储到硬盘或者传送给网络上的其他计算机,这个过程我们可以自己写代码去把一个java对象变成某个格式的字节流再传输,但是java虚拟机本身就提供了这种支持,我们可以调用OutputStream的writeObject方法来做,要被传输的对象必须实现serializable接口,这样javac编译时就会进行特殊处理,编译的类才可以被writeObject方法操作,这就是所谓的序列化。需要被序列化的类必须实现Serializable接口,该接口是一个mini接口其中没有需要实现的方法。

23.数组和列表的区别

Array里可存放基本数据类型和对象数据类型,而ArrayList只能存放对象数据类型。Array大小是固定的,ArrayList是动态变化的。 ArrayList提供更多的方法,比如addAll(),removeAll()和iterator()。对于基本数据类型,集合使用自动拆箱来减少代码工作量,但是,当处理固定大小的基本数据类型的时候这种方式相对比较慢。

24.垃圾回收机制的原理

java的垃圾回收机制是java虚拟机提供的能力,用于在空闲时间以不定时的方式动态回收无任何引用的对象占据在内存空间。 垃圾回收 回收的是无任何引用的对象占据的内存空间而不是对象本身。 特点:java的垃圾回收机制使的java程序员不用担心内存空间的分配,减少了内存溢出,但也牺牲了一定的性能。

25.类的加载顺序

父类静态块-->子类静态块-->程序的入口main-->父类的初始化块-->父类的构造方法-->子类的初始化块--->子类的构造方法。

26.java反射机制和java动态代理

java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象的方法功能称为java语言的反射机制。 java动态代理就是在不改变源代码基础上增加新的功能。

27.程序中break,continue,return跳转语句的不同

break:跳出循环而执行循环后面的语句 ,continue:跳过循环体中剩余的语句而执行下一次循环。 return 结束方法的调用。

28.int和integer的区别

java提供两种不同的类型:引用类型和原始类型。int是java的原始数据类型,integer是java为int提供的封装类。对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。

29.什么是继承

在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把已经存在的类所定义的内容作为自己的内容,并加入新的内容,或修改原来的方法更适合特殊的需要,这就是继承。继承是子类自动共享父类数据和方法的机制,这是类之间的一种关系,提高软件的可重用性和扩展性。java中只支持单继承,无法继承父类的构造方法。

30.this关键字

this关键字是对一个对象的默认引用,this关键字用来表示以后调用当前方法的对象的引用。使用this调用成员变量,解决成员变量的局部变量的同名冲突, 使用this调用成员方法。使用this调用重载的构造方法只能在构造方法中使用,必须是构造方法发的第一条语句。

金税接口调用实例 java_Java 常见面试题相关推荐

  1. Java常见面试题,2021年及答案汇总

    Java常见面试题,2021年及答案汇总 其实,博主还整理了,更多大厂面试题,直接下载吧 下载链接:高清172份,累计 7701 页大厂面试题 PDF 1.什么是ThreadPoolExecutor? ...

  2. Java常见面试题(持续更新)

    文章目录 transient 关键字作用 final 关键字作用 封装的作用 HashMap,HashTable,ConcurrentHashMap HashMap不是线程安全的示例 HashMap常 ...

  3. java多线程常用面试_java的多线程常见面试题

    并行和并发有什么区别? (推荐学习:java常见面试题) 并行是指两个或者多个事件在同一时刻发生:而并发是指两个或多个事件在同一时间间隔发生. 并行是在不同实体上的多个事件,并发是在同一实体上的多个事 ...

  4. Unity3D常见面试题

    Unity3D常见面试题 目录 C#问题 4 1.在类的构造函数前加上static会报什么错?为什么? 4 2.C# StringBuilder类型比string类型的优势是什么? 4 3.C# 函数 ...

  5. 加上项目路径 spring security忽略不生效_Spring 常见面试题「收藏」

    Spring 常见面试题 1 Spring框架是什么?它的主要模块有哪些? Spring框架是一个Java平台,提供全面的基础设施支持开发Java应用程序.Spring处理基础设施部分,这样你就可以专 ...

  6. 2018常见的java面试题_2018新版Java常见面试题

    千锋西安Java编程培训班的老师总结了2018新版Java常见面试题,一起来看! 1.1.java基础 ●面向对象的特征:继承.封装.多态 继承[构造器.protected关键字.向上转型Java实现 ...

  7. 总结Java常见面试题和答案

    转载自  总结Java常见面试题和答案 int和Integer有什么区别?   答:int是java的原始数据类型,Integer是java为int提供的封装类,java为每个原始数据类型都提供了封装 ...

  8. RocketMQ 常见面试题

    RocketMQ 常见面试题 1.RocketMQ Broker中的消息被消费后会立即删除吗? 不会,每条消息都会持久化到CommitLog中,每个Consumer连接到Broker后会维持消费进度信 ...

  9. BTA 常问的 Java基础40道常见面试题及详细答案,java初级面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

最新文章

  1. 编译器设计-解析类型
  2. python-序列化模块
  3. UA MATH571B 试验设计V 2K析因设计
  4. Flume NG 简介及配置实战
  5. (四)DOM对象和jQuery对象
  6. java线程初始方法三种_Java 多线程 三种实现方式
  7. 一个WordPress站点绑定多个域名
  8. MongoDB学习笔记~以匿名对象做为查询参数,方便查询子对象
  9. poj 3621 Sightseeing Cows 01分数规划
  10. 惠普电脑怎么用access_学习如何使用access帮助系统
  11. C# -- 使用FileInfo获取文件信息
  12. 小程序 消息订阅、统一服务消息、客服消息、消息推送
  13. 台式计算机为什么数字输入不了,计算机键盘无法输入数字,为什么?
  14. linux系统scsi硬盘,Linux系统SCSI磁盘管理全攻略(一)
  15. Nginx+Tomcat负载均衡的部署
  16. DeFi明斯基时刻:压力测试与启示
  17. 常用的Python第三方编辑器
  18. 【飞行器】基于matlab四旋翼飞行器PID控制仿真【含Matlab源码 1277期】
  19. 2012移动开发者大会北京站。前100名免票哈!!
  20. 2D网络游戏开发(网络篇)(四)

热门文章

  1. 机器学习特征工程之特征缩放+无量纲化:数据标准化(StandardScaler)
  2. python绘制影像组学训练集、测试集对应的ROC曲线以及瀑布图(rad-score 瀑布图)
  3. git安装+错误:Failed to install ‘IRkernel‘ from GitHub: Git does not seem to be installed on your system
  4. ps grep java_ps -ef | grep java 查看所有关于java的进程
  5. E. coli 大肠杆菌 短read ERR022075
  6. C语言实现数据文件怎么找,急求如何将下列C语言程序数据存储到文件中?
  7. php批量请求url_php请求url的方法小结
  8. wsdd文件是怎么生成的_Axis WSDD文件参考文档
  9. 解决No module named 'sklearn.cross_validation'
  10. 统计学习导论 Chapter4--Classification