Redis为什么快(基于内存,IO多路复用,单线程,使用C语言并有很多优化)
Redis数据结构对于内存占用的优化(sdshdr5, sdshdr8, sdshdr16, sdshdr32, sdshdr64, 字符串越短,使用越少的内存存储额外信息;list 和 hash 元素少的时候使用 ziplist 编码)
存穿透的原理以及解决方式
关于抽象类
JDK 1.8以前,抽象类的方法默认访问权限为protected
JDK 1.8时,抽象类的方法默认访问权限变为default
关于接口
JDK 1.8以前,接口中的方法必须是public的
JDK 1.8时,接口中的方法可以是public的,也可以是default的
JDK 1.9时,接口中的方法可以是private的
ThreadLocal用于创建线程的本地变量,该变量是线程之间不共享的
protected成员在子类可见性可以修改
Java是一门支持反射的语言,基于反射为Java提供了丰富的动态性支持
通过反射可以动态的实现一个接口,形成一个新的类,并可以用这个类创建对象,调用对象方法
通过反射,可以突破Java语言提供的对象成员、类成员的保护机制,访问一般方式不能访问的成员
Java的反射机制会给内存带来额外的开销。例如对永生堆的要求比不通过反射要求的更多
jre 判断程序是否执行结束的标准 所有的前台线程执行完毕
通过HttpServletRequest. getParameter获取的参数由客户端浏览器和Web容器配置共同决定编码
AOP是一种设计模式,Spring提供了一种实现