Java面试问题汇总(每天进步一点点)

面试问题汇总

1.final、finally、finalize的区别

  • final是修饰符:被修饰的类不能被继承,被修饰的方法不能被重写,被修饰的变量只能被赋值一次
  • finally是异常处理的重要组成部分:try....catch....finally,不管时候产生或者跑出异常都会执行finally里面的操作,一般我们在其中做释放资源的操作
  • finalize:是Object类中的方法,所以说所有都得类都会有这个方法,这个方法主要是在对象被GC机制回收的时候调用,一般也是做释放资源的操作

2.Overload与Override的区别

  • Overload 特点

    • 在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的参数顺序(当然,同一方法内的几个参数类型必须不一样,例如可以是fun(int, float), 但是不能为fun(int, int));
    • 不能通过访问权限、返回类型、抛出的异常进行重载;
    • 方法的异常类型和数目不会对重载造成影响;
    • 重载事件通常发生在同一个类中,不同方法之间的现象。
    • 存在于同一类中,但是只有虚方法和抽象方法才能被覆写。
  • Override特点
    • 覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;
    • 覆盖的方法的返回值必须和被覆盖的方法的返回一致;
    • 覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;
    • 方法被定义为final不能被重写。
    • 对于继承来说,如果某一方法在父类中是访问权限是private,那么就不能在子类对其进行重写覆盖,如果定义的话,也只是定义了一个新方法,而不会达到重写覆盖的效果。(通常存在于父类和子类之间。)

3.什么是事物及其特性

  • 概念:事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。
  • 特性:原子性、隔离型、持久性、一致性

4.事物会出现的问题(并发问题)

  • 脏读:一个事物读到了另外一个事物未提交的数据(我还没提交你就读到了)
  • 不可重复读:一个事物读到了另外一个事物已经提交Update的数据(我还没修改完,你就读了)
  • 幻读(虚读):一个事物读到另外一个事物已经提交的增删的数据(我对整个表内容操作时,你就增删数据)

5.事物的隔离级别

  • 读未提交:所有问题均有可能发生
  • 读已提交:避免脏读(oracle默认)
  • 不可重复读:避免脏读和不课重复读(mysql默认)
  • 串行化:避免所有问题

6.数据库的控制

  • 事物控制来源于关系型数据库
  • Mysql的控制:
    • 存储引擎:innoDB(支持事物)
    • 存储引擎:MyIsam(不支持事物)
  • jdbc事物的控制:关闭自动提交(CommitAuto(false))
  • Hibernate中的事物控制:使用Session进行事物控制:session.beginTransition();
  • Spring使用Aop进行事物管理

7.线程的状态

  • 就绪
  • 运行
  • 阻塞
  • 终止

8.创建线程的方式

  • 实现Runnable接口
  • 继承Thread类
  • 实现callable和futureTask创建线程
  • 通过线程池获取

9.java面向对象的特点

  • 封装
  • 继承
  • 多态
  • 抽象

10.java中的基本数据类型

  • 整形:byte、short、int、long
  • 浮点型:float、double
  • 字符型:char
  • 布尔型:boolean

11.==与equlas的区别

  • 对于基本数据类型,“==”比较的是两者的值是否相等。

  • 对于引用数据类型

    • “==”比较的是引用的地址是否相同

      Object中的.equals()方法和"==’功能一样。

    • 但是String类中的.equals()方法重写了,比较的是两个引用对象的内容是否想同。

  • 简而言之:如果勒种没有重写equals()方法的话,其实与“==”是一样的

12.你知道的集合类都有哪些以及常用方法

  • Collection的子类
    • List:ArrayList,LinkedList,Vector
    • Set:HashSet,TreeSet,HashTable
    • 其主要方法有:add(),get(),addAll(),renmove(),contains()
  • Map的子类:
    • HashMap
    • HashTable
    • 其主要方法有:put,remove,get,cotainsKey

13.java中的异常如何处理

  • 捕获异常:try...catch...finally
  • 继续向上层抛出异常:throws

14.jsp与servlet的却别以及servlet的执行流程

  • 区别:jsp编译后就是servlet,jsp比servlet更擅长页面显示而servlet更注重逻辑控制,servlet没有内至对象
  • servlet的执行流程:用户请求-->servlet映射-->servlet的类-->执行doget方法
  • servlet的生命周期: init()-->service()-->destory()

15.get请求与post请求的区别

  • get请求的参数在请求头中,post在请求体重
  • get的安全性相比post较差
  • get的内容大小有限制

16.重定向和转发

  • 重定向:HttpServletResponse.sendRedirect
  • 转发:RequestDispatcher.forward
  • 区别:
    • 转发地址栏不变(一次请求),重定向地址栏变化(两次)
    • 转发不用写项目名称,重定向需要编写项目名称
    • 转发可以使用request对象传递值,重定向不可以使用request对象传递值
    • 转发只能在服务器的内部进行操作,重定向可以定向到任何的资源!!

17.tomcat的常用配置

  • 目录结构

    /bin:脚本文件目录。
    /common/lib:存放所有web项目都可以访问的公共jar包(使用Common类加载器加载)。
    /conf:存放配置文件,最重要的是server.xml。
    /logs:存放日志文件。
    /server/webapps:来管理Tomcat-web服务用的。仅对TOMCAT可见,对所有的WEB APP都不可见(使用Catalina类加载器加载)。
    /shared/lib:仅对所有WEB APP可见,对TOMCAT不可见(使用Shared类加载器加载)。
    /temp:Tomcat运行时候存放临时文件用的。
    /webapps:web应用发布目录。
    /work:Tomcat把各种由jsp生成的servlet文件放在这个目录下。删除后,启动时会自动创建。

  • 配置文件

    server.xml:主要的配置文件。
    web.xml:缺省的web app配置,WEB-INF/web.xml会覆盖该配置。
    context.xml:不清楚跟server.xml里面的context是否有关系。

    port:端口

    minProcessors:最小线程

    maxProcessors:最大线程

Snipaste_2018-11-15_21-46-41.png
Snipaste_2018-11-15_21-48-51.png
Snipaste_2018-11-15_21-52-38.png
Snipaste_2018-11-15_22-08-26.png
Snipaste_2018-11-15_22-09-31.png
Snipaste_2018-11-15_22-15-49.png
Snipaste_2018-11-15_22-20-43.png
Snipaste_2018-11-15_22-27-33.png
Snipaste_2018-11-15_22-35-31.png
1.png
Snipaste_2018-11-15_23-42-12.png
Snipaste_2018-11-16_00-04-21.png
Snipaste_2018-11-15_22-39-59.png
微信图片_20181115220205.png

image.png

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,451评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,172评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,782评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,709评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,733评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,578评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,320评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,241评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,686评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,878评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,992评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,715评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,336评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,912评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,040评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,173评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,947评论 2 355

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,632评论 18 399
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,248评论 11 349
  • 1.内存泄露 内存泄漏两种情况: 在堆中申请的空间没有被释放(虚拟机gc可以解决) 对象已不在使用,但仍然在内存中...
    Aimerwhy阅读 599评论 0 0
  • 把事情做完、做好,並非不可能的任務。專業工作者不僅要善加管理時間,還要學習規劃工作的優先順序。在日本東京全球...
    Emnnn_阅读 1,220评论 0 1
  • 十年如梭 约旦河依旧 从加利利奔向死海 正如我 从丰盛走到了贫脊 没有爱人的呵护 不再有少年人的嘻闹 只有旷野的风...
    萌牛约瑟阅读 266评论 2 3