自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 上下文切换

当操作系统调度从一个进程切换到另一个进程时,需要保存当前进程的上下文(比如寄存器、程序计数器等),并加载下一个进程的上下文。:在多线程环境中,CPU会从一个线程切换到另一个线程,同样需要保存和恢复线程的状态。:当硬件中断发生时,操作系统需要保存当前任务的上下文,处理完中断后再恢复任务的上下文。

2025-01-21 16:19:43 143

原创 IDEA报错:无效的源发行版、无效的目标发行版

创建项目的时候,会遇见这个报错,原因就是编译的JDK版本与发布版本不一致。

2024-12-11 10:21:49 2189

原创 AOP(Aspect Oriented Programming)面向切面思想

AOP是一种动态的技术思想, 目的是实现业务功能和非业务功能的解耦合。业务功能是独立的模块, 其他功能也是独立的模块。例如事务功能、日志等等。让事务、日志功能是可以被复用的。当目标方法需要一些功能时,可以在不修改,不能修改源代码的情况下, 使用AOP技术在程序执行期间,生成代理对象, 通过代理执行业务方法,同时增加功能。

2024-08-27 15:08:00 966 1

原创 微服务架构-SpringCloud

将项目所有模块(功能)打成jar或者war,然后部署一个进程。

2024-08-08 11:29:33 1210

原创 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的使用场景

为了把一些经常访问的数据,放入缓存中以减少对数据库的访问频率。从而减少数据库的压力,提高程序的性能。(内存中存储)

2024-07-25 19:42:32 1073 3

原创 把redis用在Java项目

Java连接redis的方式是通过jedis,连接redis需要遵循jedis协议。

2024-07-23 19:50:27 408

原创 redis的集群模式

redis提供了三种集群模式。第一种: 主从模式。(3以下)第二种: 哨兵模式。(5以下)第三种: 去中心化模式。

2024-07-23 09:14:06 1675 10

原创 Java面试题之Java基础

Java面试题之Java基础。

2024-07-22 15:27:00 957

原创 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

原创 Java IO流(详解)

IO针对文件的内容操作的一个类集合。

2024-07-16 14:01:07 1024

原创 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

原创 Java:什么是异常?一篇让你明白异常

异常就是程序在运行时出现意外,而导致程序无法正常往下执行(终止)。

2024-07-15 13:27:55 1351 1

原创 springboot整合mybatis-plus

MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。​

2024-07-15 08:00:00 919

原创 springboot整合定时器

在指定的时间执行相应的业务代码。。

2024-07-13 11:38:11 190

原创 springboot整合swagger2

Swagger2 是一个规范和完整的框架,用于生成、描述、调用和可视化Restful风格的web服务,现在我们使用spring boot 整合它。

2024-07-13 11:16:14 215

原创 springboot整合mybatis

【代码】springboot整合第三方框架。

2024-07-13 10:57:10 147

原创 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中的线程池

线程池:用于管理线程对象的池子。

2024-07-09 14:04:32 510

原创 线程安全,死锁,线程通信与状态

关于线程安全,死锁,线程通信与状态的解释和举例。

2024-07-04 20:31:32 320

原创 Thread类中常用的一些方法

参考Api。

2024-07-04 19:04:30 180

原创 Java中的进程与线程

线程,又称轻量级进程(Light Weight Process)。线程是进程中的一条执行路径,也是CPU的基本调度单位。若一个程序可同一时间执行多个线程,就是支持多线程的.一个进程由一个或多个线程组成,彼此间完成不同的工作(任务),同时执行,称为多线程。

2024-07-03 20:31:23 532 3

原创 手撕持久层框架详细代码以及流程(下)

【代码】手撕持久层框架详细代码以及流程(下)

2024-07-02 19:20:58 226

原创 手撕持久层框架详细代码以及流程(上)

<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关注的人

提示
确定要删除当前文章?
取消 删除