自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 WebSocket

【代码】WebSocket。

2024-08-27 08:39:13 72

原创 JAVA-JNA框架-基础应用,以及遇到的问题

JNA(Java Native Access)是一个建立在JNI(Java Native Interface,Java本地调用)技术之上的Java开源框架。它极大地简化了Java调用本地(Native)函数(通常是C或C++编写的函数)的过程,使开发者能够像调用Java方法一样直接调用本地方法,从而扩展了Java平台的整合能力。

2024-08-25 13:58:28 322

原创 编码相关问题

/ 假设我们有两个字节数组,一个包含GBK编码的“你好”,另一个包含UTF-8编码的“你好” // 注意:这里只是示例,实际中你需要从正确的数据源读取这些字节 byte[] gbkBytes = ...;// 应该包含GBK编码的“你好” byte[] utf8Bytes = ...;// 应该包含UTF-8编码的“你好” // 使用适当的字符集解码字节数组到String String gbkString = new String(gbkBytes, StandardCharsets.GBK);

2024-08-20 14:18:55 160

原创 Nginx和Ribbon

Nginx 主要负责在多个服务器(或服务器集群)之间选择,而 Ribbon 主要负责在微服务架构中的多个服务实例之间选择。通常作为反向代理服务器,它可以接收来自客户端的请求,并根据配置的规则和策略,将请求分发到多个后端服务器上,举个例子,一个网站在访问高峰期,Nginx 可以将用户请求均衡地分配到多个服务器,避免某一台服务器过载。Ribbon是在微服务架构中,主要用于客户端对服务实例的选择。它会根据一定的负载均衡策略,从可用的服务实例列表中选择一个来处理请求。

2024-08-08 15:35:40 185

原创 Mybatis Plus

用Mybatis Plus,进行自定义sql,分页展示。在Serviceimpl中。

2024-08-06 13:22:22 157

原创 Java单例模式

单例模式是一种常用的设计模式,用于确保一个类仅有一个实例。

2024-08-01 14:16:53 108

原创 Java数据类型

因此,在这个范围内的数值,每次创建的Long对象的地址可能是相同的。这是因为Java认为这个范围内的数值是频繁使用的,为了提高性能,会重用已经创建的对象实例。但是,对于超出这个范围的数值,每次创建的Long对象地址是不同的。Java中的对象包括基本类型和引用类型。‌基本类型(‌如int, double等)‌直接存储值,‌而引用类型(‌如String, Long等)‌存储的是对象的引用地址。:‌String是不可变的,‌每次对String的赋值实际上都是创建了一个新的String对象。

2024-08-01 09:43:21 209

原创 前端--VUE2

【代码】前端--VUE2。

2024-06-21 09:20:02 90

原创 MyBatis框架

它是一个开源的Java持久层框架。

2024-06-18 16:52:50 215

原创 FineReport使用指南

FineReport使用指南

2024-06-15 09:05:12 179

原创 VUE2基础

在 Vue 2 中,由于 Vue 的响应性系统是基于 ES5 的 getter/setter 实现的,Vue 只能在初始化实例时检测到。表单输入项和 data 方法中的属性进行绑定,任意一方改变都会同步给另一方。仅仅是为了提供一种方式让你能够直接访问已渲染的DOM元素或子组件实例。是在DOM渲染完成后才填充的,所以在DOM渲染完成之前(如。对象被 Vue 实例创建之后,你尝试直接添加新的属性到。对象或其嵌套的对象上,那么这个新属性将不会是响应式的。对象中已存在的属性,并将它们转换为响应式的。

2024-06-08 18:00:00 833

原创 MySQL基础

使用返引号` `括起来,在java中mybatis plus框架处理办法在MyBatis-Plus的查询构造器中,也可以直接在调用字段时使用反引号:在实体类上使用注解: drop table if exists type_name如果存在的话删除表type_name,在执行sql文件的时候,特殊注意,逻辑外键和物理外键物理外键是指通过数据库语法实际设置为外键的情况。在数据库中定义两张表时,使用来关联它们,从而确保多表之间的数据依赖关系的正确性。逻辑外键并不是数据库本身的外键约束,但在应用程

2024-05-23 10:00:00 146 1

原创 RESTful(Representational State Transfer)规范

这意味着,无论数据的大小如何,都可以将其包含在请求的主体中,而不会受到URL长度的限制。GET请求对数据的长度有限制,因为URL的长度是有限制的,一般约为2048个字符。POST请求的参数和数据被包含在请求的主体中,而不是像GET请求那样暴露在URL中,POST请求不是幂等的,即多次发送相同的POST请求,服务器的响应结果可能会不同。GET请求是幂等的,即多次发送相同的GET请求,服务器的响应结果应该是相同的。GET请求的参数会附加在URL的末尾,以键值对的形式传递。服务器无法根据客户端的请求找到资源。

2024-05-23 08:00:00 211

原创 前端基础记录

前端基础

2024-05-06 19:00:00 213

原创 Java中使用UUID

Java中在java.util中有一个UUID类,常用于生成ID或者激活码等无规则且唯一的序列号。

2024-05-06 16:51:21 147 2

原创 Java中list集合中集合为空和Null有什么区别?

踩坑记录一下list集合为null,和list集合的size为0是俩回事,

2024-04-19 21:26:19 370 1

原创 i++有没有线程安全问题?

操作,就会出现竞态条件(race condition),导致结果不确定或者错误。要确保线程安全,可以使用同步机制,比如互斥锁或原子操作来保护。操作并不是线程安全的,因为它包含了读取、修改和写入三个步骤,如果多个线程同时执行。

2024-01-31 18:09:33 617

原创 SpringCloud微服务

服务熔断:当某个服务出现异常时,熔断机制会暂时停止对该服务的调用,避免引发连锁反应导致系统崩溃。服务降级:当某个服务出现问题时,通过降低服务的质量或功能,以保证系统的整体可用性。服务雪崩:因单个服务故障导致整个系统崩溃的现象。

2024-01-23 17:50:20 499 1

原创 day08逻辑流程--分布式锁

目前对这些解决方案实现的比较完善的一个第三方组件:Redisson。可重入性:同一个客户端可以多次获取同一把锁而不发生死锁。容错性:即使锁的持有者发生故障,系统也能够正确地释放锁。性能:获取锁和释放锁的操作需要高效,不会成为系统瓶颈。互斥性:同一时刻只能有一个客户端持有锁。

2024-01-23 16:18:10 352 1

原创 day07逻辑问题

后端创建优惠券,创建好之后进行发放优惠券,发放方式分两种:立刻发放和 定时发放,使用期限分两种:固定天数和固定时间段,在发放优惠券的时候,如果发现优惠券的领取方式是指定发放,则需要生成兑换码,单人超领:加入悲观锁,使用Synchronized,不用锁当前对象,锁用户id就可以,Synchronized(UserContext.getUser()),多人超领:加入乐观锁,把查询优惠券,判断库存是否充足,如果重组更新领取数量,把三个独立的步骤合成一个大步骤,可以把sql修改成。非事务方法调用事务方法。

2024-01-22 18:55:09 342

原创 day逻辑流程day06

HashMap是非线程安全的,如果在多个线程同时访问和修改HashMap,可能会导致不确定的行为。是线程安全的,它使用了锁分段技术(lock striping)来允许多个线程同时读取和修改 Map,而不会导致线程冲突。在高并发场景下,由于其锁分段技术,ConcurrentHashMap 的性能通常优于 HashMapHashMap的迭代器是快速失败的(fail-fast),即在迭代过程中如果有其他线程修改了 Map 结构,会抛出异常。

2024-01-19 21:29:15 419 1

原创 day05-逻辑流程

首先在能够获得积分的功能上,加上一个向MQ中发送消息的步骤,在积分的微服务下写监听类,有多少种获得积分方式,写几种监听,增加添加积分的方法,首先判断是否有积分上限,如果没有直接保存即可,如果有,先查询今日的已获积分,加上即将获得的积分是否超过上限,如果超过直接跳出,如果没有超过保存记录。每个层次的索引都包含一定范围的元素,通过逐层检查这些索引,可以快速缩小查找范围,从而加快查找速度。Bitmap是位图的一种数据结构,存储的是0和1,而且签到刚刚好也是两种状态签到和未签到俩种状态,大大减少了空间的浪费。

2024-01-18 18:10:19 404 1

原创 day04-逻辑流程

性能优化:将数据存储到Redis中需要考虑性能优化,包括数据结构选择、缓存策略、以及并发访问的处理,以确保系统的高性能和响应速度。

2024-01-16 20:57:31 360

原创 day03-逻辑流程

存入问题和评论使用Mongo,不使用MySQL,Mongo是非关系型数据库,对于问题和评论这种可能包含不固定字段的数据,MongoDB的文档模型更适合存储和查询。回答表中的user_id字段与用户表中的user_id字段是一对多的关系,一个用户可以有多个回答,但一个回答只能对应一个用户。问题表与回答表是一对多的关系,一个问题可以有多个回答,但一个回答只能对应一个问题。course_id: 问题所属课程的ID。question_id: 对应问题的ID。user_id: 提问者的用户ID。

2024-01-15 20:04:38 389

原创 day02逻辑流程

场景业务流程

2024-01-13 21:26:00 510

原创 day01-逻辑流程

整个流程确保了用户身份的合法性和数据的安全性。同时,通过使用Token,避免了在每次请求中都传输用户名和密码,提高了系统的安全性。通过 Gogs 进行代码管理和版本控制,Jenkins 进行自动化构建和部署,以及 Docker 进行容器化部署。3:Jenkins 与 Gogs 集成,自动检测 Gogs 仓库中的新提交,触发构建任务。看出现bug的请求路径发到了哪里,根据请求路径,找到后端代码,打上段点Debug运行。1:可以通过 Gogs 的分支管理功能进行分支协作,确保代码合并的正确性。

2024-01-12 21:17:05 406

空空如也

空空如也

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

TA关注的人

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