资源描述
感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 1 -黑马程序员 Java 面试宝典 Beta5.0 感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 2 第一章 内容介绍.20 第二章 JavaSE 基础.21 一、Java 面向对象.21 1.面向对象都有哪些特性以及你对这些特性的理解.21 2.访问权限修饰符 public、private、protected,以及不写(默认)时的区别(2017-11-12).22 3.如何理解 clone 对象.22 二、JavaSE 语法(2017-11-12-wl).27 1.Java 有没有 goto 语句?(2017-11-12-wl).27 2.&和&的区别(2017-11-12-wl).27 3.在 Java 中,如何跳出当前的多重嵌套循环(2017-11-14-wl).27 4.两个对象值相同(x.equals(y)=true),但却可有不同的 hashCode,这句话对不对?(2017-11-14-wl).28 5.是否可以继承 String(2017-11-14-wl).28 6.当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?(2017-11-14-wl).29 7.重载(overload)和重写(override)的区别?重载的方法能否根据返回类型进行区分?(2017-11-15-wl).29 8.为什么函数不能根据返回类型来区分重载?(2017-11-15-wl).30 9.char 型变量中能不能存储一个中文汉字,为什么?(2017-11-16-wl).31 10.抽象类(abstract class)和接口(interface)有什么异同?(2017-11-16-wl).31 11.抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被 感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 3 synchronized(2017-11-16-wl).32 12.阐述静态变量和实例变量的区别?(2017-11-16-wl).32 13.=和 equals 的区别?(2017-11-22-wzz).33 14.break 和 continue 的区别?(2017-11-23-wzz).33 15.String s=Hello;s=s+world!;这两行代码执行后,原始的 String 对象中的内容到底变了没有?(2017-12-1-lyq).33 三、Java 中的多态.35 1.Java 中实现多态的机制是什么?.35 四、Java 的异常处理.35 1.Java 中异常分为哪些种类.35 2.调用下面的方法,得到的返回值是什么?.35 3.error 和 exception 的区别?(2017-2-23).36 4.java 异常处理机制(2017-2-23).37 5.请写出你最常见的 5 个 RuntimeException(2017-11-22-wzz).37 6.throw 和 throws 的区别(2017-11-22-wzz).38 7.final、finally、finalize 的区别?(2017-11-23-wzz).38 五、JavaSE 常用 API.39 1.Math.round(11.5)等于多少?Math.round(-11.5)又等于多少?(2017-11-14-wl).39 2.switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上?(2017-11-14-wl).39 3.数组有没有 length()方法?String 有没有 length()方法?(2017-11-14-wl).39 4.String、StringBuilder、StringBuffer 的区别?(2017-11-14-wl).39 感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 4 5.什么情况下用“+”运算符进行字符串连接比调用 StringBuffer/StringBuilder 对象的 append 方法连接字符串性能更好?(2017-11-14-wl).40 6.请说出下面程序的输出(2017-11-14-wl).47 7.Java 中的日期和时间(2017-11-19-wl).48 六、Java 的数据类型.70 1.Java 的基本数据类型都有哪些各占几个字节.70 2.String 是基本数据类型吗?(2017-11-12-wl).71 3.short s1=1;s1=s1+1;有错吗?short s1=1;s1+=1 有错吗;(2017-11-12-wl).71 4.int 和 和 Integer 有什么区别?(2017-11-12-wl).71 5.下面 Integer 类型的数值比较输出的结果为?(2017-11-12-wl).72 6.String 类常用方法(2017-11-15-lyq).74 7.String、StringBuffer、StringBuilder 的区别?(2017-11-23-wzz).74 8.数据类型之间的转换(2017-11-23-wzz).75 七、Java 的 IO.75 1.Java 中有几种类型的流(2017-11-23-wzz).75 2.字节流如何转为字符流.76 3.如何将一个 java 对象序列化到文件里.76 4.字节流和字符流的区别(2017-11-23-wzz).77 5.如何实现对象克隆?(2017-11-12-wl).77 6.什么是 java 序列化,如何实现 java 序列化?(2017-12-7-lyq).80 八、Java 的集合.81 感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 5 1.HashMap 排序题,上机题。(本人主要靠这道题入职的第一家公司).81 2.集合的安全性问题.83 3.ArrayList 内部用什么实现的?(2015-11-24).83 4.并发集合和普通集合如何区别?(2015-11-24).89 5.List 的三个子类的特点(2017-2-23).91 6.List 和 Map、Set 的区别(2017-11-22-wzz).91 7.HashMap 和 HashTable 有什么区别?(2017-2-23).92 8.数组和链表分别比较适合用于什么场景,为什么?(2017-2-23).93 9.Java 中 ArrayList 和 Linkedlist 区别?(2017-2-23).96 10.List a=new ArrayList()和 ArrayList a=new ArrayList()的区别?(2017-2-24).97 11.要对集合更新操作时,ArrayList 和 LinkedList 哪个更适合?(2017-2-24).97 12.请用两个队列模拟堆栈结构(2017-2-24).101 13.Collection 和 Map 的集成体系(2017-11-14-lyq).102 14.Map 中的 key 和 value 可以为 null 么?(2017-11-21-gxb).103 九、Java 的多线程和并发库.104(一)多线程基础知识-传统线程机制的回顾(2017-12-11-wl).104(二)多线程基础知识-线程并发库(2017-12-11-wl).118(三)多线程面试题.246 十、Java 内部类.272 1.静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?(2017-11-16-wl).272 2.下面的代码哪些地方会产生编译错误?(2017-11-16-wl).272 感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 6 第三章 JavaSE 高级.273 一、Java 中的反射.273 1.说说你对 Java 中反射的理解.273 二、Java 中的动态代理.273 1.写一个 ArrayList 的动态代理类(笔试题).273 2.动静态代理的区别,什么场景使用?(2015-11-25).274 三、Java 中的设计模式&回收机制.274 1.你所知道的设计模式有哪些.274 2.单例设计模式.275 3.工厂设计模式.276 4.建造者模式(Builder).279 5.适配器设计模式.280 6.装饰模式(Decorator).282 7.策略模式(strategy).283 8.观察者模式(Observer).285 9.JVM 垃圾回收机制和常见算法.287 10.谈谈 JVM 的内存结构和内存分配.291 11.Java 中引用类型都有哪些?(重要).293 12.heap 和 stack 有什么区别(2017-2-23).295 13.解释内存中的栈(stack)、堆(heap)和方法区(method area)的用法(2017-11-12-wl).302 四、Java 的类加载器(2015-12-2).302 感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 7 1.Java 的类加载器的种类都有哪些?.302 2.类什么时候被初始化?.303 3.Java 类加载体系之 ClassLoader 双亲委托机制(2017-2-24).303 4.描述一下 JVM 加载 class(2017-11-15-wl).307 5.获得一个类对象有哪些方式?(2017-11-23-wzz).308 五、JVM 基础知识(2017-11-16-wl).309 1.既然有 GC 机制,为什么还会有内存泄露的情况(2017-11-16-wl).309 六、GC 基础知识(2017-11-16-wl).310 1.Java 中为什么会有 GC 机制呢?(2017-11-16-wl).310 2.对于 Java 的 GC 哪些内存需要回收(2017-11-16-wl).310 3.Java 的 GC 什么时候回收垃圾(2017-11-16-wl).311 七、Java8 的新特性以及使用(2017-12-02-wl).312 1.通过 10 个示例来初步认识 Java8 中的 lambda 表达式(2017-12-02-wl).312 2.Java8 中的 lambda 表达式要点(2017-12-02-wl).320 3.Java8 中的 Optional 类的解析(2017-12-02-wl).322 八、在开发中遇到过内存溢出么?原因有哪些?解决方法有哪些?(2017-11-23-gxb).329 第四章 JavaWEB 基础.330 一、JDBC 技术.330 1.说下原生 jdbc 操作数据库流程?(2017-11-25-wzz).330 2.什么要使用 PreparedStatement?(2017-11-25-wzz).331 3.关系数据库中连接池的机制是什么?(2017-12-6-lyq).332 感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 8 三、Http 协议.333 1.http 的长连接和短连接(2017-11-14-lyq).333 2.HTTP/1.1 与 HTTP/1.0 的区别(2017-11-21-wzy).333 3.http 常见的状态码有哪些?(2017-11-23-wzz).336 4.GET 和 POST 的区别?(2017-11-23-wzz).337 5.http 中重定向和请求转发的区别?(2017-11-23-wzz).338 四、Cookie 和 Session.338 1.Cookie 和 Session 的区别(2017-11-15-lyq).338 2.session 共享怎么做的(分布式如何实现 session 共享)?.339 3.在单点登录中,如果 cookie 被禁用了怎么办?(2017-11-23-gxb).342 五、jsp 技术.342 1.什么是 jsp,什么是 Servlet?jsp 和 Servlet 有什么区别?(2017-11-23-wzz).342 2.jsp 有哪些域对象和内置对象及他们的作用?(2017-11-25-wzz).343 六、XML 技术.344 1.什么是 xml,使用 xml 的优缺点,xml 的解析器有哪几种,分别有什么区别?(2017-11-25-wzz)344 第五章 JavaWEB 高级.346 一、Filter 和 Listener.346 二、AJAX.346 1.谈谈你对 ajax 的认识?(2017-11-23-wzz).346 2.jsonp 原理(2017-11-21-gxb).347 三、Linux.348 感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 9 1.说一下常用的 Linux 命令.348 2.Linux 中如何查看日志?(2017-11-21-gxb).349 3.Linux 怎么关闭进程(2017-11-21-gxb).350 四、常见的前端框架有哪些.351 1.EasyUI(2017-11-23-lyq).351 2.MiniUI(2017-11-23-lyq).353 1.jQueryUI(2017-11-23-lyq).354 2.Vue.js(2017-11-23-lyq).355 3.AngularJS(2017-11-23-lyq).357 第六章 数据库.361 一、Mysql.361 1.SQL 的 select 语句完整的执行顺序(2017-11-15-lyq).361 2.SQL 之聚合函数(2017-11-15-lyq).363 3.SQL 之连接查询(左连接和右连接的区别)(2017-11-15-lyq).363 4.SQL 之 sql 注入(2017-11-15-lyq).364 5.Mysql 性能优化(2017-11-15-lyq).364 6.必看 sql 面试题(学生表_课程表_成绩表_教师表)(2017-11-25-wzz).365 7.Mysql 数据库架构图(2017-11-25-wzz).366 8.Mysql 架构器中各个模块都是什么?(2017-11-25-wzz).367 9.Mysql 存储引擎有哪些?(2017-11-25-wzz).368 10.MySQL 事务介绍(2017-11-25-wzz).369 感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 10 11.MySQL 怎么创建存储过程(2017-11-25-wzz).371 12.MySQL 触发器怎么写?(2017-11-25-wzz).372 13.MySQL 语句优化(2017-11-26-wzz).373 14.MySQL 中文乱码问题完美解决方案(2017-12-07-lwl).374 15.如何提高 MySQL 的安全性(2017-12-8-lwl).376 二、Oracle.378 1.什么是存储过程,使用存储过程的好处?(2017-11-25-wzz).378 2.Oracle 存储过程怎么创建?(2017-11-25-wzz).379 3.如何使用 Oracle 的游标?(2017-11-25-wzz).380 4.Oracle 中字符串用什么连接?(2017-11-25-wzz).380 5.Oracle 中是如何进行分页查询的?(2017-11-25-wzz).381 6.存储过程和存储函数的特点和区别?(2017-11-25-wzz).381 7.存储过程与 SQL 的对比?(2017-11-21-gxb).381 8.你觉得存储过程和 SQL 语句该使用哪个?(2017-11-21-gxb).382 9.触发器的作用有哪些?(2017-11-21-gxb).383 10.在千万级的数据库查询中,如何提高效率?(2017-11-23-gxb).383 第七章 框架.387 一、SpringMVC.387 1.SpringMVC 的工作原理(2017-11-13-lyq).387 2.SpringMVC 常用注解都有哪些?(2017-11-24-gxb).388 3.如何开启注解处理器和适配器?(2017-11-24-gxb).388 感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 11 4.如何解决 get 和 post 乱码问题?(2017-11-24-gxb).388 二、Spring.389 1.谈谈你对 Spring 的理解(2017-11-13-lyq).389 2.Spring 中的设计模式(2017-11-13-lyq).389 3.Spring 的常用注解(2017-11-13-lyq).390 4.简单介绍一下 Spring bean 的生命周期(2017-11-21-gxb).391 5.Spring 结构图(2017-11-22-lyq).392 6.Spring 能帮我们做什么?(2017-11-22-lyq).394 7.请描述一下 Spring 的事务(2017-11-22-lyq).395 8.BeanFactory 常用的实现类有哪些?(2017-12-03-gxb).398 9.解释 Spring JDBC、Spring DAO 和 Spring ORM(2017-12-03-gxb).399 10.简单介绍一下 Spring WEB 模块。(2017-12-03-gxb).399 11.Spring 配置文件有什么作用?(2017-12-03-gxb).400 12.什么是 Spring IOC 容器?(2017-12-03-gxb).400 13.IOC 的优点是什么?.400 14.ApplicationContext 的实现类有哪些?(2017-12-03-gxb).400 15.BeanFactory 与 AppliacationContext 有什么区别(2017-12-03-gxb).401 16.什么是 Spring 的依赖注入?(2017-12-04-gxb).401 17.有哪些不同类型的 IOC(依赖注入)方式?(2017-12-04-gxb).401 18.什么是 Spring beans?(2017-12-04-gxb).402 19.一个 Spring Beans 的定义需要包含什么?(2017-12-04-gxb).402 感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 12 20.你怎样定义类的作用域?(2017-12-04-gxb).403 21.Spring 支持的几种 bean 的作用域。(2017-12-04-gxb).403 22.Spring 框架中的单例 bean 是线程安全的吗?(2017-12-04-gxb).403 23.什么是 Spring 的内部 bean?(2017-12-04-gxb).404 24.在 Spring 中如何注入一个 java 集合?(2017-12-04-gxb).404 25.什么是 bean 的自动装配?(2017-12-04-gxb).404 26.解释不同方式的自动装配。(2017-12-04-gxb).404 27.什么是基于 Java 的 Spring 注解配置?给一些注解的例子(2017-12-05-gxb).405 28.什么是基于注解的容器配置?(2017-12-05-gxb).405 29.怎样开启注解装配?(2017-12-05-gxb).405 30.在 Spring 框架中如何更有效地使用 JDBC?(2017-12-05-gxb).405 31.使用 Spring 通过什么方式访问 Hibernate?(2017-12-05-gxb).406 32.Spring 支持的 ORM 框架有哪些?(2017-12-05-gxb).406 33.简单解释一下 spring 的 AOP(2017-12-05-gxb).406 34.在 Spring AOP 中,关注点和横切关注的区别是什么?(2017-12-05-gxb).407 35.什么是连接点?(2017-12-05-gxb).407 36.Spring 的通知是什么?有哪几种类型?(2017-12-05-gxb).407 37.什么是切点?(2017-12-05-gxb).408 38.什么是目标对象?(2017-12-05-gxb).408 39.什么是代理?(2017-12-05-gxb).408 40.什么是织入?什么是织入应用的不同点?(2017-12-05-gxb).408 感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 13 三、Shiro.408 1.简单介绍一下 Shiro 框架(2017-11-23-gxb).408 2.Shiro 主要的四个组件(2017-12-2-wzz).409 3.Shiro 运行原理(2017-12-2-wzz).410 4.Shiro 的四种权限控制方式(2017-12-2-wzz).411 5.授权实现的流程(2017-12-2-wzz).411 四、Mybatis.412 1.Mybatis 中#和$的区别?(2017-11-23-gxb).412 2.Mybatis 的编程步骤是什么样的?(2017-12-2-wzz).413 3.JDBC 编程有哪些不足之处,MyBatis 是如何解决这些问题的?(2017-12-2-wzz).413 4.使用 MyBatis 的 mapper 接口调用时有哪些要求?(2017-12-2-wzz).414 5.Mybatis 中一级缓存与二级缓存?(2017-12-4-lyq).414 6.MyBatis 在 insert 插入操作时返回主键 ID(2017-12-4-lyq).415 五、Struts2.415 1.简单介绍一下 Struts2(2017-11-24-gxb).415 2.Struts2 的执行流程了解么?(2017-11-24-gxb).416 3.Struts2 中 Action 配置的注意事项有哪些?(2017-11-24-gxb).418 4.拦截器和过滤器有哪些区别?(2017-11-24-gxb).419 5.Struts2 的封装方式有哪些?(2017-11-24-gxb).419 6.简单介绍一下 Struts2 的值栈。(2017-11-24-gxb).421 7.SpringMVC 和 Struts2 的区别?(2017-11-23-gxb).422 感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 14 8.Struts2 中的#和%分别是做什么的?(2017-11-30-wzz).423 9.Struts2 中有哪些常用结果类型?(2017-12-1-lyq).424 六、Hibernate.424 1.简述一下 hibernate 的开发流程(2017-11-24-gxb).424 2.hibernate 中对象的三种状态(2017-11-24-gxb).425 3.hibernate 的缓存机制。(2017-11-24-gxb).425 4.Hibernate 的查询方式有哪些?(2017-11-24-gxb).426 5.Hibernate 和 Mybatis 的区别?(2017-11-23-gxb).427 6.Hibernate 和 JDBC 优缺点对比(2017-11-29-wzz).427 7.关于 Hibernate 的 orm 思想你了解多少?(2017-11-29-wzz).428 8.get 和 load 的区别?(2017-11-30-wzz).429 9.如何进行 Hibernate 的优化?(2017-11-30-wzz).429 10.什么是 Hibernate 延迟加载?(2017-12-1-lyq).430 11.No Session 问题原理及解决方法?(2017-12-4-lyq).430 12.Spring 的两种代理 JDK 和 CGLIB 的区别浅谈(2017-12-4-lyq).432 13.叙述 Session 的缓存的作用(2017-12-9-lwl).432 14.Session 的清理和清空有什么区别?(2017-12-10-lwl).433 15.请简述 Session 的特点有哪些?(2017-12-10-lwl).433 16.比较 Hibernate 三种检索策略的优缺点(2017-12-10-lwl).433 七、Quartz 定时任务.434 1.什么是 Quartz 框架(2017-12-2-wzz).434 感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 15 2.配置文件 applicationContext_job.xml 各个属性作用(2017-12-2-wzz).434 3.Cron 表达式详解(2017-12-2-wzz).435 4.如何监控 Quartz 的 job 执行状态:运行中,暂停中,等待中?(2017-12-2-wzz).435 第八章 最新技术.436 一、Redis.436 1.Redis 的特点?(2017-11-25-wzz).436 2.为什么 redis 需要把所有数据放到内存中?(2017-11-25-wzz).436 3.Redis 常见的性能问题都有哪些?如何解决?(2017-11-25-wzz).437 4.Redis 最适合的场景有哪些?(2017-11-25-wzz).437 5.Memcache 与 Redis 的区别都有哪些?(2017-11-25-wzz).437 6.Redis 用过 RedisNX 吗?Redis 有哪几种数据结构?(2017-11-14-lyq).438 7.Redis 的优缺点(2017-11-22-lyq).439 8.Redis 的持久化(2017-11-23-lyq).440 二、消息队列 ActiveMQ.442 1.如何使用 ActiveMQ 解决分布式事务?(2017-11-21-gxb).442 2.了解哪些消息队列?(2017-11-24-gxb).443 3.ActiveMQ 如果消息发送失败怎么办?(2017-11-24-gxb).444 三、Dubbo.445 1.Dubbo 的容错机制有哪些。(2017-11-23-gxb).445 2.使用 dubbo 遇到过哪些问题?(2017-11-23-gxb).446 3.Dubbo 的连接方式有哪些?(2017-12-1-lyq).447 感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 16 四、并发相关.450 1.如何测试并发量?(2017-11-23-gxb).450 五、Nginx.451 1.Nginx 反向代理为什么能够提升服务器性能?(2017-11-24-gxb).451 2.Nginx 和 Apache 各有什么优缺点?(2017-11-24-gxb).451 3.Nginx 多进程模型是如何实现高并发的?(2017-12-5-lyq).452 六、Zookeeper.453 1.简单介绍一下 zookeeper 以及 zookeeper 的原理。(2017-11-24-gxb).453 七、solr.454 1.简单介绍一下 solr(2017-11-24-gxb).454 2.solr 怎么设置搜索结果排名靠前?(2017-11-24-gxb).454 3.solr 中 IK 分词器原理是什么?(2017-11-24-gxb).455 八、webService.455 1.什么是 webService?(2017-11-24-lyq).455 2.常见的远程调用技术(2017-11-24-lyq).455 九、Restful.456 1.谈谈你对 restful 的理解以及在项目中的使用?(2017-11-30-wzz).456 第九章 企业实战面试题.457 一、智慧星(2017-11-25-wmm).457 1.选择题.457 2.编程题.460 感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 17 二、中讯志远科技(2017-11-26-wmm).463 1.问答题.463 三、腾讯(2016 年校招面试题 2017-11-29-wzy).467 1.选择题.467 四、北京宝蓝德股份科技有限公司(2017-12-03-wmm).481 1.选择题.481 2.问答题.483 五、智慧流(2017-12-04-wmm).485 1.选择题.485 2.问答题.490 3.逻辑思维题.492 六、某公司(2017-12-05-wmm).495 1.选择题.495 2.问答题.505 七、华胜天成(2017-12-11-wzy).521 1.不定项选择题.521 2.简答题.532 八、诚迈(2017-12-7-lyq).532 1.选择题.532 2.判断题.534 3.简答题.534 感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 18 4.编程题.538 5.linux 试题.542 6.数据库试题.545 7.应用服务器试题.545 九、科大讯飞(2017-12-11-lyq).547 十、泰瑞(2017-12-16-wmm).552 1.笔试题.552 2.上机题.553 十一、文思创新(2017-12-17-wmm).556 1.什么叫对象?什么叫类?什么面向对象(OOP)?.556 2.相对于 JDK1.4,JDK1.5 有哪些新特性?.557 3.JAVA 中使用 final 修饰符,对程序有哪些影响?.557 4.Java 环境变量 Unix/Linux 下如何配置?.558 5.写出 5 个你在 JAVA 开发中常用的包含(全名),并简述其作用。.559 6.写出 5 个常见的运行时异常(RuntimeException)。.560 7.方法重载(overload)需要满足什么条件,方法覆盖/方法重写(override)需要满足什么条件?(二选一).560 8.继承(inheritance)的优缺点是什么?.561 9.为什么要使用接口和抽象类?.562 10.什么是自定义异常?如何自定义异常?.563 11.Set,List,Map 有什么区别?.563 感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 19 12.什么叫对象持久化(OBJect PERSIstence),为什么要进行对象持久化?.564 13.JavaScript 有哪些优缺点?.564 14.Jsp 有什么特点?.565 15.什么叫脏数据,什么叫脏读(Dirty Read).566 第十章 项目业务逻辑问题.566 一、传统项目(2017-12-5-lyq).566 1.什么是 BOS?.566 2.Activity 工作流.567 感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 20 第一章 内容介绍 该宝典是一份知识点全面又能不断更新,与时俱进的学习手册,不仅收录了作者亲身面试遇到的问题,还收录了近上万名黑马学子面试时遇到的问题。我们会一直不断地更新和充实该宝典,同时也希望读者朋友能够多多提供优质的面试题,也许下一个版本就有你提供的面试题哦。本人的面试实战记录发布在黑马论坛:http:/ 大家可以访问上面的网址,通过阳哥的实战记录略微感知一下真实面试的情况,从中学习一些面试技巧以便让自己在未来的面试中能够得心应手,顺利拿到自己喜欢的 offer。注意:该面试宝典仅供参考,由于作者本人的知识水平有限加之编写时间仓促因此难免有 bug 的存在,希望大家见谅。该宝典的一个明确目标是能够让 90%以上的 Java 技术面试题都落到该宝典中,如果您有不错的知识或者面试题,您可以发送到 ,本人将不胜感激。让天下没有难学的知识,希望你我的努力能帮到更多的莘莘学子。世间事,很多都可投机取巧,但技术却必须靠日积月累的努力来提高。本宝典更加注重的是知识的掌握,而不仅仅是对面试题的应付。在展示常见的面试问题以及回答技巧的同时还详细讲解了每一道题所包含的知识点,让读者不仅知其然,更知其所以然。感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 21 第二章 JavaSE 基础 一、一、JavaJava 面向对象面向对象 1.面向对象都有哪些特性以及你对这些特性的理解 1)继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段。2)封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口。3)多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应。简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情。多态性分为编译时的多态性和运行时的多态性。如果将对象的方法视为对象向外界提供的服务,那么运行时的多态性可以解释为:当 A 系统访问 B 系统提供的服务时,B 系统有多种提供服务的方式,但一切对 A 系统来说都是透明的。方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定)。运行时的多态是面向对象最精髓的东西,要实现多态需要做两件事:1.方法重写(子类继承父类并重写父类中已有的或抽象的方法);2.对象造型(用父类型引用引用子类型对象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为)。4)抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。感恩于心,回报于行。面试宝典系列-Java http:/ Copyright2018 黑马程序员 22 注意:默认情况下面向对象有 3 大特性,封装、继承、多态,如果面试官问让说出 4 大特性,那么我们就把抽象加上去。2.访问权限修饰符 public、private、protected,以及不写(默认)时的区别(2017-11-12)该题目比较简单,不同的权限修饰符的区别见下表。修饰符 当前类 同 包 子 类 其他包 public protected default private 3.如何理解 clone 对象
展开阅读全文