撩课-Java每天10道面试题第3天】的更多相关文章

撩课Java+系统架构 视频 点击开始学习 61.什么是并发修改异常? 什么是并发修改异常: 当我们在遍历实现了collection接口 与iterator接口的集合时(List.Set.Map), 我们可以通过遍历索引 也可以通过迭代器进行遍历. 在我们使用迭代器进行遍历集合的时候, 会获取到当前集合的迭代对象. 在里面有封装了迭代器的remove方法 与集合自带的remove方法, 如果我们调用迭代器对象的remove方法 是没问题的, 但是当我们调用集合自带的remove方法时, 就会产生…
撩课Java+系统架构 视频 点击开始学习 31.静态变量和实例变量的区别? 静态变量也叫类变量, 这种变量前加了static修饰符. 可以直接用类名调用, 也可以用对象调用, 而且所有对象的同一个类变量 都是共享同一块内存空间. 实例变量也叫对象变量, 这种变量没有加static修饰符. 只能通过对象调用, 而且所有对象的同一个实例变量 是共享不同的内存空间的. 区别在于: 静态变量是所有对象共有的, 某一个对象将它的值改变了, 其他对象再去获取它的值, 得到的是改变后的值: 实例变量则是每一…
1.简述JDK.JRE.JVM? 一.JDK JDK(Java Development Kit) 是整个JAVA的核心, 包括了Java运行环境(Java Runtime Envirnment), 一堆Java工具(javac/java/jdb等) 和Java基础的类库(即Java API 包括rt.jar). JDK是java开发工具包, 基本上每个学java的人都会先在机器 上装一个JDK, 那他都包含哪几部分呢? 在目录下面有 六个文件夹. 一个src类库源码压缩包. 和其他几个声明文件.…
51.HashMap的实现原理 HashMap的主干是一个Entry数组. Entry是HashMap的基本组成单元, 每一个Entry包含一个key-value键值对. HashMap基于hashing原理, 我们通过put()和get()方法储存和获取对象. 当我们将键值对传递给put()方法时, 它调用键对象的hashCode()方法 来计算hashcode, 让后找到bucket位置来储存值对象. 当获取对象时, 通过键对象的equals()方法 找到正确的键值对, 然后返回值对象. H…
41.Iterator.ListIterator 和 Enumeration的区别? 迭代器是一种设计模式, 它是一个对象, 它可以遍历并选择序列中的对象, 而开发人员不需要了解 该序列的底层结构. 迭代器通常被称为“轻量级”对象, 因为创建它的代价小. Java中的Iterator功能比较简单, 并且只能单向移动: (1) 使用方法iterator()要求容器返回一个Iterator. 第一次调用Iterator的next()方法时, 它返回序列的第一个元素. 注意:iterator()方法是…
21.final, finally, finalize的区别 1.final修饰符(关键字). 被final修饰的类, 就意味着不能再派生出新的子类, 不能作为父类而被子类继承. 因此一个类不能既被abstract声明, 又被final声明.将变量或方法声明为final, 可以保证他们在使用的过程中不被修改. 被声明为final的变量必须在声明时给出变量的初始值, 而在以后的引用中只能读取. 被final声明的方法也同样只能使用, 即不能方法重写. 22.finally是在异常处理时 提供fin…
11.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面, 以便更充分地注意与当前目标有关的方面. 抽象并不打算了解全部问题,而只是选择其中的一部分, 暂时不用部分细节. 抽象包括两个方面, 一是过程抽象, 二是数据抽象. 2.继承: 继承是一种联结类的层次模型, 并且允许和鼓励类的重用, 它提供了一种明确表述共性的方法. 对象的一个新类可以从现有的类中派生, 这个过程称为类继承. 新类继承了原始类的特性, 新类称为原始类的派生类(子类), 而原始类称为新类的基…
撩课Java+系统架构 视频 点击开始学习 81.Servlet的会话机制? HTTP 是一种无状态协议, 这意味着每次客户端检索网页时, 都要单独打开一个服务器连接, 因此服务器不会记录下 先前客户端请求的任何信息. 它与FTP.Telnet等协议不同, FTP等协议可以记住用户的连接信息. 会话(Session)是指一个终端用户 与交互系统进行通信的时间间隔, 通常指从登陆系统到注销系统之间 所经过的时间以及如果需要的话, 可能还有一定操作空间. JSP有四种方式实现会话跟踪功能. Cook…
撩课Java+系统架构点击开始学习 96.JDBC操作数据库的步骤 ? .加载数据库驱动 .创建并获取数据库链接 .创建jdbc statement对象 .设置sql语句 .设置sql语句中的参数(使用preparedStatement) .通过statement执行sql并获取结果 .对sql执行结果进行解析处理 .释放资源(resultSet.preparedstatement.connection) 97.JDBC中的Statement 和PreparedStatement的区别? Jav…
撩课Java+系统架构点击开始学习 106.什么是Hibernate的并发机制?怎么去处理并发问题? a.Hibernate的Session对象是非线程安全的, 对于单个请求,单个会话, 单个的工作单元(即单个事务,单个线程), 它通常只使用一次, 然后就丢弃. 如果一个Session 实例允许共享的话, 那些支持并发运行的, 例如Http request,session beans 将会导致出现资源争用. 如果在Http Session中有hibernate的Session的话, 就可能会出现…