随笔分类 - 面试题
摘要:什么是三次握手 简单说明 第一次握手就是客户端给服务器端发送一个报文,第二次就是服务器收到报文之后,会应答一个报文给客户端,第三次握手就是客户端收到报文后再给服务器发送一个报文,三次握手就成功了。 详细版 刚开始客户端处于 Closed 的状态,服务端处于 Listen 状态。进行三次握手: 第一次
阅读全文
摘要:1.单机本地缓存 本地缓存的一种简单实现 首先定义一个缓存实体,包含三个属性 放入缓存的时间戳,值以及过期时间;其次需要个线程去监控缓存实体是否过期。 /** * *本地缓存保存的实体 */ public class CacheEntity implements Serializable { /**
阅读全文
摘要:一、什么是java异常? java异常指在程序运行时可能出现的一些错误,如:文件找不到、网络连接失败、非法参数等。异常是一个事件,它发生在程序运行期间,中断了正在执行的程序的正常指令流。Java通过API中Throwable类的众多子类描述各种不同的异常。因而,Java异常都是对象,是Throwab
阅读全文
摘要:主要描述了数据库连接池参数配置的准则,针对常用的数据库连接池(c3p0,dbcp,druid)给出推荐的配置。 考虑因素 1:当前连接DB的规模 2:并发情况 3:执行db的响应时间 配置考虑 1:初始化连接:可考虑设置为3个连接 。对于db规模特别大的情况下可考虑设置为1个。避免启动时间过长; 2
阅读全文
摘要:1.redis锁 1.工具类代码: package com.lhw.chche; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import
阅读全文
摘要:1.spring boot增加全局配置 import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.spring
阅读全文
摘要:两者联系:spring在刚开始的时候使用工厂模式(DI)和代理模式(AOP)解耦应用组件,进而开发出适用于Web开发的SpringMVC,在实际开发过程当中会使用到很多样板代码,就开发出了懒人版的SpringBoot; 区别:1、springMVC是Spring的一个模式,是一个Web框架,提供了一
阅读全文
摘要:幂等性的实现方式-前端 对于客户端交互的接口,可以在前端拦截一部分,例如防止表单重复提交,按钮置灰,隐藏,不可点击等方式。但是前端进行拦截器显然是针对普通用户,懂点技术的都可以模拟请求调用接口,所以后端幂等性很重要。 幂等性的实现方式-后端接口 数据库去重表 在往数据库中插入数据的时候,利用数据库唯
阅读全文
摘要:1,Set注入 2,构造注入 Set方法注入: 设置的是property属性。且VO类中,必须带有get/set方法才可以完成注入 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/
阅读全文
摘要:1、从初始化、扩容、线程安全三方面对比ArrayList与Vector ArrayList采用懒加载策略(第一次add时才初始化内部数组,默认初始化大小为10) 扩容为原先数组大小的1.5倍。采用异步处理,线程不安全,性能较高 ArrayList在大部分场合(80%,频繁查找、在集合末端插入与删除)
阅读全文
摘要:为什么要分表 当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。 方案1: mysql proxy:amoeba 做mysql集群,利用amoeba。 从上层的java程序来讲,不需要知道主服务器和从服
阅读全文
摘要:mq的优点 解耦、异步、削峰 场景1 在这个场景中,A 系统跟其它各种乱七八糟的系统严重耦合,A 系统产生一条比较关键的数据,很多系统都需要 A 系统将这个数据发送过来。A 系统要时时刻刻考虑 BCDE 四个系统如果挂了该咋办?要不要重发,要不要把消息存起来?头发都白了啊! 如果使用 MQ,A 系统
阅读全文
摘要:使用@Autowired注入的bean对于目标类来说,从代码结构上来讲也就是一个普通的成员变量,@Autowired和spring一起工作,通过反射为这个成员变量赋值,也就是将其赋为期望的类实例。 1.一个实现类、注入同类型 @Service public class HelloServiceImp
阅读全文
摘要:什么是equals equals()在java.lang.Object下 其源码为: 所以Object对象的equals其实就是比较是否为同一对象的引用 public boolean equals(Object obj) { return (this == obj); } 举例: Student s
阅读全文

浙公网安备 33010602011771号