- 博客(14)
- 收藏
- 关注
转载 Lambda 表达式和方法引用
转载:http://www.cnblogs.com/daren-lin/p/anonymous-classes-and-lambda-expressions-in-java.html
2020-09-02 20:13:30
345
2
原创 Springboot整合Mybatis遇到Invalid bound statement (not found)报错
在mapper的映射文件中:命名空间没有写正确,命名空间应该引用接口类路径 在配置文件中导入的路径错误 mybatis: # 实体类路径 type-aliases-package: com.kuang.shiro.pojo # 映射文件的路径,映射文件一定是放在 resource 目录下 mapper-locations: classpath:mapper/*.xml ...
2020-08-28 16:20:00
393
原创 大白话讲 SpringMVC 工作原理
用户发送请求 --> 前端控制器拦截 --> 交给映射器 --> 根据URL --> 寻找相关配置信息(寻找到对应的是控制器中哪个方法)–> 生成handle对象 --> 返回给前端控制器 --> 交给适配器 --> 寻找处理器(Controller)–> 将业务逻辑的返回数据封装到 ModelAndView 对象中 --> 交给前端控制器 --> 将任务交给视图解析器 --> 根据返回的请求结果响应渲染页面 用户发送请求,被前..
2020-08-04 16:06:35
904
原创 java面试 @resource和@autowired
相同点 都是做bean的注入时使用 两者都可以写在字段和setter方法上。两者如果都写在字段上,那么就不需要再写setter方法。 装配类型不同 @Autowired注解是按照类型(byType)装配依赖对象,属于Spring 依赖对象必须存在,如果要允许null值,可以设置它的required属性required=false 也可以使用名称装配,配合@Qualifier注解 @Resource默认按照**名称(ByName)**自动注入,属于JDK @Resource有两个重要的属性:na
2020-07-10 16:38:45
323
原创 Redis 面试必问:缓存穿透、击穿、雪崩
缓存穿透、击穿、雪崩 缓存穿透(大量查询一个不存在的key) 概述:缓存和数据库中都没有的数据,而用户不断发起请求,导致数据压力过大,甚至击垮数据库 布隆过滤器 利用高效的数据结构和算法快速判断key是否存在数据库,不存在直接返回,存在则去查询DB刷新KV再返回 原理就是一个对一个key进行k个hash算法获取k个值,在比特数组中将这k个值散列后设定为1,然后查的时候如果特定的这几个位置都为1,那么布隆过滤器判断该key存在。 布隆过滤器可能会误判,如果它说不存在那肯定不存在,如果它说存在,那数据有可能实际
2020-07-10 16:05:54
276
1
原创 Mybatis学习整理
本文根据狂神说整理得到 Mybatis 中文官方文档 优快云 概述 MyBatis 是一个持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录 简单易学 灵活 sql和代码的分离,提高了可维护性。 提供映射标签,支持对象与数据库的orm字段
2020-06-29 20:45:20
322
原创 Mybatis复杂查询(详细举例)
复杂查询 使用resultMap映射,官网例子 多对一处理 多个学生 —— 一个老师,有学生表和教师表,学生表的tid是教师表的外键 public class Student { private int id; private String name; private Teacher teacher; } public class Teacher { private int id; private String name; } 如果只是对 Student表 查询是
2020-06-27 15:21:55
688
转载 TCP/IP协议簇 & HTTP/HTTPS
TCP/IP协议簇 HTTP, FTP, DNS, TCP, UDP, IP, SNMP等等都属于TCP/IP协议簇 TCP/IP协议的分层 TCP/IP协议族是分层管理 OSI协议:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层(可记为:应表会传网数物) TCP/IP协议:应用层、传输层、网络层、链路层 应用层:面向用户的一层(用户可以直接操作该层),该层决定了向用户提供应用服务时的通信活动 又将该层分为:应用层、表示层和会话层 HTTP 超文本传输协议 FTP 文件传输协议 DNS 域名
2020-06-20 23:11:50
750
原创 面试相关Cookie、Session和Token
Cookie、Session和Token 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session HTTP 协议是无状态的,服务器无法从连接上跟踪会话,这严重阻碍了交互式Web应用程序的实现。 Cookie 概述 是服务器发送到用户浏览器并保存在本地客户端的一小块数据,下一次请求同一网站时会把该cookie发送给服务器 应用场景 Cookie的根本作用就是在客户端存储用户访问网站的一些信息。 会话状态管理(如用户登录状态、购物车、游戏分
2020-06-19 17:46:07
428
原创 如何理解HashMap
HashMap HashMap 的数据结构(重点) 数组 + (链表或红黑树) HashMap由 数组 + 链表 +红黑树 构成的,数组是HashMap的主体,以键值对的方式存储 什么时候创建数组/链表 HashMap<String,String> hashMap = new HashMap<String,String>(); 形成数组和链表的时间 **数组 **—— 查找时间复杂度 O(1) 在jdk7,构造方法中创建一个长度是16的 Entry[]table 用来存
2020-06-18 21:21:15
211
原创 HashMap面试题基础
基础入门 数组的优势/劣势 采用一段连续的存储单元来存储数据 优势: 随机访问性强 查找速度快 劣势: 插入和删除效率低 可能浪费内存 内存空间要求高,必须有足够的连续内存空间。 数组大小固定,不能动态拓展 适合读操作多、写操作少的场景 链表的优势/劣势 优势: 插入删除速度快 内存利用率高,不会浪费内存 大小没有固定,拓展很灵活 劣势: 不能随机查找,必须从第一个开始遍历,查找效率低 散链表 松散链表:是链表的一种变形或者改良,它的每个节点由一数组来存储元素,节点数组的容量是固定的。 插
2020-06-18 21:10:58
509
原创 事务的ACID原则与隔离性问题
事务 transaction 概念 要么都成功,要么都失败 事务原则 : ACID 原子性(Atomicity):一起成功,或一起失败 一致性(Consistency):数据库总是从一个一致性的状态转换到另一个一致性的状态。 隔离性(Isolation):一个事务所做的修改在最终提交以前,对其他事务是不可见的。 持久性(Durability):事务没有提交,恢复到原来状态;事务已经提交,持久化到数据库(提交则不可逆) 隔离所导致的问题 脏读:一个事务读取了另一个事务未提交的数据(侧重于修改)
2020-06-17 11:01:14
667
原创 获取项目中的文件路径
获取文件的绝对路径 必须在类路径src下(目录中不能有中文和空格) 统一的方式,提高代码的可移植性(Linux和Windows都可) // getResource("")已经定位到 src 目录,只需要填入该文件的相对于src的目录 String path = Thread.currentThread().getContextClassLoader().getResource("文件相对路径").getPath(); 资源绑定器 ResourceBundle获取properties文件 只能绑定XXX.
2020-06-16 16:52:55
374
原创 Mysql入门到实战
title: Mysql 基础 tags: Mysql categories: 数据库 top: Mysql 基础 Mysql 视频地址:狂神说 初识数据库 数据库意义:数据存储、数据管理 数据库分类 关系型数据库:SQL Mysql、Oracle、SqlServer、DB2、SQlLite 通过表与表,行与行之间的关系进行数据存储 非关系型数据库:NoSQL(not only) Redis、MongDB 对象存储,通过对象的自身属性来决定 命令行 操作数据库 数据库操作 create data.
2020-06-12 22:04:40
390
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅