自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SSE(Server-Sent Events)技术及其简单演示

SSE(Server-Sent Events)是一种用于实现服务器主动向客户端推送数据的技术,也被称为“事件流”(Event Stream)。它基于 HTTP协议,利用了其长连接特性,在客户端与服务器之间建立一条持久化连接,并通过这条连接实现服务器向客户端的实时数据推送。

2023-08-14 10:56:48 10893 5

原创 SpringBoot开发微信个人订阅号

微信订阅号开发前几天在学习mybatis时,看到江南一点雨大佬的一篇文章提到了用springboot开发一个公众号。于是心血来潮准备尝试着也做一下。先去微信平台开通一个个人订阅号并完成实名认证,这里不再赘述。springboot开发订阅号首先要明白公众号信息先发送到微信服务器,然后再由微信服务器转发到自己定义的接口。先上项目整体结构图:接入指南:这里需要填写自己微信公众号服务的url。这个token自己写,用来帮助微信服务器验证请求端口是否时上面填入的url。开发者提交信息后,微信将会向所填的url发送

2022-12-07 19:29:47 1450 6

原创 【Redis】Redis常见原理和数据结构

一方面:redis性能瓶颈不在于cpu,而在于网络IO,多线程也仅仅是处理网络IO时使用多线程,指令处理过程还是单线程。另一方面:多线程频繁的创建销毁和切换也是不小的cpu开销,增加了系统复杂性,还需要考虑加锁场景。aaaaaa。

2024-03-20 19:02:58 1200

原创 四种限流算法

限流是为了防止系统突然收到大量请求,后台面对大量并发请求对cpu和内存,网络io产生巨大压力,可能将一些服务如mysql,redis等打崩,引发系统故障,服务瘫痪。

2024-01-03 19:05:13 486

原创 一次搞清内网IP, 回环接口, localhost的区别

本地回环接口)是一个特殊的网络接口,用于在计算机内部进行通信,而不需要任何网络硬件。当你的计算机尝试连接到本地回环地址(通常是IP地址127.0.0.1或主机名localhost)时,所有的网络通信都在你的计算机内部完成,不会经过任何网络硬件,如网卡和路由器。这个接口的主要用途是测试和开发。例如,如果你正在开发一个网络应用程序,你可以使用本地回环接口在你的计算机上运行和测试你的应用程序,而不需要连接到互联网或其他网络。这可以让你在没有网络连接的情况下进行开发和测试,也可以提供更高的性能,因为它。

2024-01-03 19:03:38 597

原创 【JUC】Atomic原子类操作以及LongAdder底层详解

AtmoicIntegerAtmoicBooleanAtmoiclong常用API2.数组类型原子类AtmoicIntegerArrayAtmoicLongArrayAtmoicReferenceArray3.引用类型原子类AtmoicReference自旋锁AtmoicStampedReference携带版本号的引用类型原子类,可以解决ABA问题,修改几次AtmoicMarkableReference原子更新带有标记位的引用类型对象,解决是否修改过,它的定义就是将状态戳简化为true|fal

2024-01-03 19:02:15 838

原创 【JUC】Synchronized及JVM底层原理

每个monitor对象拥有一个锁计数器和一个指向持有该锁的线程的指针。在Java早期版本中,synchronized属于重量级锁,效率低下,因为监视器锁(monitor)是依赖于底层的操作系统的Mutex Lock来实现的,挂起线程和恢复线程都需要转入内核态去完成,阻塞或唤醒一个Java线程需要操作系统切换CPU状态来完成,这种状态切换需要耗费处理器时间,如果同步代码块中内容过于简单,这种切换的时间可能比用户代码执行的时间还长”,时间成本相对较高,这也是为什么早期的synchronized效率低的原因。

2024-01-03 18:51:30 1037

原创 【JUC】一图带你玩转ThreadLocal

ThreadLocal 并不解决线程间共享数据的问题,ThreadLocal 适用于变量在线程间隔离且在方法间共享的场景ThreadLocal 通过隐式的在不同线程内创建独立实例副本避免了实例线程安全的问题每个线程持有一个只属于自己的专属Map并维护了ThreadLocal对象与具体实例的映射,该Map由于只被持有它的线程访问,故不存在线程安全以及锁的问题ThreadLocalMap的Entry对ThreadLocal的引用为弱引用,避免了ThreadLocal对象无法被回收的问题。

2024-01-03 18:39:08 857

原创 【JUC】Volatile关键字+CPU/JVM底层原理

volatile关键字的作用是:修饰的对象在进行写操作的完成时候会立即将变量的值从工作的线程空间刷新回主内存;在执行读操作前会从主内存中获取最新的值。这些功能是由JMM规定的内存屏障插入策略实现的。

2024-01-03 18:35:01 1268

原创 Spring事件机制详解

Spring事件是一种基于Spring框架的事件驱动编程模型,它可以让开发者在应用程序中发布和监听事件。Spring事件的实现原理是基于观察者模式,也可以看作是一种发布订阅模式的变体。观察者模式是一种行为型设计模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,当主题对象的状态发生变化时,它会通知所有观察者对象,使它们能够自动更新自己。

2023-12-12 11:25:45 206

原创 南京邮电大学云计算与大数据第二次CloudSim实验代码

南京邮电大学云计算与大数据CloudSim实验代码

2023-10-25 16:36:00 235

原创 Java对象内存布局和对象头

在hotspot虚拟机中,对象在堆内存中的存储布局可以分为三个部分:对象头(Header),示例数据(Instance data),对齐填充(Padding)

2023-10-23 21:06:59 62 1

原创 Python使用OpenCV实现人脸识别

我们为这些图片分配标签(0代表杨幂,1代表刘亦菲),将它们合并成训练数据和标签,然后打乱它们。最后,我们定义了一个预测函数。这个函数接收一张图片作为输入,检测图片中的人脸,并预测人脸的标签。然后,它在检测到的脸部周围画一个矩形,并标出预测的人名。如果识别器对预测结果的可信度大于50,则我们假设没有找到匹配的人脸,并在图片上标注"not find"。函数读取给定目录中的图片,对每张图片进行面部检测,将检测到的面部调整为固定大小,并返回这些面部的列表。最后,我们读取一张测试图片,对其进行预测,并显示预测结果。

2023-10-19 16:39:02 1503 2

原创 OAuth2详解及Github OAuth2实践

OAuth在"客户端"与"服务提供商"之间,设置了一个授权层(authorization layer)。"客户端"不能直接登录"服务提供商",只能登录授权层,以此将用户与客户端区分开来。"客户端"登录授权层所用的令牌(token),与用户的密码不同。用户可以在登录的时候,指定授权层令牌的权限范围和有效期。"客户端"登录授权层以后,"服务提供商"根据令牌的权限范围和有效期,向"客户端"开放用户储存的资料。

2023-10-07 15:48:30 504 3

原创 解决ElementPlus中的Menu菜单背景设为透明后导航栏文字下方出现一条细白线

在将menu菜单背景设置为透明后,出现一条细白线,不仅响应观感,还很容易激怒强迫症患者。找到元素.el-menu–horizontal.el-menu。由于元素非常小,很难定位,并且元素只有某事件才会变化。将元素border-botom设置为0即可。使用浏览器自带样式工具,模拟鼠标事件。

2023-08-27 21:48:14 928 1

原创 Spring Cloud GateWay

log . info("执行自定义的全局过滤器: {},param: {}" , new Date() , aurora);log . warn("非法登录");return 0;} }创建一个类,实现两个接口,加入到容器中getOrder()这个方法不用管,就是一个容器。

2023-05-25 08:22:26 155 1

原创 监听器Listener

内容简介:1、 事件源2、 javaWeb 中完成编写监听器3、 事件对象。

2023-05-02 12:18:49 69 1

原创 存储子系统

存储子系统 计算机存储 CPU

2023-05-02 12:14:33 42

原创 zookeeper

因为Eureka在2版本应为某些原因停止更新了,所以我们不能够继续使用,我们可以使用zookeeper作为服务注册中心,使用zookeeper也是一样的方法,我们只需要将服务提供者注册到服务注册中心中,然后服务消费者直接去调这个服务就行了。

2023-05-02 12:10:41 41

原创 Eureka

Eureka采用了CS的设计架构,作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使用 Eureka的客户端连接到Eureka Server并维持心跳连接。这样系统的维护人员就可以通过来监控系统中各个微服务是否正常运行。在服务注册与发现中,有一个注册中心。当服务器启动的时候,会把当前自己服务器的信息,比如服务地址通讯地址等以别名方式注册到注册中心上。

2023-05-02 12:09:05 475

原创 aop面向切面编程

AOP(Aspect Orient Programming),面向切面编程。面向切面编程是从动态角度考虑程序运行过程。Aspect切面,什么是切面,就是为这个类中的某个方法,增加其他的功能,就是切面AOP 底层,就是采用动态代理模式实现的。采用了两种代理:JDK 的动态代理,与 CGLIB的动态代理。AOP 为 Aspect Oriented Programming 的缩写,意为:面向切面编程,可通过运行期动态代理实现程序功能的统一维护的一种技术。AOP 是 Spring 框架中的一个重要内容。

2023-05-02 12:06:14 59

原创 Java运行时内存区域

Java虚拟机的多线程是通过线程轮流切换、分配处理器执行时间的方式来实现的。一个内核任一时间只会执行一条线程中的指令。每条线程都有一个独立的程序计数器,这类内存区域被称为“线程私有”的内存,目的是为了线程切换后了能恢复到正确的执行位置。Java方法计数器记录的是虚拟机字节码指令的地址;本地native方法值为空Undefined内存情况:唯一一个没有规定任何OutOfMemoryError情况的区域。

2023-05-01 23:31:50 52

原创 Cron表达式

Cron表达式对特殊字符的大小写不敏感,对代表星期的缩写英文大小写也不敏感。

2023-05-01 23:24:54 33

原创 SpringSecurity前后端分离Header中添加Authorization的设置以及跨域问题踩坑记录

OPTIONS请求即为预检请求,用于判断后端服务是否能接受OPTIONS请求,注意这个请求是没有Auh字段的。OPTIONS请求失败,我全局配置的CORS应该是晚于自定义的handler,所以出现了即使CORS配置了OPTIONS操作的许可,还是出现跨域问题了。非简单请求的CORS请求,会在正式通信之前,增加一次HTTP查询请求,称为 “预检” 请求(preflight)。由于我向请求头中添加了自定义的属性,所以发送请求时就属于非简单请求。的方法为执行,所以造成了跨域问题,即使自己已经全局配置了跨域。

2023-05-01 23:11:06 4965

原创 JAVA反射机制

1、Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息,从而操作类或对象的属性和方法。本质是JVM得到class对象之后,2、Java属于先编译再运行的语言,程序中对象的类型在编译期就确定下来了,而当程序在运行时可能需要动态加载某些类,这些类因为之前用不到,所以没有被加载到JVM。通过反射,可以在运行时动态地创建对象并调用其属性,

2023-05-01 23:09:00 261

原创 Spring Cloud Ribbon学习笔记

是基于实现的一套客户端负载均衡的工具,主要提供客户端的软件负载均衡算法和服务调用。Ribbon客户端提供一系列完善的配置项如连接超时,重试等。As simpleRibbon就是再配置文件中列出后面所有的机器,自动帮你基于某种规则(如简单轮询,随坤连接)去连接这些机器。

2023-05-01 23:02:18 67

原创 内网穿透技术初探

因为个人vue和springboot开发过程中经常会遇到一些百度无法解决的问题,向”大佬“请教的时候经常需要大费周章的描述,有时候无法准确进行描述。如果将项目打包到服务器又非常的耗费时间,于是想着利用内网穿透技术来方便问题描述和解决。(项目甲方乙方对接)

2022-10-30 12:41:03 228

原创 Vue-loading根据主页img判断是否显示,以此解决vue首次加载白屏时间较长的尴尬

给img标签加上load函数来控制showfv的值,这样当首页img加载完成后,执行load函数swhcyx(),将showfv的值置为false,loading动画display:none;fv_loading为首页加载代码块,设置v-show=“showfv”,默认为true,当进入页面时便会自动加载loding动画。除了数据压缩,结构优化外,最简单的应该就是在FP(First Paint)设置一个loading动画,来更好的过渡这段尴尬时间。在app.vue中引入则在所有界面中都有loading。

2022-10-13 21:44:03 836

原创 Unicloud 阿里云服务器作图床,从上传到部署api全流程

Unicloud 阿里云服务器作图床,从上传到部署api全流程

2022-09-19 11:12:21 2691 3

原创 springboot+vue部署后出现springboot后端部分页面404

springboot vue前后端分离项目中request请求路径失败,代理设置解决

2022-09-16 20:33:09 1801

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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