自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 微服务是怎么实现分布式架构的

根据业务功能对系统进行拆分,每个业务模块作为项目独立开发,称为一个服务解决了单体架构的耦合维护问题以及增加了额外扩展功能。

2023-10-14 10:29:04 69

原创 区块链-BTC-以太坊

因为中心化机构(银行) 的权利可能导致的腐败、成本、安全性问题,衍生出了区块链,它利用去中心化(去除中心化)的分布式账本特性,是一种点对点的通信方式,保证了透明又安全,且低成本的金融服务。核心原理包括:分布式存储 加密算法 链式结构 共识机制。

2023-09-28 15:33:33 65

原创 RedisTemplate存数据 序列化的两种方式

redis数据库是二进制存储数据的spring默认使用jdk序列化将数据存进redis,通用性比较好,但不存在可读性。

2023-09-22 17:57:42 192

原创 Executor线程池接口

为避免线程消耗过多资源影响性能,(创建与启动线程,线程销毁,线程调度的开销,线程数量受限于CPU处理器数量),使用线程池来管理线程:避免一任务创建一线程带来的开销和性能问题,预先创建好可供使用可复用的线程,客户端将任务以对象传递给线程池,线程池将任务缓存到等待队列中,线程池不断抽取一个可使用的线程从队列取出执行任务。隐式实现了Executor的()向线程池提交任务封装好的常用方法:(底层通过实现ExecutorService)

2023-09-21 12:00:43 42

原创 synchronized和Lock区别

从性能上来看,Lock和synchronized相差不大,但在实现上有些区别:

2023-09-15 18:15:14 61 1

原创 ReentrantReadWriteLock--ReadWriteLock显示锁系列( 手动管理锁)

写前线程共享,写时排他锁,允许多个线程同时读取共享数据,但一次只允许一个线程对共享数据进行更新,当一个线程持有读锁/写锁时,其他线程都无法获得写锁。显示锁(手动锁 手动管理锁 功能更多):通过java.concurrent.locks.Lock接口的实现类。和lock的区别是,lock只支持排他模式,独占共享资源,而读写锁同时具有共享模式和排他模式。内部锁(自动锁 JVM管理):通过synchronized关键字实现。另外在此基础之上,支持公平锁,具有可重入性。().lock();().lock();

2023-09-15 18:01:55 37 1

原创 ReentrantLock --- Lock显示锁系列( 手动管理锁)

内部锁(自动锁 JVM管理):通过synchronized关键字实现显示锁(手动锁 手动管理锁 功能更多):通过java.concurrent.locks.Lock接口的实现类允许同一线程重复获得该锁不会出现死锁等问题(synchronized就是可重入的)公平锁:synchronized默认是非公平锁,公平锁能保证先请求锁的线程拿到锁,避免线程饥饿问题等待过久,但是需要维护有序队列产生额外开销,据情况使用new ReentrantLock(boolean) true开启公平锁。

2023-09-14 11:09:09 60 1

原创 ThreadLocal线程变量隔离

初始化TL值 ThreadLocal t=ThreadLocal.withInitial( ()->值) );将指定的共享变量,变为每个线程创建一个独立的共享变量的副本,线程可以独立地修改自己所拥有的变量副本,互不干扰。(共享变量: 静态变量,线程传递变量,共享对象的属性,volatile变量等):某线程访问ThreadLocal对象时,就是访问当中对应的自己的副本。2、实例需要在多个方法中共享,但不希望被多线程共享。t.remove()当前线程清空值,避免内存泄漏。

2023-09-12 17:31:32 48

原创 Stream 常用API

(Function mapper)将T类型所有元素 映射成 R类型。找到第一个元素,返回Optional(新类型.get()查看元素)(默认值, (x,y)->{ 比如x+y });(Stream a, Stream b) 流合并 (静态方法。返回指定步数后的流,大于则跳过头返回空流。

2023-09-10 18:28:35 61 1

原创 Optional新类型

可以通过链式调用优雅地避免繁琐的null值判断,可代替任何类型的值,用于避免空指针异常而用默认方式代替,但需要根据具体情况谨慎选择,因为有时候使用Optional可能会增加代码的复杂度。(Function f): 如果调用者不为空,返回转化后的调用者;(Supplier s) :如果调用对象包含值,返回该值,否则返回生产结果。(T t) : 创建一个t类型Optional 实例。(T t) : 调用者有值,返回该值,否则返回t。(T t): 有T创建含T的O,没T创建空O。

2023-09-10 17:42:37 24 1

原创 新版日期和时间API

DateTimeFormatter :日期时间格式化类,搭配ofPattern("格式")格式化。LocalDateTime :日期时间, 2018-09-06T15:33:56.750。两个类可以表示日期和时间,但它们都只能精确到毫秒级别,而不能表示更精细的纳秒时间。:旧API中的日期和时间类的格式很长,需要再进行格式化,使用起来很繁琐。of(Integer格式) 指定格式的日期或时间。Instant:时间戳,表示一个特定的时间瞬间。(和String一样,修改后返回新对象)now() 当前日期或时间。

2023-09-10 15:50:35 31 1

原创 Stream流简介

1.Collection及子接口下新增默认方法:default Stream stream()2.Stream内部有of方法,通过传递可变参数 获取流,比如: (基本数据类型不可以)注:map获取对应的流需要分key、value或entry三种情况单独获取stream。主要分为 1.支持链式调用(返回加工后的Stream) 2.直接结果的终结方法。一个流只能操作一次,返回的是新的流,而且操作stream流的最后必须以终结方法结束。

2023-09-09 20:41:51 32 1

原创 Lamdba表达式

只有一个参数,一条语句,省略(类型 return;由于lamdba只需要关心抽象方法的参数 和 返回值,为了方便使用,出现了一些常用的函数式接口,来为lamdba制定规范。interface ZSLSwimmable { (自定义函数式接口,有且只有一个抽象方法的接口)如果Lambda所要实现的方案 , 已经有其他方法存在相同方案,那么则可以使用方法引用。函数式接口:只存在一个抽象方法的接口,它被看作是一个函数的签名。

2023-09-08 21:31:25 51 1

原创 为什么需要微服务架构

传统springboot单体架构,业务耦合过高,随着用户量增加完全变得难以维护,需要一个服务将其拆分成多个springboot项目

2023-09-08 15:16:27 68 1

原创 sql练习题5

33、求出部门名称中, 带'S'字符的部门员工的工资合计、部门人数。32、求出员工领导的薪水超过3000的员工名称与领导。

2023-05-25 15:23:31 40 1

原创 Springboot+mybatis+redis(Data Reids方式)大致3步骤

protected-mode yes 改no 取消保护机制,允许外网访问。运行redis-server.exe [配置文件路径]daemonize no 改yes 后台运行。编写三层架构, postman进行测试数据库。取消注释 requirepass 设置密码。注释bind 127,允许所有ip访问。编写redis配置类。

2023-05-24 18:03:01 258

原创 Caused by: java.lang.UnsupportedClassVersionError: org/mybatis/spring/boot/autoconfigure/MybatisLang

这里用的springboot2,而mybatis版本却是3,降低mybatis版本即可。

2023-05-24 16:49:52 2003 3

原创 sql练习题3

29、列出各种工作的最低工资及从事此工作的雇员姓名、试用chatGPT生成。26、列出在每个部门工作的员工数量, 平均工资和平均服务期限。group_concat用于将多条结果组成一串字符串分隔展示。30、列出各个部门的 MANAGER( 领导) 的最低薪金。27、 列出所有员工的姓名、部门名称和工资。28、列出所有部门的详细信息和人数。

2023-05-24 10:12:06 31 1

原创 sql练习题2

5题

2023-05-19 10:20:23 28 1

原创 14、列出所有员工及领导的姓名

5.18任务

2023-05-18 16:20:01 227

原创 员工 部门 薪资表

练习题的数据库数据

2023-05-18 12:01:37 49 1

原创 SQL练习题1

sql练习

2023-05-18 12:00:56 83

原创 java实习1

实习每日学习规划

2023-05-18 10:55:58 32

原创 Access to XMLHttpRequest at ‘http://xxxx‘ from origin ‘http://www.x‘ has been blocked by CORS policy

今天想起来之前买的域名通过备案了但一直忘记绑定公网ip然后试了一下发现,虽然能够ping通域名,且前端正常显示,但一直报错跨域错误无法访问后端接口,而公网ip却可以可以正常访问一直想不通,问群友,检查了Nginx的配置,前端后端的跨域也配置了(后端用注解配置),反复启动检查都不行还是老样子,实在不知道怎么解决。。。。。最后想起来后端可以用WebMvcConfigurer配置跨域,立马上去看,好家伙 果然已经配置过了,而且跨域配置还是仅限本地的@Configurationpublic

2022-05-07 21:23:24 518

空空如也

空空如也

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

TA关注的人

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