- 博客(10)
- 问答 (1)
- 收藏
- 关注
原创 JWT入门
JWT官方网址:JSON Web Token Introduction - jwt.io传统的身份验证(session,cookies)session认证: http协议本身是一种无状态的协议,而这就意味着如果用户向服务器提供账号密码进行用户认证,那么下一次请求时,用户还要再一次的进行用户认证才行,因为根据http协议,我们并不能知道是哪个用户发送的请求。因此在服务器存储一份用户登录的信息,这份登录信息会在响应时传递给浏览器,告诉保存为cookie ,以便下一次请求。这就是传统的基于sessi
2021-09-16 10:30:53 447
原创 简单工厂模式
什么是工厂理解简单工厂设计模式, 首先要理解什么是工厂. 我们身边有很多工厂. 酿酒的酒厂, 制衣的衣厂, 加工肉类的肉加工厂等等. 这些工厂他们到底是怎么酿酒的? 怎么制衣的?怎么加工肉的? 我们并不知道, 也不需要知道. 不知道并不影响我们喝酒, 穿衣, 吃肉. 这就是工厂的特点之一: 客户不需要知道怎么做的, 但是不影响使用再来看看工厂的第二个特点: 比如肉加工厂—双汇. 牛肉进去出来牛肉火腿肠, 羊肉进去出来羊肉火腿肠, 猪肉进去出来猪肉火腿肠. 我不需要知道怎么加工的, 我只需要把材料扔进去,
2021-07-13 10:21:16 114
原创 java线程基础
进程进程是操作系统结构的基础;是一次程序的执行;是一个程序及其数据在处理机上顺序执行时所发生的活动。操作系统中,几乎所有运行中的任务对应一条进程(Process)。一个程序进入内存运行,即变成一个进程。进程是处于运行过程中的程序,并且具有一定独立功能。描述进程的有一句话非常经典——进程是系统进行资源分配和调度的一个独立单位。进程是系统中独立存在的实体,拥有自己独立的资源,拥有自己私有的地址空间**。**进程的实质,就是程序在多道程序系统中的一次执行过程,它是动态产生,动态消亡的,具
2021-07-08 09:39:01 68
原创 mysql 事务
事务的四大特性(ACID)原子性(atomicity):一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被==回滚(Rollback)==到事务开始前的状态,就像这个事务从来没有执行过一样。一致性(consisitency):在事务开始之前和事务结束以后,数据库的完整性没有被破坏。这表示写入的资料必须完全符合所有的预设规则,这包含资料的精确度、串联性以及后续数据库可以自发性地完成预定的工作。隔离性(Durability
2021-07-08 09:34:24 132
原创 mysql 常用函数
字符串concat: 拼接字符 select concat(‘hello’,column,…)substr: :截取字符 select substr(str,起始索引,个数)length(str): 获取字符串的长度(一个汉字等于两个字符 数据集编码不同则不 同) select length(’你好‘) 4个字符char_length :获取的是字符的个数 一个汉字一个字符upper: 变大写lower:变小写trim:去除作用两边的空格 可以自定义 select tri
2021-07-08 09:28:37 63
原创 redis简介和安装
nosql介绍NoSql泛指“非关系型数据库”,也常常被翻译为 Not Only Sql。NoSql 中被我们用得最多的当数key-value存储。这类数据库和传统的关系型数据库不一样,不一定遵循传统数据库的基本要求,例如SQL标准、ACID(事务)属性、固定表结构等等。这些数据库一般有以下特点:开源的、非关系型的、可轻松分布式的、水平易扩展的、数据易迁移的(因为无固定表)。它们运行(在内存中)在便宜的PC服务器集群上(击碎了性能瓶颈),处理对数据的高并发读写,对超大量数据的高效率存储和访问,而且对数
2021-07-07 09:26:14 124
原创 hashMap 的put方法
简介hashmap 存储是无序的hashmap 的底层原理:实现:数组 + 链表 +(红黑树)Note : hash key values Node<>默认创建16大小的数组 Node<K,V>[] (到length 的0.75 时进行扩容 2的幂次方16->32)数组的每个存储单元为 节点Note<K,V>在数组中通过 计算hash 值来确定存储位置 hash算法 (h = key.hashCode()) ^ (h >>> 16)
2021-06-26 09:42:14 531
原创 LinkedList的源码分析
简介底层的数据结构为双向链表LinkedList 优缺点优点插入和删除时只需要添加或删除前后对象的引用,插入较快缺点:在内存中存储不连续,只能通过遍历查询,效率相对较低占内存 双向指针线程不安全 并没有什么保护措施链表不存在容量不足的问题LinkedList实现java.io.Serializable的方式。当写入到输出流时,先写入“容量”,再依次写出“每一个元素”;当读出输入流时,先读取“容量”,再依次读取“每一个元素”。LinkdedList的克隆函数,即是将全部
2021-06-25 08:36:45 84
原创 ArrayList集合源码分析
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-06-24 16:52:48 60
原创 单例模式的八种方式
单例模式有八种方式: 饿汉式(静态常量) 饿汉式(静态代码块) 懒汉式(线程不安全) 懒汉式(线程安全,同步方法) 懒汉式(同步代码块不安全 双重检查 静态内部类 枚举 懒汉式(静态常量)class Singleton{ // 在加载的时候已经初始化并且为final 常量 private final static Singleton instance = new Singleton(); ...
2021-06-23 08:34:18 120
空空如也
vue使用插件 vue-pdf
2021-07-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人