
java学习笔记
文章平均质量分 57
我叫向同学
永远不要停下前进的脚步
展开
-
JWT令牌是什么
什么是JWT令牌JWT是JSON Web Token的缩写,即JSON Web令牌,是一种自包含令牌。JWT的使用场景:1、一种情况是webapi,类似之前的阿里云播放凭证的功能2、另一种情况是多web服务器下实现无状态分布式身份验证JWT官网有一张图描述了JWT的认证过程JWT的作用JWT 最重要的作用就是对 token信息的防伪作用JWT的原理:1、一个JWT由三个部分组成:JWT头、有效载荷、签名哈希2、最后由这三者组合进行base64编码得到JWTJWT令牌的组成典原创 2022-03-13 21:37:14 · 1509 阅读 · 0 评论 -
OAuth2.0中表结构以及字段说明
官方sql地址 https://github.com/spring-projects/spring-security-oauth/blob/master/spring-securityoauth2/src/test/resources/schema.sqlgithub 访问的比较缓慢。sql贴在下面了/*SQLyog Ultimate v12.08 (64 bit)MySQL - 8.0.16 : Database - security_authority*********************原创 2021-11-27 21:12:13 · 3363 阅读 · 0 评论 -
OAuth2.0是什么?授权模式(纯理论)
概念说明先说OAuth,OAuth是Open Authorization的简写。OAuth协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAuth的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAuth是安全的。OAuth2.0是OAuth协议的延续版本,但不向前兼容(即完全废止了OAuth1.0)。使用场景假设,A网站是一个打印照片的网站,B网站是一个存储照片的网站,二者原本原创 2021-11-26 22:42:04 · 4336 阅读 · 0 评论 -
基于POI V3.9解析Excel为map的一个实用工具类
CV即可使用。适用于动态列import com.alibaba.fastjson.JSON;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.ss.usermodel.Row;import org.apache.poi.ss.usermodel.Sheet;import org.apache.poi.ss.usermode原创 2021-11-24 16:27:57 · 579 阅读 · 2 评论 -
SpringBoot整合Shiro
最近做的项目整合了SpringBoot+Shiro,自己也不会,就就在网上现学现用,然后发现也有一篇满足的我需要的一篇完整帖子,所以有了这篇。废话少说。还是先上一张图,大概了解一下shiro框架,有理论有实践。对上图简单的进行说明三个核心组件:Subject, SecurityManager 和 Realms.Subject: 即“当前操作用户”。但是,在Shiro中,Subject这一概念并不仅仅指人,也可以是第三方进程、后台帐户(Daemon Account)或其他类似事物。它仅仅意味着“当前原创 2021-08-31 18:06:49 · 165 阅读 · 0 评论 -
❤️如何使用Java四大函数式接口
Java四大函数式接口说明是函数接口?函数式接口: 只有一个方法的接口。是哪四个?Consumer<T>@FunctionalInterfacepublic interface Consumer<T> { /** * Performs this operation on the given argument. * * @param t the input argument */ void accept(T t);原创 2021-08-29 18:59:08 · 159 阅读 · 0 评论 -
Synchronized 和 Lock 区别
Synchronized 和 Lock 区别1、Synchronized 内置的Java关键字, Lock 是一个Java类2、Synchronized 无法判断获取锁的状态,Lock 可以判断是否获取到了锁3、Synchronized 会自动释放锁,lock 必须要手动释放锁!如果不释放锁,死锁4、Synchronized 线程 1(获得锁,阻塞)、线程2(等待,傻傻的等);Lock锁就不一定会等待下去;5、Synchronized 可重入锁,不可以中断的,非公平;Lock ,可重入锁,可以原创 2021-08-03 14:16:18 · 139 阅读 · 0 评论 -
java中integer和int的区别
首先上题目,这道题一开始我是做错了的 Integer i01=59; int i02=59; Integer i03=Integer.valueOf(59); Integer i04=new Integer(59);以下输出结果为false的是:System.out.println(i01==i02);System.out.println(i01==i03);System.out.println(i03==i04);System.out.println(i02==i04);原创 2020-12-05 13:37:56 · 4617 阅读 · 4 评论 -
JDK8新特性Lambda的使用
文章目录函数式编程思想概述冗余的Runnable代码传统写法代码分析编程思想转换做什么,而不是怎么做生活举例体验Lambda的更优写法回顾匿名内部类使用实现类使用匿名内部类匿名内部类的好处与弊端语义分析Lambda标准格式使用Lambda标准格式(无参无返回)解答Lambda的参数和返回值传统写法代码分析Lambda写法使用Lambda标准格式(有参有返回)解答Lambda省略格式可推导即可省略省略规则使用Lambda省略格式标题解答Lambda的使用前提函数式编程思想概述在数学中,函数就是有输入量、输原创 2020-07-06 15:43:44 · 268 阅读 · 0 评论 -
理解java中打印输出九九乘法口诀表
文章目录问题描述问题分析源代码输出结果问题描述输出九九乘法表,如图1所示。问题分析观察九九乘法口诀表,可以得出图表的规律:总共有9行,第几行就有几个表达式。每行表达式的规律:第j行,表达式就从ji开始,一直到jj结束,共有j个表达式。源代码 //外层循环控制循环行数 for (int i = 1; i <= 9; i++) { ...原创 2020-05-07 19:46:14 · 823 阅读 · 0 评论 -
Collection子接口之二: Set接口
Set 接口简述1、Set接口是Collection的子接口, set接口没有提供额外的方法2、Set 集合不允许包含相同的元素,如果试把两个相同的元素加入同一个Set 集合中,则添加操作失败。3、Set 判断两个对象是否相同不是使用 == 运算符,而是根据 equals() 方法Set实现类之一: HashSet1、HashSet 是 Set 接口的典型实现,大多数时候使用 Set 集...原创 2020-05-03 14:50:05 · 382 阅读 · 0 评论 -
Collection子接口之一: List接口(详细易懂)
List接口简述鉴于Java中数组用来存储数据的局限性,我们通常使用List替代数组List集合类中元素有序、且可重复,集合中的每个元素都有其对应的顺序索引。List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素。JDK API中List接口的实现类常用的有: ArrayList、 LinkedList和Vector。List常用方法List除...原创 2020-04-29 09:06:54 · 425 阅读 · 0 评论 -
基于Socket的TCP编程——java语言
ava语言的基于套接字编程分为服务端编程和客户端编程,其通信模型如图所示:客户端Socket的工作过程包含以下四个基本的步骤:创建 Socket: 根据指定服务端的 IP 地址或端口号构造 Socket 类对象。若服务器端响应,则建立客户端到服务器的通信线路。若连接失败,会出现异常。打开连接到 Socket 的输入/出流: 使用 getInputStream()方法获得输入流,使用ge...原创 2020-04-27 12:33:07 · 377 阅读 · 0 评论 -
java使用 foreach 循环遍历集合元素
Java 5.0 提供了 foreach 循环迭代访问 Collection和数组。遍历操作不需获取Collection或数组的长度,无需使用索引访问元素。遍历集合的底层调用Iterator完成操作。foreach还可以用来遍历数组。...原创 2020-04-21 23:13:03 · 3691 阅读 · 1 评论 -
遍历java集合元素使用iterator接口
Iteratot简介Iterator对象称为迭代器(设计模式的一种),主要用于遍历 Collection 集合中的元素。GOF给迭代器模式的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。 迭代器模式,就是为容器而生。 类似于“公交车上的售票员”、“火车上的乘务员”、 “空姐” 。Collection接口继承了java.lang.Iter...原创 2020-04-21 23:04:14 · 445 阅读 · 0 评论 -
多线程的理解及实现java版(较详细)
基本概念:程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。进程(process)是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程—(生命周期)如:运行中的QQ,运行中的MP3播放器程序是静态的,进程是动态的进程作为资源分配的单位, 系统在运行时会为每个进程分配不同的内存区域线程(thr...原创 2020-02-29 15:33:34 · 886 阅读 · 0 评论 -
java异常处理(较详细)
java异常处理(较详细)在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避免的。比如: 客户输入数据的格式, 读取文件是否存在, 网络是否始终保持通畅等等。异常:在Java语言中, 将程序执行中发生的不正常情况称为“异常” 。(开发过程中的语法错误和逻辑错误不是异常)Java程序在执行过程中所发生的异常...原创 2020-02-21 17:30:34 · 36794 阅读 · 13 评论 -
两分钟明白java中 ==和equals的区别
==和equals的区别= =:equals():重写equals()方法的原则总结= =:基本类型比较值:只要两个变量的值相等, 即为true。(不一定要类型相同)int a=5; if(a==6){…} int i=10; int j=10; double d=10.0; int k=20; ...原创 2020-02-06 16:53:38 · 334 阅读 · 0 评论 -
分分钟明白java多态
多态定义:可以理解为事物存在的多种体现形态举例:人:男人,女人。动物:猫,狗。猫 cat = new 猫();动物 d = new 猫();看的出来猫()这个实体具备猫的类型也具备动物类型,前提猫是动物的一种。java中函数重载和覆盖,就是多态的一种体现。多态的体现形式//定义抽象动物类abstract class Animal{ public abstract void ...原创 2019-09-30 22:12:43 · 187 阅读 · 0 评论 -
java接口interface接口的使用
接口Interface格式:interface{ }初期理解,可以认为是一个特殊的抽象类,当抽象类中的方法都是抽象的,那么该类可以通过的接口的形式来表示接口中成员修饰符是固定的。成员常量:public static final成员函数:public abstract接口的出先将“多继承”通过另一种形式体现出来,即多实现interface Inter{ public...原创 2019-09-27 22:45:05 · 873 阅读 · 0 评论 -
java中abstract抽象类的使用
java学习笔记_抽象类abstract什么是抽象类?抽象方法和抽象类抽象类特点常见错误小程序举例什么是抽象类?抽象类,抽象类是什么呢?顾名思义,抽象类就是抽象的类,抽象是相对于具体而言的,一般而言,具体类有直接对应的对象,而抽象类没有,它表达的是抽象概念,一般是具体类的比较上层的父类。比如说,狗是具体对象,而动物则是抽象概念,樱桃是具体对象,而水果则是抽象概念,正方形是具体对象,而图形则是...原创 2019-09-27 19:03:11 · 666 阅读 · 0 评论