随笔分类 - 面试题
摘要:简介 代理模式--使用代理对象来代替对真实对象(real object)的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能 主要作用是扩展目标对象的功能,比如在目标对象的某个方法执行前后可以增加一些自定义的操作,日志记录便是如此 静态代理 静态代理即对目标对象的每个
阅读全文
摘要:前置知识 SQL注入:后端并未对前端传来的参数进行严格的校验,同时后端存在将前端传来的参数使用字符串或者直接将参数拼接到SQL语句中,导致后端的SQL语句被篡改并且能成功执行 四大SQL注入原理 恶意拼接查询--查询、插入、更新和删除数据,且使用分号来分隔不同的命令 原SQL语句 select *
阅读全文
摘要:又是只能回答概念不能提出具体的实例出来论证所讲的观点(具体实例后面再补充吧) 单一职责原则 单一职责原则是指一个类只负责一个职责,它使得类的职责更单一。这样每个类只需要负责自己的那部分,类的复杂度就会下降。如果职责划分的很清楚,那么代码的维护难度降低。如果将所有功能都放在一个类中,那么这个类就会变得
阅读全文
摘要:前置知识 final 在 Java 中是关键字之一,意为最终,表示对象或数据是最终形态的、不可改变的意思,它可以修饰 类、变量、方法。使用 final 修饰的 类、方法、变量具有如下特点 final 修饰的类不能被继承 final 修饰的方法不能被子类重写 final 修饰的成员变量或局部变量(即常
阅读全文
摘要:前置知识 JVM类加载机制主要有如下三种方式 全盘负责:指当一个类加载器负责加载某个Class时,该Class所依赖和引用其他Class也将由该类加载器负责加载,除非显示使用另一个类加载器来载入 双亲委派:指先让父类加载器试图加载该Class,只有在父类加载器无法加载该类时才尝试从自己的类路径中加载
阅读全文
摘要:前置知识 SQL中 SELECT 语句的语法结构 SELECT DISTINCT <select_list>,AGGREGATE_FUNCTION(column_name or expression), ... FROM <left_table> <join_type> JOIN <right_ta
阅读全文
摘要:前置知识 字符串创建问题 常量字符串直接赋值 String str = "hello"; 当使用字符串常量创建一个字符串时,JVM 首先在字符串常量池中寻找具有相同值的字符串,如果找到了它将返回字符串常量池中的字符串对象的引用。否则它会在字符串常量池中创建字符串对象并返回引用 使用 new运算法创建
阅读全文
摘要:接口 和 抽象类 定义 抽象类:如果多个类中包含相同的行为,但行为发出的动作不一样,这时可以进行上层的抽象,抽象出一层功能定义,即抽象方法,但没有对应的功能实现。抽象方法包含在被 abstract 修饰的类中即抽象类。它具有如下特点 被 abstract 修饰的方法称为抽象方法,抽象方法只有方法声明
阅读全文
摘要:从OSI七层模型上看,本质上来说,二者没有可比性 TCP协议是传输层协议,定义的是数据传输和连接方式的规范。TCP协议通常用于Internet协议,称为TCP/IP协议 HTTP协议是应用层协议,定义的传输数据的内容的规范 HTTP 和 TCP 之间的协作 HTTP协议是建立在TCP协议的基础上的,
阅读全文