- 博客(39)
- 收藏
- 关注
转载 单点登录CAS实现中为何需要ST
单点登录的过程中,第一步应用服务器将请求重定向到认证服务器,用户输入账号密码认证成功后,只是在浏览器和认证服务器之间建立了信任(TGC),但是浏览器和应用服务器之间并没有建立信任。ST是CAS认证中心认证成功后返回给浏览器,浏览器带着它去访问应用服务器,应用服务器再凭它去认证中心验证你这个用户是否合法。只有这样,浏览器和应用服务器才能建立信任的会话。而TGC的作用主要是用于实现单点登录,就是当浏览器要访问应用服务器2时,应用服务器2也会重定向到认证服务器,但是此时由于TGC的存在,认证服务器信任了该浏
2024-09-09 15:18:39
135
1
原创 进程上下文切换和线程上下文切换
进程上下文切换是指在CPU执行一个进程时,需要保存当前进程的执行状态(上下文),然后加载另一个进程的上下文以便继续执行。线程上下文切换与进程上下文切换类似,但是线程共享进程的资源,因此上下文切换的系统开销相对较小。线程上下文切换通常发生在同一进程内的不同线程之间,它们之间的切换不需要像进程那样保存和恢复整个进程的上下文。频繁的上下文切换会导致资源浪费和性能下降,因为CPU用于执行实际任务的时间减少了。进程上下文切换和线程上下文切换是操作系统中两个重要的概念,它们涉及到CPU在执行进程或线程时的上下文管理。
2024-04-17 10:27:46
406
转载 Java集合--有序性、排序性、稳定性
有序性:说的是元素的插入先后,与元素在集合内存储的位置是否有前后对应关系。即有序、无序是指插入时,插入位置是否遵循先入在前后入在后的规则,若先插的位置在前,后插的位置在后,则可说此集合类是有序的,反之则无序。稳定性:当用于排序的元素内容相同时,多次遍历集合,两个元素的相对位置是否固定,如果固定则说是稳定的,否则是不稳定的,稳定性取决于集合使用的排序算法是否稳定。其它的集合都是有序的。排序性:另一个容易混淆的概念是排序,排序是指集合内的元素是否被按照元素内容,升序或降序进行存储。学习使我充实,分享给我快乐!
2024-04-16 17:08:09
171
原创 从HTTP到HTTPS
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、什么是HTTPS?二 深入分析安全协议2.读入数据总结前言HTTP作为我们开发者接触最多的一种应用层的协议,其有很多我们值得深入研究的地方,也是面试中网络这部分的重点之一。比如HTTP1.0—》HTTP1.1—》HTTP2.0—》HTTP3.0的升级迭代,这里面也是别有洞天的,不过我们今天来讲HTTP协议另外的一个重点,就是HTTPS是怎么做的。一、什么是HTTPS?说到HTTPS,背过八股文的人应该都能脱口而.
2022-05-22 16:19:20
463
原创 Cookie,Session和Token 你真的懂了吗
我们以登录为场景来分析这三个机制的流程。使用Cookie:用户输入凭据后登录成功,服务端将凭据以Cookie的形式返回给客户端也就是浏览器浏览器保存Cookie,以后每次发请求的时候带上Cookie就可以了,这样用户就不需要每次都输入凭据,也就解决了HTTP无状态的问题,方便了用户。优点如下:1 将数据保存到客户端,减轻了服务端的压力。2 解决了HTTP的无状态,方便了用户缺点如下:1 每个特定了域名下最多生成20个Cookie2 有被CSRF攻击的危险。举例:用户在登录A网站www.
2022-05-02 09:20:05
1383
原创 关于联合索引和最左前缀
关于联合索引和最左前缀这里不做介绍了,下面是我遇到了一个匪夷所思的现象。版本:mysql5.7;表结构如下:注意这里的id没有主键的联合索引如下:我们写两个sql试一下联合索引的最左前缀原则。好像没啥问题,因为带头大哥没有写,也就是c没有写在最前面。我们把c写前面好像一些都很正常。where条件后面的字段如果全部包含联合索引,那么顺序没有关系,应该是优化器给优化了。也就是说 where a b c d 和where c a d b 都会全部走索引。注意上面的测试是id不是主
2022-03-16 16:40:54
1046
原创 你知道Java的继承,但你听说过委托吗
继承VS委托概念介绍继承VS委托示例代码片段概念介绍Java 中的继承就是在已经存在类的基础上进行扩展,从而产生新的类。已经存在的类称为父类、基类或超类,而新产生的类称为子类或派生类。在子类中,不仅包含父类的属性和方法,还可以增加新的属性和方法。通过继承Java中的子类就可以使用父类中的方法,提高了代码的重用性。而委派是为了提高代码的复用性。一个对象请求另一个对象的功能,捕获一个操作并将其发送到另一个对象继承VS委托既然都是提高了代码的重用性,那么一个继承还不够吗?为什么还需要委托?我们来看
2022-03-10 14:49:28
417
原创 多线程一定比单线程快吗
学习完多线程以后,我们可能总是不自觉地认为单线程就很慢,很low。但是某一天我想使用多线程对一个共享变量做以下自增操作,这一试就出问题了。提前声明:测试环境为多核CPU首先是多线程操作。 private static int count = 0; public static void main(String[] args) throws InterruptedException { Object o = new Object(); long startTime
2022-03-07 10:52:29
1568
原创 Java中的序列化和反序列化
java对象序列化是指将java对象转换为字节序列的过程,而反序列化则是将字节序列转换为java对象的过程。我们知道,不同进程/程序间进行远程通信时,可以相互发送各种类型的数据,包括文本、图片、音频、视频等,而这些数据都会以二进制序列的形式在网络上传送。那么java对象不能直接传输,就需要转换为二进制序列传输,所以要序列化。java中序列化和反序列化的方式:|首先要序列化的类必须实现接口java.io.Serializable。这个接口中没有具体的方法,只是标记该类可以序列化,实现了这个接口就会要
2022-03-04 14:41:42
3345
原创 MySql面试题
一 正确认识B树和B+树(从二叉树到B+树)https://zhuanlan.zhihu.com/p/27700617二 一条SQL查询语句是如何执行的mysql的基本架构示意图大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。而存储引擎层负责数据的存储和
2022-02-28 16:42:04
599
原创 计算机操作系统面试题
一 认识汇编语言汇编的本质是机器语言的助记符号,汇编语言本质就是机器语言.二 CPU的基本组成PC 程序计数器,记录将要执行的指令的地址Registers 暂时存储CPU计算需要用到的数据ALU 寄存器中取到数据,进行运算然后将结果输出到另一个寄存器,然后通过指令将寄存器的内容返回给内存就完成了一次运算CU 控制单元 响应中断信号等MMU 内存管理单元cache 缓存https://www.zhihu.com/question/21981280(为什么CPU需要时钟这个概念)三 初识OS
2022-02-24 21:09:00
1154
原创 计算机网络面试题
一 TCP的三次握手和四次挥手TCP协议是7层网络协议中的传输层协议,负责数据的可靠传输在建立TCP连接的时候,需要通过三次握手来建立,过程是:1.客户端向服务端发送一个特殊的报文段,这个报文段中不包含任何应用层数据,但是在报文段的首部的SYN标志位被置为1.即SYN报文段。2.服务端接收到SYN后,为该TCP连接分配TCP缓存和变量,并向该客户TCP发送允许连接的TCP,即给客户端发送一个SYN_ACK,也不携带任何应用层的数据。3.客户端接收到SYN_ACK后,客户端也要给该连接分配缓存和变量
2022-02-22 20:43:42
856
原创 IP和BGP,OSPF之间的那些事
IP和BGP,OSPF之间的那些事知识补充问题引出解答知识补充在我们深入讨论之前的,我们先来做一点前置知识补充。我们在学习网络层都知道最著名的IP协议,另外OSPF和BGP也是在网络层这一章学习的协议。OSPF是作用于同一个AS内部的路由选择,而BGP是作用于不同的AS之间的路由选择。问题引出OSPF和BGP是网络层协议吗?如果不是的话,为什么要放在网络层这一章节来讲呢?IP协议跟他们又有什么关系呢?解答一 首先它们两个都不是网络层的协议,这里关于OSPF我引用书上的语言 ”OSPF报文直接由
2022-01-09 15:29:38
2468
1
原创 mysql中的联结类型
mysql中的联结类型讲技术之前,先聊一下语文。注意这里是’联结类型’ 而不是连接类型。嗯,专业!先聊一下为什么会出现 ‘联结’ 这个知识点,首先,mysql是关系型数据库下面是我百度百科中扒拉到的关于关系型数据库的定义。。。。。。。。关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为二维
2021-03-16 12:43:53
538
2
原创 mysql中有几种模糊查询?
mysql中有几种模糊查询?聊起mysql中的模糊查询,大家可能马上就能想到like保留字。like加通配符就能完成很多模糊查询的操作。比如希望查询出所有以词jet开头的产品select * from table_name where name like ‘jet%’这样做完全没问题。不过慢慢的人们发现,随着过滤条件的复杂性增加,where子句本身的复杂性也慢慢增加,这时就出现了** 正则表达式**。所有种类的程序设计语言,文本编辑器,操作系统都支持正则表达式。当然,mysql也不例外,它可
2021-03-14 10:46:15
4846
10
原创 Mysql中如何拼接字段
Mysql中如何拼接字段简单聊一下为什么会出现这个问题 why???可能很多人会问,为什么要在mysql中拼接字段?,我从数据库中读取出来用java的api不能拼接吗?为什么我还要多记忆一个mysql的拼接???一个字 就是 ’ 快 '。这还不够吗如果你是客户机,你希望从服务器拿到的数据是转换好的数据还是未加工过的数据,如果你有100个客户机,你需要做这件无聊的工作一百次,java交给我们凡是重复的代码都可以抽取,这种思想也适用与这里!加入一个表中包含 供应商名称 和 位置信息客
2021-03-13 20:02:47
1228
原创 Mysql中Select语句其他用法
Mysql中Select语句其他用法使用Select测试和试验函数与计算使用Select测试和试验函数与计算select Now();//获取当前时间select LTrim(’ sda’);//去掉字符串左边的空格select 3*2;
2021-03-13 19:45:01
230
原创 JDBC工具类以及详解
JDBC工具类以及详解package com.tjl.jdbc;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;public class JDBCUti
2021-02-20 15:43:18
233
原创 如何插入到数据库中一条带有日期的数据(Mybatis)
如何插入到数据库中一条带有日期的数据(Mybatis)首先看下我数据库中表的结构Service层如何写Mapper接口如何写Mapper文件如何写首先看下我数据库中表的结构一个日期类型,两个int类型Service层如何写Mapper接口如何写Mapper文件如何写大功告成!...
2021-02-03 12:31:49
974
原创 java如何将null转化为空串也就是empty
java如何将null转化为空串也就是empty前言:在说转换之前,简单说一下它们之间的区别如下1,null不指向任何对象,相当于没有任何值;而“”代表一个长度为0的字符串2,null不分配内存空间;而“”会分配内存空间那如何将null转化未空串也就是empty呢?第一步第二步最后输出的就是空串啦两者之间的详细区别在下方https://www.cnblogs.com/xusion/articles/3021949.html...
2021-02-02 17:25:48
5118
1
原创 隐式事务和显示事务
隐式事务和显示事务隐式事务又称自动提交事务,就这么点区别,说多点就是下面这一大段事务是SQL Server防止你的数据出现不一致状态的基础结构.我们已经学习过事务是如何工作的.在这一节中,我们将学习在SQL Server开发环境下如何让事务为你工作.S Q LS e r v e r中事务有两种,它们是隐式事务和显式事务。隐式事务隐式事务是SQL Server为你而做的事务.隐式事务又称自动提交事务.如果运行一条ddl语句 or dcl语句 or正常退出sql*plus,但没有明确发出commi
2020-12-19 10:27:47
3097
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人