摘要:
前言:前期对Java基础的相关知识点进行了总结,具体参看:Java基础和面试知识点。近期由于笔者正在换工作(ing),因此下面将笔者在面试过程中或笔者朋友面试过程中反馈的题目进行总结,相信弄清楚下面题目,对面试还是有一定帮助的。 说明: 1)在面试过程中切记不要过分紧张,当然紧张是在所难免的。注意表 阅读全文
摘要:
前言:通常大家都知道HashMap的底层数据结构为数组加链表的形式,但其put操作具体是怎样执行的呢,本文通过调试HashMap的源码来阐述这一问题。 注:jdk版本:jdk1.7.0_51 1.put源码 下面通过对源码调试具体说明put操作的流程。 2.具体调试过程 说明: ①不同内容的字符串, 阅读全文
摘要:
前言:volatile关键字在面试中经常被问到,从volatile关键字可以引申出许多知识点,因此有必要对此进行总结。本文根据《深入理解Java虚拟机——JVM高级特性与最佳实践》中的相关章节,整理得来。 相关名词 TPS(Transactions Per Second):每秒事务处理数,衡量一个服 阅读全文
摘要:
前言:在一次面试过程中被问到ThreadLocal,大家都知道ThreadLocal可以为每个线程单独提供一个副本,从而实现变量间的隔离。在ThreadLocal中set和get操作的key是什么,ThreadLocal又是怎样实现各线程间互不干扰的,本文通过调试ThreadLocal的源码来阐述这 阅读全文
摘要:
前言:关于设计模式,在框架中用的比较多。在平常接触最为频繁的估计是单例模式了,因此笔者在此对设计模式相关知识点进行总结。 1.设计模式的种类 总体来说,设计模式分为3大类总共23种: 1)创建型模式,共5种 工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 2)结构型模式,共7种 适配器 阅读全文
摘要:
前言:这里继续对java线程相关知识点进行总结,不能间断。 1.yield()方法 yield()的作用是让步。它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执行权;但是,并不能保证在当前线程调用yield()之后,其它具有相同优先级的线程就一定能获得执行权; 阅读全文
摘要:
前言:记录Java基础知识点,方便熟悉与掌握。 1.面向对象的"六原则一法则" “六原则一法则”:单一职责原则、开闭原则、依赖倒转原则、里氏替换原则、接口隔离原则、合成聚合复用原则和迪米特法则。 参考: https://www.cnblogs.com/qifengshi/p/5709594.html 阅读全文
摘要:
前言:由于项目使用maven管理方式,所以在未发布版本的时候,就需要将项目打成jar包,供本地调试使用。注意在使用本地jar包的时候,需要将pom文件中相关jar包的依赖屏蔽,再将jar包加入项目中。 环境: idea 版本:14.1.7 maven版本:3.1.1 1.在项目的Maven Proj 阅读全文
摘要:
前言:数据库的相关知识,在面试中也经常出现,笔者认为非常有必要对此类知识进行相关总结。 1.索引 索引是对数据库表中一列或多列的值进行排序的结构,是帮助数据库高效获取数据的数据结构。 通俗理解:索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书就能迅 阅读全文
摘要:
前言:在Java面试中,计算机网络的知识也是一项重点,因此笔者在此对计算机网络的相关知识进行总结。 1.OSI参考模型 自下而上:物理层(物理介质,比特流)、数据链路层(网卡、交换机)、网络层(IP协议)、传输层(TCP/UDP协议)、会话层(创建/建立/断开连接)、表示层(翻译,编码,压缩,加密) 阅读全文