面试
林浩-豪享码
这个作者很懒,什么都没留下…
展开
-
一个接口有多个实现,调用时的解决方案
假如一个接口有两个实现类。在实现类上取名字@Service("developservice")public void DevelopEmployeeServiceImpl implements EmployeeService { public EmployeeDto getEmployeeById(Long id) { ... // 业务代码 }} @Service("testservice")public void TestEmployeeServiceImpl原创 2020-06-17 21:34:30 · 918 阅读 · 0 评论 -
SpringMVC 的请求响应流程
第一步:用户发送请求到前端控制器(DispatcherServlet)。第二步:前端控制器请求 HandlerMapping 查找 Handler(Controller),可以根据 xml 配置或者注解进行查找。第三步:处理器映射器 HandlerMapping 向前端控制器返回 Handler(Controller)第四步:前端控制器调用处理器适配器(HandlerAdapter)去执行 Handler(Controller)第五步:处理器适配器执行 Handler第六步:Handler 执..原创 2020-06-12 12:35:11 · 284 阅读 · 0 评论 -
工厂模式和单例模式组合的简单例子
public class BookDaoHibernateImpl implements BookDao {private static BookDao bookDao = new BookDaoHibernateImpl(); private BookDaoHibernateImpl() { } public static BookDao getInstance() { return bookDao; }} BookDaoHibernateImpl的构造方法被private修饰,原创 2020-06-09 09:26:16 · 788 阅读 · 0 评论 -
SPI - 服务动态扩展
在容器中注册web三大主键:方法一:采用web.xml方法二:使用注解@WebServlet、@WebFilter、@WebListener代替xml配置方法三:使用SPI - 服务动态扩展SPI(服务动态扩展):人 家提供了一个类去读取我指定目录下的文件,读取文件的内容通过反射创建对象工程结构解析文档接口/** * 解析文档接口 * @author mimi * */public interface IParseDoc { void parse();}实现原创 2020-06-08 23:38:20 · 399 阅读 · 0 评论 -
02-多核并发缓存
cpu并发缓存架构:cpu要跟主内存打交道,需要将主内存数据写入CPU缓存,操作后的数据再写入主内存。每个核都有一个CPU缓存。JMM(java memory model): Jave线程内存模型跟cpu缓存模型类似,是基于cpu缓存模型来建立的,Java线程内存模型是标准化的,屏蔽掉了底层不同计算机的区别每个线程的工作内存存放的是主内存共享变量的一个副本,当一个线程进入CPU时,修改的是副本的变量,而主内存并未真正修改,这时需要用到volatile锁修饰,可以将修改数据及时写回主内存。...原创 2020-06-06 18:21:00 · 189 阅读 · 0 评论 -
JDK、JRE、VM、java虚拟机调优
JDK:java 开发工具:包含javac、javap命令及JREJRE:java运行环境:包含java常用的util、集合包和VM一次编译,到处运行:比如下面Hellowworld.java文件通过javac命令编译成class文件,再通过java命令放到JVM虚拟机上运行,然后转化成不同系统的机器码运行(所以再Oricle官网下载JDK时需要选择不同的操作系统,他会屏蔽不同操作系统在底层硬件与指令上的区别),windows机器码为0101结构JVM虚拟机由类装载子系统、运行时数据区、.原创 2020-06-05 21:05:07 · 264 阅读 · 0 评论 -
03-SQL语句优化
Explain工具介绍使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析查询语句是否走索引或是结构的性能瓶颈在select语句之前增加explain关键字,MySQL 会在查询上设置-个标记,执行查询会返回执行计划的信息,而不是执行这条SQL注意:如果from中包含子查询,仍会执行该子查询,将结果放入临时表中EXPALIN只能解释SELECT操作,其他操作要重写为SELECT后查看执行计划。-- 实际SQL,查找用户名为Jefabc的员工select * from emp where原创 2020-06-04 16:45:17 · 163 阅读 · 0 评论 -
02-单值索引与联合索引
单值索引:单个字段为主键联合索引,按索引个数分为多个表,后面的表叶子节点数据存储的是前一个表的索引,来节省空间联合索引的底层存储结构长什么样?原创 2020-06-04 16:41:34 · 387 阅读 · 0 评论 -
01-存储引擎
存储引擎是形容表的:不同的存储引擎对应的表结构不一样MyISAM存储引擎表结构:MyISAM索引文件和数据文件是分离的(非聚集索引)MySQL Server 8.0sdi:Serialized Dictionary Information的缩写: 表的元数据信息MySQL Server 8.0之前:frm文件:framework:存储表结构,框架MYD文件:MyISAM+data:数据行记录MYI文件:MyISAM+index:存储索引字段InnoDB索引实现(聚集索引:原创 2020-06-04 16:39:22 · 119 阅读 · 0 评论 -
01-数据结构
索引是帮助MySQL高效获取数据的排好序的数据结构索弓|数据结构二叉树红黑树(二叉平衡树)Hash表B- Tree(B树)B+Tree (B+树(多叉平衡树):也是MySQL使用的数据结构,MySQL设置内存为16K,16K大小存放一个节点)Hash表1、Hash是一种散列算法,具体有很多Hash算法2、在查找的时候,比如查找索引为6的数据,底层先计算以下6的Hash值,得到磁盘文件地址指针,就能直接到磁盘上查找。3、缺点:对于范围查找,Hash算法就非常慢了,因此MySQL数.原创 2020-06-04 16:31:40 · 178 阅读 · 0 评论