面试题总结
Java开发面试辅导-海龟老师
毕业于浙江大学软件工程硕士,在BAT一线大厂担任架构师工作,作为面试官有丰富的面试经验,以及项目架构经验
展开
-
java多线程相关的面试题汇总
1.Java 中多线程同步是什么? 2.解释实现多线程的几种方法? 3.Thread.start ()与 Thread.run ()有什么区别? 4.为什么需要 run ()和 start ()方法,我们可以只用 run ()方法来完成任务吗? 5.什么是 ThreadLocal 类,怎么使用它? 6.什么时候抛出 InvalidMonitorStateException 异常原创 2015-12-12 16:27:31 · 714 阅读 · 0 评论 -
Java面试题总结
1、常用设计模式单例模式:懒汉式、饿汉式、双重校验锁、静态加载,内部类加载、枚举类加载。保证一个类仅有一个实例,并提供一个访问它的全局访问点。代理模式:动态代理和静态代理,什么时候使用动态代理。适配器模式:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。装饰者模式:动态给类加功能。转载 2017-06-25 20:45:18 · 930 阅读 · 0 评论 -
Java 工程师成神之路
Java 工程师成神之路 Linux中国微信号 linux-cn功能介绍 面向Linux爱好者,提供Linux技术文章、新闻资讯和交流平台。 每天推送一条最新精选Linux资讯和技术文章;支持Linux命令查询、Linux资讯搜索及微信群的交流。参考原文:http://www.hollischuang.com/转载 2016-05-12 11:32:29 · 1703 阅读 · 0 评论 -
(多线程与并发)面试题03--java中读写锁ReadWriteLock
1.排他锁(互斥锁)的概念:synchronized,ReentrantLock这些锁都是排他锁,这些锁同一时刻只允许一个线程进行访问。2.读写锁的概念:分为读锁和写锁,多个读锁不互斥,读锁和写锁互斥,写锁与写锁互斥。3.读写锁的好处: 原来使用的互斥锁只能同时间有一个线程在运行,现在的读写锁同一时刻可以多个读锁同时运行,这样的效率比原来的排他锁(互斥锁)效率高原创 2015-12-27 15:43:13 · 2753 阅读 · 0 评论 -
07.(java基础)面试题04 ==,equals区别
1. == java中的==是比较两个对象在JVM中的地址。比较好理解。看下面的代码:1 public class ComAddr{2 public static void main(String[] args) throws Exception {3 String s1 = "nihao";4 String s2 = "nih原创 2015-12-24 14:55:51 · 616 阅读 · 0 评论 -
06.(java基础)面试题--03 abstract的用法,以及abstract和interface的异同
一.abstract(抽象)修饰符,可以修饰类和方法: 1.abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,抽象类就像当于一类的半成品,需要子类继承并覆盖其中的抽象方法。 2.abstract修饰方法,会使这个方法变成抽象方法,也就是只有声明(定义)而没有实现。需要子类继承实现(覆盖)。 注意:有抽象方法的类一定是抽象类,抽象方法一定要放原创 2015-12-24 10:45:26 · 1056 阅读 · 0 评论 -
03.(多线程与并发)面试题-02--Volidate的原理和指令重排序
线程栈(线程的工作内存)保存了线程运行时候变量值信息。当线程访问某一个对象时候值的时候,首先通过对象的引用找到对应在堆内存的变量的值,然后把堆内存变量的具体值load到线程本地内存中,建立一个变量副本,之后线程就不再和对象在堆内存变量值有任何关系,而是直接修改副本变量的值, 在修改完之后的某一个时刻(线程退出之前),自动把线程变量本的值回写到对象在堆中变量。这样在堆中的对象的值就产生变化原创 2015-12-22 09:23:44 · 3420 阅读 · 0 评论 -
05.(java基础)-02final,finally,finalize的区别
1.final 是修饰符,可以用于修饰变量、方法和类。修饰变量时,代表变量不可以修改,也就是常量了,常量需要在定义时赋值或通过构造函数赋值,两者只能选其一;修饰方法时,代表方法只能调用,不能被 override ;修饰类时,代表类不能够派生出子类,所以一个类不能既是 final 又是 abstract;(注意:final指的是引用不可变性,即它只能指向的初始化时的指向的哪个对象,而不关心指原创 2015-12-22 20:09:23 · 558 阅读 · 0 评论 -
04.(Java基础)-01Static关键字的有哪些作用
Static 关键字主要有两个作用: 1.为特定的数据类型或对象分配单一的存储空间,而不用去考虑创建了多少个实例对象,用static修饰的在内存中只有一份它与创建的实例的对象多少没有关系。 2.在不创建类的实例对象的情况下就可以通过类来直接调用方法或使用类中的属性。注意: 由于static方法使用前不需要创建任何对象;所以对于static方法不原创 2015-12-22 19:40:46 · 650 阅读 · 0 评论 -
(多线程与并发)面试题01--synchroinzed和volidate的区别
Java 语 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。Synchronized是对Volidate的基础上增加了互斥的功能。1.Volidate:只保证可见性,可以多个线程同时访问voliadte修饰的变量。2.Synchroinzed:既保证了可见性又保证了互斥性。同时只能有一个线程去访问。言中的 vo原创 2015-12-21 22:01:18 · 5182 阅读 · 0 评论 -
数据结构面试题(1)--用两个队列实现一栈和用两个栈实现一个队列
test原创 2015-12-20 11:12:19 · 757 阅读 · 0 评论 -
(java集合原理)--01 HashMap的实现原理
HashMap本质数据加链表。根据key取得hash值,然后计算出数组下标,如果多个key对应到同一个下标,就用链表串起来,新插入的在前面。HashMap是线程不安全的里面的方法都是没有加synchronizated非线程安全方法1.HashMap的数据结构 HashMap的底层是用数组+单链表实现的源码: /** * An em原创 2015-12-29 18:40:07 · 838 阅读 · 0 评论 -
阿里巴巴十年Java架构师分享,会了这个知识点的人都去BAT了
1.源码分析专题详细介绍源码中所用到的经典设计思想,看看大牛是如何写代码的,提升技术审美、提高核心竞争力。帮助大家寻找分析源码的切入点,在思想上来一次巨大的升华。知其然,并知其所以然。把知识变成自己的2.分布式架构互联网时代,系统架构如何迎接高并发流量的挑战。而作为技术开发者,如何去应对技术变革带来的技能危机。基于传统架构到分布式架构演变过程所带来的技术变革进行全面深入讲解。在技术深度和技术广度上...转载 2018-03-12 16:04:37 · 686 阅读 · 0 评论