java作用域public private protected 不写-friendly的区别?
  • public:可以被任何类引用。
  • protected:除了其他包不能使用,当前类,子孙类,同一包下的所有类都可

    以使用。
  • friendly:不写时,子孙类和其他包不能使用,当前类,同一包下都可以使用。
  • private:只有当前类中可以使用。

& 和 && 的区别。
  • &是位运算符,而&&的逻辑运算符。二者没有可比性。

collection和collections的区别。
  • collection是java中容器框架的顶层接口。继承它的主要有list和set两个接口。
  • collections是针对容器类的一个帮助类。提供一系列的静态方法实现对容器的各种

    搜索,排序,线程安全化的操作。
  • 线程安全化:使用synchronized方法将集合变为线程同步的安全集合。
class model{
List list1 = Collections.synchronizedList(new ArrayList());
List list2 = Collections.synchronizedMap(new Map<String,String>());
List list3 = Collections.synchronizedSet(new TreeSet<>());
}

String s=new String("asd")创建了多少个对象。
  • 创建了两个。首先创建asd的字符串对象。然后new字符串对象将asd赋予它。
  • String s = "asd":这种方式变量存储在方法区中。
  • new String("asd"): 这种方式对象存储在堆中。

java中有没有goto关键字?
  • java中的保留字,现在没有在java中使用。goto语句常与条件语句配合使用。可用来实现

    条件转移,构成循环,跳出循环体等功能。但是在结构化程序中,一般不使用goto语句,以免

    造成程序流的混乱,使理解和调试程序困难。

5%3、-5%3、5%-3、-5%-3的结果是多少?
  • 以右边的符号为准:2 -2 2 -2

Overload和Override的区别
  • 重载:Overload在同一类中使用,只要方法名一致,参数个数,返回值都可以不用一致。访问类型也可以改。
  • 重写:Override继承关系类使用,方法名,返回值,参数个数必须一致。访问类型必须必父类大。

set容器里的元素是不能重复的,那么使用什么方法实现的?
  • 首先set集合的底层是map实现的,而map的key是不能重复的。map的key值不重复是因为put方法会先进行

    hashcode的比较,如果值一致那么再进行equals方法比较。这样保证key值得唯一性。

error和exception的区别
  • error一般是指可以恢复但是非常困难的问题,如栈溢出,内存溢出。
  • exception指运行时异常,这是一种设计或者实现上的问题。

jdk8的新特性 主要的
  • Lambda表达式和函数式接口:
lambda表达式也称为闭包。是jdk8中的最大的改变,它允许我们将函数当成参数传递给某个方法,或者把代码
本身当做数据处理:函数式开发。
  • 接口增加的默认方法和静态方法:
default和static
  • 方法引用:
方法引用使得开发者可以引用现存的方法,java类的构造方法或者实例对象。一般和lambda表达式配合使用。
使得代码简介,紧凑。
构造器引用 Class::new///Class<T>::new
静态方法引用 Class::static_method
某个类的成员方法引用 Class::method
实例对象的成员方法引用 instance::method
  • 重复注解:
自从java5引进注解之后,注解使用的越来越多,尤其是在框架中,但是注解不能在一个地方多次使用,
java8打破了这个限制,可以在一个地方重复使用同一个注解,使用 @Repeatable定义重复的注解
  • 更好的类型推断
编译器可以推导出某个参数的数据类型,使得代码更加的简洁
  • 拓宽注解的应用场景
现在注解几乎可以使用在任何元素上。局部变量,接口,超类,实现类等

抽象类的接口的区别
  • 相同点:都是不能被直接实例化的
  • 不同点:
1. 抽象类是可以有方法体的,接口中没有,但是java8的新特性中接口可以写static和default关键字
的方法。
2. 抽象类中的成员变量可以随意修饰,接口中只能是public sttaic final类型
3. 接口中不能含有静态代码块,静态方法。抽象类可以有,新特性之后,接口可以写静态方法。
4. 一个类只能单继承,但是可以多实现。
5. 抽象类可以定义成员变量,接口中的变量都是常量。

抽象类是否可以继承实体类?
  • 抽象类是可以继承实体类的,但是前提是实体类具有明确的构造函数。

constructor可以被override么?
  • 不能,因为constructor是不能被继承的。但是可以被overload。

String类可以被继承么?
  • 不能,该类是被final修饰的

在try-catch-final中,return在try语句里,那么执行顺序?
  • final中的code会在return之前执行。

静态变量和实例变量的区别
  • 静态变量是被static修饰的变量,也叫作类变量,不属于类的任何一个对象,一个类不管创建多少个对象

    静态变量在内存中有且仅有一个拷贝。
  • 实例变量必须依托于某一个实例,需要先创建对象后通过对象才能访问,静态变量可以实现让多个对象共享

    内存

ArrayList和Vector的区别,HashMap和Hashtable的区别。

ArrayList和Vector:

  • 同步性:ArrayList是线程不安全的,也即是不同步的,Vector是线程安全的,也即是同步的。
  • 数据增长:ArrayList在达到阈值的时候会增长原来集合的50%,Vector则会增长100%。

HashMap和Hashtable:

  • 历史原因:Hashtable是基于Dictionary类的,HashMap是java1.2引进的Map接口的一个实现。
  • 同步性:Hashtable是线程安全的,HaspMap是线程不安全的的。
  • 值:只有HashMap可以有空值,key或value。

char变量可以存储一个汉字么?为什么?
  • 可以,java中以unicode编码,一个char占16字符,所以放中文是没有问题的。

GC是什么?为什么要有GC?
  • GC就是垃圾收集器。java不像C定义一个变量需要手动释放内存。主要就是GC实现的,他可以自动检测对象

    是否超过作用域从而达到自动回收的目的。

String和StringBuffer和StringBuilder的区别
  • String是长度不可变的,而Buffer和Builder是可变的。
  • buffer和builder最大的区别就是buffer是线程安全的,builder是线程不安全的。所以多线程推荐使用

    buffer,单线程使用builder。

final,finally,finalize的区别
  • final:修饰符,修饰类:不可被继承,修饰变量:变为常量,修饰方法:不能重载
  • finally:在处理异常时finally块来执行任何清除操作。
  • finalize:方法名,java允许finalize方法在GC将对象从内存中清除之前做必要的清理工作。此方法是

    GC确定该对象没有被使用的时候调用的,属于Object类,所以所有类都有该方法。

面向对象的特性
  • 抽象
  • 继承
  • 封装
  • 多态

基本数据类型
  • byte char int short long double float boolean

int和integer的区别
  • int是基本数据类型,integer是int的封装类型。

ArrayList和Vector和LinkedList的存储性能和特性
  • ArrayList和Vector都是基于数组实现的,所以查询快,但是ArrayList是线程不安全的,Vector是线程

    安全的,其次,Vector的性能较差。
  • LinkedList是基于链表的,所以插入,删除,更改快。

heap和stack的区别

heap堆,stack栈。

  • 栈:存取快,仅次于CPU中的寄存器,栈中的数据大小和生存区是确定的,缺乏灵活性。栈数据可以共享
  • 堆:动态分配内存大小:堆中的GC可以周期的收取不再使用的对象。因为动态分配内存,存取慢。

JAVA面试题 (一)的更多相关文章

  1. java面试题及答案(转载)

    JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...

  2. 115个Java面试题和答案——终极列表(下)

    第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...

  3. Java面试题(全)

    JAVA部分 什么是反射机制?反射机制应用(Struts中反射机制的应用) 答:运行状态中,对于任意一个类,都可以知道它的所有属性和方法,对于任意一个对象都可以调用它的任意一个方法,这种动态获取信息以 ...

  4. Java面试题大全(四)

    JAVA代码查错 1. abstract class Name { private String name; public abstract boolean isStupidName(String n ...

  5. 大公司的Java面试题集

    找工作要面试,有面试就有对付面试的办法.以下一些题目来自我和我朋友痛苦的面试经历,提这些问题的公司包括IBM, E*Trade, Siebel, Motorola, SUN, 以及其它大小公司. 面试 ...

  6. 收集了50道基础的java面试题

    下面的内容是对网上原有的Java面试题集及答案进行了全面修订之后给出的负责任的题目和答案,原来的题目中有很多重复题目和无价值的题目,还有不少的参考答案也是错误的,修改后的Java面试题集参照了JDK最 ...

  7. Java笔试题解答和部分面试题

    面试类  银行类的问题 问题一:在多线程环境中使用HashMap会有什么问题?在什么情况下使用get()方法会产生无限循环? HashMap本身没有什么问题,有没有问题取决于你是如何使用它的.比如,你 ...

  8. 转:Java面试题集(51-70) http://blog.csdn.net/jackfrued/article/details/17403101

    Java面试题集(51-70) Java程序员面试题集(51-70) http://blog.csdn.net/jackfrued/article/details/17403101 摘要:这一部分主要 ...

  9. JAVA面试题集之基础知识

                           JAVA面试题集之基础知识 基础知识:  1.C 或Java中的异常处理机制的简单原理和应用. 当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就 ...

  10. [原]Java面试题-将字符串中数字提取出来排序后输出

    [Title][原]Java面试题-将字符串中数字提取出来排序后输出 [Date]2013-09-15 [Abstract]很简单的面试题,要求现场在纸上写出来. [Keywords]面试.Java. ...

随机推荐

  1. 王某人从0开始学习lorawan的笔记_0

    最近老板想做lorawan的项目,交给我了,我也应承下来了,但是!!!我TM连lorawan是啥子我都不知道啊啊啊啊啊! 真希望我女朋友可以看穿我的倔强,给我1千万,让我专心当舔狗,等等,我的女朋友? ...

  2. ESXi安装报错,No network adapters were detected...

    转载请在文章开头附上原文链接地址:https://www.cnblogs.com/Sunzz/p/11438066.html 报错内容 No network adapters No Network a ...

  3. 【sybase】You can’t run SELECT INTO in this database的解决办法

    进入master 数据库,使用sp_dboption test ,'select into',true命令(其中test为要设置可用的数据库)

  4. 解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xyfer.dao.UserDao.findById

    在使用Spring整合MyBatis的时候遇到控制台报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (no ...

  5. Delphi - Windows自动计划任务与ParamStr详解

    Windows自动计划任务与ParamStr详解 ParamStr函数: ParamStr(1),..ParamStr(N) ParamStr(1)代表程序入口的第一个参数,同理,ParamStr(N ...

  6. 根据图中的盲点坐标,弹出div层

    <div class="map_r" id="mapinfo" style="position: absolute; top: 20px; le ...

  7. Codeforces Round #480 (Div. 2)980C Posterized+分组类贪心

    传送门:http://codeforces.com/contest/980/problem/C 参考 题意:给定n个数字,每个数在0~256间,现在给至多连续k的数分为一组,给出字典序最小的答案. 思 ...

  8. ACM-ICPC 2018 沈阳赛区(网络赛)

    D.Made In Heaven One day in the jail, F·F invites Jolyne Kujo (JOJO in brief) to play tennis with he ...

  9. CF1009B Minimum Ternary String 思维

    Minimum Ternary String time limit per test 1 second memory limit per test 256 megabytes input standa ...

  10. 为什么spark中只有ALS

    WRMF is like the classic rock of implicit matrix factorization. It may not be the trendiest, but it ...