07 2019 档案

摘要:面试官Q1:请问String s = new String("xyz");产生了几个对象? 对于这个Java面试题,老套路先上代码: 打印结果如下: 上面程序中的"=="是判断两个对象引用的地址是否相同,也就是判断是否为同一个对象,s1与s2 返回为true,s1与s3返回则是false。说明s1与 阅读全文
posted @ 2019-07-26 07:14 猫鱼吐泡泡 阅读(10255) 评论(4) 推荐(4) 编辑
摘要:面试官:请问HashSet有哪些特点? 应聘者:HashSet实现自set接口,set集合中元素无序且不能重复; 面试官:那么HashSet 如何保证元素不重复? 应聘者:因为HashSet底层是基于HashMap实现的,当你new一个HashSet时候,实际上是new了一个map,执行add方法时 阅读全文
posted @ 2019-07-25 06:45 猫鱼吐泡泡 阅读(1116) 评论(0) 推荐(1) 编辑
摘要:面试官:sychronized关键字有哪些特性? 应聘者: 可以用来修饰方法; 可以用来修饰代码块; 可以用来修饰静态方法; 可以保证线程安全; 支持锁的重入; sychronized使用不当导致死锁; 可以用来修饰方法; 可以用来修饰代码块; 可以用来修饰静态方法; 可以保证线程安全; 支持锁的重 阅读全文
posted @ 2019-07-24 07:09 猫鱼吐泡泡 阅读(1534) 评论(0) 推荐(1) 编辑
摘要:面试官:您知道线程的生命周期包括哪几个阶段? 应聘者: 线程的生命周期包含5个阶段,包括:新建、就绪、运行、阻塞、销毁。 新建:就是刚使用new方法,new出来的线程; 就绪:就是调用的线程的start()方法后,这时候线程处于等待CPU分配资源阶段,谁先抢的CPU资源,谁开始执行; 运行:当就绪的线程被调度并获得CPU资源时,便进入运行状态,run方法定义了线程的操作和功能; 阻塞:在运行状态的时候,可能因为某些原因导致运行状态的线程变成了阻塞状态,比如sleep()、wait()之后线程就处于了阻塞状态,这个时候需要其他机制将处于阻塞状态的线程唤醒,比如调用notify或者notifyAll()方法。唤醒的线程不会立刻执行run方法,它们要再次等待CPU分配资源进入运行状态; 销毁:如果线程正常执行完毕后或线程被提前强制性的终止或出现异常导致结束,那么线程就要被销毁,释放资源; 阅读全文
posted @ 2019-07-23 07:01 猫鱼吐泡泡 阅读(53794) 评论(3) 推荐(11) 编辑
摘要:Java面试题经常会问的问题 面试官Q1:请问StringBuffer和StringBuilder有什么区别? 这是一个老生常谈的话题,笔者前几年每次面试都会被问到,作为基础面试题,被问到的概率百分之八九十。下面我们从面试需要答到的几个知识点来总结一下两者的区别有哪些? 继承关系? 如何实现的扩容? 线程安全性? 阅读全文
posted @ 2019-07-22 07:01 猫鱼吐泡泡 阅读(3550) 评论(0) 推荐(0) 编辑
摘要:面试官Q1:可以手写一个ArrayList的简单实现吗? 我们都知道ArrayList是基于数组实现,如果让你实现JDK源码ArrayList中add()、remove()、get()方法,你知道如何实现吗?这一节,我们不看源码,我们想想如何简单的实现ArrayList几个基本方法? 确定数据结构 阅读全文
posted @ 2019-07-18 07:37 猫鱼吐泡泡 阅读(1888) 评论(0) 推荐(0) 编辑
摘要:面试官Q1:请说说static关键字,你在项目中是怎么使用的? static 关键字可以用来修饰:属性、方法、内部类、代码块; static 修饰的资源属于类级别,是全体对象实例共享的资源; 使用 static 修饰的属性,静态属性是在类的加载期间初始化的,使用类名.属性访问 static 关键字可 阅读全文
posted @ 2019-07-16 07:06 猫鱼吐泡泡 阅读(4620) 评论(0) 推荐(0) 编辑
摘要:面试官:请问启动线程是start()还是run()方法,能谈谈吗? 应聘者:start()方法 当用start()开始一个线程后,线程就进入就绪状态,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。但是这并不意味着线程就会立即运行。只有当cpu分配时间片时,这个线程获得时间 阅读全文
posted @ 2019-07-14 18:26 猫鱼吐泡泡 阅读(5761) 评论(0) 推荐(5) 编辑
摘要:面试官:请问 equals() 和 "==" 有什么区别? 应聘者: equals()方法用来比较的是两个对象的内容是否相等,由于所有的类都是继承自java.lang.Object类的,所以适用于所有对象,如果没有对该方法进行覆盖的话,调用的仍然是Object类中的方法,而Object中的equal 阅读全文
posted @ 2019-07-13 18:13 猫鱼吐泡泡 阅读(9468) 评论(1) 推荐(2) 编辑

点击右上角即可分享
微信分享提示