- 博客(42)
- 收藏
- 关注
原创 上下文切换
当操作系统调度从一个进程切换到另一个进程时,需要保存当前进程的上下文(比如寄存器、程序计数器等),并加载下一个进程的上下文。:在多线程环境中,CPU会从一个线程切换到另一个线程,同样需要保存和恢复线程的状态。:当硬件中断发生时,操作系统需要保存当前任务的上下文,处理完中断后再恢复任务的上下文。
2025-01-21 16:19:43
143
原创 AOP(Aspect Oriented Programming)面向切面思想
AOP是一种动态的技术思想, 目的是实现业务功能和非业务功能的解耦合。业务功能是独立的模块, 其他功能也是独立的模块。例如事务功能、日志等等。让事务、日志功能是可以被复用的。当目标方法需要一些功能时,可以在不修改,不能修改源代码的情况下, 使用AOP技术在程序执行期间,生成代理对象, 通过代理执行业务方法,同时增加功能。
2024-08-27 15:08:00
966
1
原创 Java实现前后端分离(详细流程以及解析)
编程式导航,如何跳转传参?1. path路径跳转this.$router.push('/路径?参数名1=参数值1&参数2=参数值2')path: '/路径',query: {参数名1: '参数值1',参数名2: '参数值2'})this.$router.push('/路径/参数值')path: '/路径/参数值'})2.name命名路由跳转:queryname: '路由名字',query: {参数名1: '参数值1',参数名2: '参数值2'})动态路由传参需要配动态路由。
2024-08-01 14:29:43
2689
原创 JWT详细解析
Json web token (JWT),是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC7519)。该token被设计为的,特别。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。
2024-07-30 19:15:15
10380
1
原创 Java面试题之容器
Java 容器分为 Collection 和 Map 两大类,其下又有很多子类,如下所示:CollectionListArrayListLinkedListVectorStackSetHashSetTreeSetMapHashMapTreeMapHashtable。
2024-07-29 19:49:05
949
原创 (源码分析)springsecurity认证授权
会在请求开始时从配置好的 SecurityContextRepesitory中获取SecurityContext,然后把它设置给securityContextHolder。在请求完成后将SecurityContextHolder持有的SecurityContext再保存到配置好的SecurityContextRepository ,同时清除securityContextHolder所持有的SecurityContext。
2024-07-29 19:27:09
520
原创 springsecurity详细解析
进入移动互联网时代,大家每天都在刷手机,常用的软件有微信、支付宝、头条,抖音等,下边拿微信来举例子说明认证相关的基本概念,在初次使用微信前需要注册成为微信用户,然后输入账号和密码即可登录微信,输入账号和密码登录微信的过程就是认证。系统为什么要认证?认证是为了保护系统的隐私数据与资源,用户的身份合法,方可访问该系统的资源。认证︰用户认证就是判断一个用户的身份是否合法的过程,用户去访问系统资源时,系统要求验证用户的身份信息,身份合法方可继续访问,不合法则拒绝访问。
2024-07-27 15:58:06
1187
1
原创 Jenkins详细使用教程
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。
2024-07-26 16:02:53
16286
10
原创 redis的面试题
查询的数据在数据库中不存在缓存中也不存在,这时有人恶意访问这种数据,请求到达数据库。在controller层校验数据,对一些不合法的数据过滤掉。使用bloom布隆过滤器。存放一个空对象,并且设置过期时间不能超过5分钟。缓存击穿:数据库中存在,但是缓存中该数据过期了。这是有大量的请求访问该过期的数据。压力顶到数据库。使用互斥锁。设置永不过期。缓存雪崩:当缓存服务器重启或者大量缓存集中在某一个时间段失效,这样在失效的时候,也会给后端系统(比如DB)带来很大压力。设置散列的过期时间。
2024-07-25 20:00:48
169
原创 redis的持久化方式
把内存中的数据存储到磁盘的过程。同时也可以把磁盘中的数据加载到内存中。RDB(redis database):快照模式,每隔一段时间对内存中的数据进行快照存储。默认启用该模式。AOF(append only file): 日志(每执行一个写操作)追加模式,默认redis没有开启该模式。需要手动开启。默认的文件名appendonly.aof。
2024-07-22 14:57:16
618
1
原创 redis(详解以及如何使用)
在开始写redis的前,我们要了解什么是nosql,nosql(not only sql)不仅仅是sql。所有非关系型数据库的统称。除去关系型数据库之外的都是非关系数据库。很显然redis属于nosql的一种。Redis是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。Redis提供数据结构,例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,地理空间索引和流。
2024-07-20 09:51:42
1313
原创 Nginx(详解以及如何使用)
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。并发能力: 50,000。
2024-07-18 19:41:24
2334
原创 Linux中的Shell脚本
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。。
2024-07-18 19:13:05
495
原创 centos安装软件
firewall-cmd --remove-port=端口号/tcp --zone=public --permanent。:firewall-cmd --add-port=端口号/tcp --zone=public --permanent。这时在部署项目时就需要安装依赖的软件。---只需要解压就可以。2. RPM: 按照一定的规范就可以按照该软件。比如: jdk mysql tomcat redis rabbitmq es等。3. yum 远程安装 基于RPM 帮你把依赖的文件安装上去。
2024-07-17 11:47:05
678
原创 Linux查看端口号命令以及yum源无法使用的解决方法
netstat -ntlp //查看当前所有tcp端口。tcp协议 网络传输协议netstat -ntulp | grep 80 //查看所有80端口使用情况netstat -ntulp | grep 3306 //查看所有3306端口使用情况。
2024-07-17 11:00:31
482
原创 Linux系统详解以及基础命令
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。
2024-07-16 11:20:12
1133
原创 springboot整合mybatis-plus
MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
2024-07-15 08:00:00
919
原创 springboot整合swagger2
Swagger2 是一个规范和完整的框架,用于生成、描述、调用和可视化Restful风格的web服务,现在我们使用spring boot 整合它。
2024-07-13 11:16:14
215
原创 SpringBoot详细解析
1.什么是springboot2.springboot的特点3.springboot常用的配置文件种类4.springboot中java如何读取配置文件中的内容5.profile多环境配置6.springboot注册web组件7.springboot包扫描的原理8. springboot的自动装配原理9.springboot整合第三方框架
2024-07-11 20:23:24
1297
原创 软件设计模式-工厂模式
简单工厂模式(Simple Factory)工厂方法模式(Factory Method)抽象工厂模式(Abstract Factory)在没有工厂的时代,如果客户需要一款宝马车,那么就需要客户去创建一款宝马车,然后拿来用。简单工厂模式:后来出现了工厂,用户不再需要去创建宝马车,由工厂进行创建,想要什么车,直接通过工厂创建就可以了。比如想要320i系列车,工厂就创建这个系列的车。
2024-07-10 09:49:01
1142
原创 Java软件设计模式-单例设计模式
软件设计模式(Software Design Pattern),又称设计模式,是一套被“反复使用”、“多数人知晓的”、“代码设计经验的总结”。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,它是解决特定问题的一系列套路,是“前辈们的代码设计经验的总结”,具有一定的普遍性,可以反复使用。
2024-07-10 08:49:18
1109
原创 Java中的进程与线程
线程,又称轻量级进程(Light Weight Process)。线程是进程中的一条执行路径,也是CPU的基本调度单位。若一个程序可同一时间执行多个线程,就是支持多线程的.一个进程由一个或多个线程组成,彼此间完成不同的工作(任务),同时执行,称为多线程。
2024-07-03 20:31:23
532
3
原创 手撕持久层框架详细代码以及流程(上)
<dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.8</version> </dependency> <dependency> <groupI
2024-07-02 19:05:53
490
原创 Java中的事务
在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。简单来说就是把数据库的各种操作封装到一个事务中,这些操作数据库的动作要么都执行要么都不执行。把多个要做的操作组合到一个整体,利用事务的特性来保证操作的安全性。如果一个事务做到一半出现任何错误,就会进行回滚操作,来恢复成最初的操作。
2024-07-01 19:24:39
3939
2
原创 Java中的反射
反射是框架设计的灵魂。反射(Reflection)是 Java 的一种特性,它可以让程序在运行时获取自身的信息,并且动态地操作类或对象的属性、方法和构造器等。通过反射功能,可以让我们在不知道具体类名的情况下,依然能够实例化对象,调用方法以及设置属性。简单来说就是在类运行的过程中,把类中的成员抽取为其他类的过程就是反射。
2024-07-01 17:06:10
593
原创 JavaScript:通过数据驱动法来写一个简易的购物车
这里goodList.forEach(item=>{...})就是对goodList这个数组就行遍历,里面的代码就是渲染。然后就是如果你想在购物车里面添加,就是对goodList这个数组的添加,其实整个购物车里面就是对数组相关方法的考察。第二步,提供个模板,使渲染的时候可以在页面中体现出来,后续有错误,或者需要修改再对其修改就行。简单来说就是以数据为中心依据进行决策和行动。第一步,先用html,css写个的页面。首先,什么是数据驱动呢?
2024-03-26 20:56:43
527
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人