fragrans
LLM、大数据、产品、运营
展开
-
vue项目如何设置默认页面
创建一个新的vue项目并且将初始页面还原到空白项目开始 - 现实里的乌托邦 - 博客园vue项目如何设置默认页面 • Worktile社区创建一个vue项目并配置默认页面_vue如何设置初始展示的页面-优快云博客原创 2025-02-07 18:03:25 · 136 阅读 · 0 评论 -
windows 环境下安装yarn命令工具
Yarn是facebook发布的一款包管理工具,与npm的功能相似,使用npm来安装yarn工具。原创 2025-01-11 22:47:07 · 247 阅读 · 0 评论 -
jdk1.8升级jdk17
在安装好jdk后,配置jdk17的环境变量(将电脑上已经存在的jdk1.8配置删除掉),安装后的jdk17目录下,是没有jre文件夹的,因此在jdk-17当前目录下打开cmd终端,执行命令生成jre文件夹(配置系统环境变量需要用到jre)最近开发开发langchain4j功能时,要求jdk最低版本为17,所以针对当前电脑上的jdk1.8进行升级至jdk17.点击对应的Java SE17版本,跳转至下载页面,选择对应系统的jdk17即可。原创 2024-12-28 11:05:04 · 476 阅读 · 0 评论 -
在Idea中搭建fabric-sdk-java的开发调试环境
目录# 1.环境准备# 2. 下载fabric-sdk-java源码# 3. 启动fabric测试网络# 4. 在idea中运行End2endIT测试类今天就先写一个标题啦,未完待续......原创 2020-04-28 21:52:57 · 1397 阅读 · 1 评论 -
使用sm3+时间戳,签名防止接口重放攻击
将sign作为一个参数,进行请求,如果sign的值已经被使用过,请求过接口,则提示已经使用过,防止重放攻击。原创 2024-12-03 16:54:13 · 123 阅读 · 0 评论 -
策略模式-策略模式在不同支付工具中的应用
3. 定义WxPay具体支付实现策略类。2. 定义AliPay具体策略实现类。策略模式中主要有以下角色。4. 测试策略客户端类。原创 2024-11-17 12:00:31 · 255 阅读 · 0 评论 -
工厂模式-工厂方法模式实现
具体的产品有具体的工厂类生产,这样当新增商品时,不需要修改原来的工厂类。1. 定义抽象产品,本文以生产手机为例。6. 定义具体工厂-Xiaomi。2. 定义具体产品-Apple。3. 定义具体产品Xiaomi。5. 定义具体工厂-Apple。原创 2024-11-17 11:20:33 · 290 阅读 · 0 评论 -
工厂模式-简单工厂模式
简单工厂模式-实现demo原创 2024-11-17 10:53:38 · 158 阅读 · 0 评论 -
设计模式-单例模式
单例设计模式的几种不同实现方式原创 2024-11-17 10:35:39 · 308 阅读 · 0 评论 -
spring中事务介绍
spring中事务介绍,参考链接如上。原创 2024-08-19 11:20:01 · 134 阅读 · 0 评论 -
内存OOM以及排查方法
Java OOM问题如何排查 - 南山饱虎 - 博客园Mysql分析-profile详解 - 飞龙在生 - 博客园翻译 2022-03-15 11:50:41 · 509 阅读 · 0 评论 -
Springboot事务及其失效场景
今日头条https://www.toutiao.com/i7069945992455651844/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1×tamp=1646134630&app=news_article&utm_source=weixin&utm_medium=toutiao_ios&use_new_style=1&req_id=202203011937090101511950转载 2022-03-01 20:22:28 · 228 阅读 · 0 评论 -
CPU居高不下的解决办法
cpu居高不下,排查方法转载 2022-02-27 13:31:51 · 1295 阅读 · 0 评论 -
MyBatis中井号与美元符号的区别
参考链接MyBatis中井号与美元符号的区别 - coderland - 博客园转载 2022-02-26 23:06:53 · 2753 阅读 · 0 评论 -
spring和springboot中使用缓存
Spring Boot 2.x基础教程:使用集中式缓存Redis | 程序猿DDSpring Boot 2.x基础教程:进程内缓存的使用与Cache注解详解 | 程序猿DDredis与Spring Cache的整合_jonathan的专栏-优快云博客Spring Boot 2.x基础教程:进程内缓存的使用与Cache注解详解 | 程序猿DD...转载 2022-02-19 22:45:40 · 114 阅读 · 0 评论 -
SpringBoot 如何进行参数统一校验
SpringBoot 如何进行参数校验?老鸟们都是这么玩的!SpringBoot中实现业务校验,这种方式才叫优雅!https://github.com/jianzh5/cloud-blogfragrans/cloud-blog转载 2022-02-09 14:09:15 · 526 阅读 · 0 评论 -
设计模式-策略模式
今日头条https://www.toutiao.com/i7061563884594823694/?app=news_article&group_id=7061563884594823694&is_new_connect=0&is_new_user=0&req_id=202202081533380101511731940E67F6E3&share_token=B4EB0BA6-25BA-4A7E-B302-E52D40E41A2C×tamp=1644305619&am翻译 2022-02-08 16:37:08 · 116 阅读 · 0 评论 -
数据API低代码平台 magic-api使用手册
参考资料https://www.cnblogs.com/zys2019/p/14842918.html#_label5https://ssssssss.org/https://gitee.com/dove_usst/magic-api-example.git转载 2021-08-06 07:28:20 · 3768 阅读 · 1 评论 -
Bitmap原理及应用场景
目录1. 应用场景2. 参考资料1. 应用场景快速排序、快速查找、精准去重、2. 参考资料https://www.cnblogs.com/cjsblog/p/11613708.html转载 2021-07-11 09:51:18 · 428 阅读 · 0 评论 -
springboot项目集成mybatis
目录1. 参考资料2. 项目代码1. 参考资料* https://blog.youkuaiyun.com/u012702547/article/details/88643598* https://www.jianshu.com/p/5418747149072. 项目代码https://gitee.com/dove_usst/springboot-mybatis-integration.git转载 2021-07-07 22:43:09 · 220 阅读 · 0 评论 -
基于spring aop + validator实现接口请求参数校验
目录1. 概述2. 基于AOP在执行convert方法前进行参数校验3. 定义参数校验定义切面类和切点4. 参考链接1. 概述可以参考以前做过的项目mwp模块中的查询接口,json转ReqBean时根据reqbean中的校验注解进行参数校验在基于springboot项目时,可以借助于springboot + validator在controller层实现请求参数的自动校验功能。如下controller类中的请求方法:/*** 在controller层,自动实现接口参数校验原创 2021-05-17 18:49:35 · 340 阅读 · 0 评论 -
Sentinel基于并发线程数和QPS的流量控制
目录1、流控原理 2、并发线程数流控方式 3、 QPS方式1、流控原理 是监控应用流量的QPS或并发线程数等指标,到达阈值时对流量进行控制。避免被瞬间流量高峰冲垮。 其中并发线程数、QPS 值,都是由 StatisticSlot 实时统计获取的。可通过api获得: curl http://localhost:8719/cnode?id=resourceName 2、并发线程数流控方式并发数控制用于保护业务线程池不被慢调用耗...原创 2021-04-06 21:14:11 · 2053 阅读 · 0 评论 -
spring中bean循环依赖以及解决办法
目录1. 概述2. 循环依赖处理机制3. 参考资料1. 概述循环依赖的现象:循环依赖:A-->B->C->A,几个bean之间相互依赖,形成依赖闭环。Spring中循环依赖场景有: 构造器的循环依赖(构造器注⼊) Field 属性的循环依赖(set注⼊)其中,构造器的循环依赖问题⽆法解决,只能拋出 BeanCurrentlyInCreationException 异常,在解决属性循环依赖时,spring采⽤的是提前暴露对象的⽅法。..原创 2021-04-01 07:26:21 · 627 阅读 · 0 评论 -
Bean生命周期的几个关键时机
目录1. Bean生命周期的几个关键时机点2. 参考资料1. Bean生命周期的几个关键时机点(1)分析 Bean 的创建是在容器初始化时还是在 getBean 时单例模式的bean默认是非延迟加载,打断点后在applicationContext容器中可以看到bean对象实例(在调用getBean()方法前,就可以看到容器中存在的该bean对象实例)(2)分析构造函数调用情况容器实例化bean时,调用bean的构造方法的时机是在AbstractApplicationContext类r原创 2021-04-01 06:45:18 · 194 阅读 · 0 评论 -
ThreadLocal父子线程之间的数据传递问题
目录1. 概述和学习总结2. 参考资料1. 概述和学习总结(1)ThreadLocal的值,在父-子线程中不能传递(2)JDK的InheritableThreadLocal类可以完成父线程到子线程的值传递。但对于使用线程池等会池化复用线程的执行组件的情况,线程由线程池创建好,并且线程是池化起来反复使用的;这时父子线程关系的ThreadLocal值传递已经没有意义,应用需要的实际上是把任务提交给线程池时的ThreadLocal值传递到任务执行时。(3)阿里github上提供的Tra..转载 2021-03-31 22:44:06 · 565 阅读 · 0 评论 -
ThreadLocal作用、场景、原理
1. 概述ThreadLocal相当于提供了一种线程隔离,ThreadLocal提供了线程本地变量,保证了访问到的变量属于当前线程,每个线程都保存有一个变量副本,每个线程的变量的值都不同。使用于多线程场景下,实现传递数据,实现线程隔离。ThreadLocal的作用:ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal是解决线程安全问题一个很好的思路,它通过为每个线程提供一个独立的变量副本解决了变量并发访问的转载 2021-03-31 21:27:51 · 298 阅读 · 0 评论 -
spring中BeanFactory和FactoryBean
(1)BeanFactory,负责创建及管理spring中的bean对象。是容器的顶级接口,一般我们会使用它的子接口ApplicationContext(2)FactoryBean,工厂类,我们可以实现这个工厂类接口,自定义bean的生成逻辑。...原创 2021-03-31 19:04:43 · 133 阅读 · 0 评论 -
spring中bean的延迟加载
目录1. 延迟加载即延迟加载的意义2. 参考资料1. 延迟加载即延迟加载的意义Bean的延迟加载(延迟创建)ApplicationContext容器,默认是在启动容器时,将所有singleton bean提前创建。可通过lazay-init=true来设置,这样只有在第一次向容器通过getBean获取bean时,才会实例化bean。prototype类型的bean,是延迟加载的,使用时才会创建,向容器调用getBean时才会创建。BeanDefinition对象:我们在 XML...原创 2021-03-31 19:03:25 · 1019 阅读 · 0 评论 -
Spring中bean依赖注入的2种方式
(1)构造函数注入使用 constructor-arg 标签(2)set方法注入:在开发中使用的最多。使用 property 标签原创 2021-03-30 22:25:42 · 155 阅读 · 0 评论 -
Spring中bean的作用范围,和其对应的生命周期
目录1. 概述2. 单例模式和多例模式介绍3. Bean的生命周期3.1 单例模式bean的生命周期(singleton)3.2 多利模式的bean生命周期4. 参考资料1. 概述spring中bean的作为范围scope一共有6种,其中最常见的有两种:singleton(单例模式)和prototype(多例模式)。下面主要介绍单例和多例模式。2. 单例模式和多例模式介绍在spring 框架管理bean对象创建时,bean 默认是单例的,即一个spring io.原创 2021-03-30 22:07:03 · 240 阅读 · 0 评论 -
Spring中创建bean的3种方式
目录1. 概述2. 实例化bean的3种方法2.1 使用无参构造方法(默认)2.2 使用静态方法创建2.3 使用实例方法创建(即工厂类中的非static 方法)3. 参考资料1. 概述在spring中bean的创建方式主要有3种,下面以xml为例来说明2. 实例化bean的3种方法2.1 使用无参构造方法(默认) <!--配置service对象--> <bean id="userService" class="com...原创 2021-03-30 21:31:30 · 651 阅读 · 0 评论 -
mysql jooin算法原理及优化建议
目录1. Mysql join算法原理 simple nested-Loop (简单嵌套循环连接)2. Blocked nested-Loop(缓存块嵌套循环连接,当关联的字段没有建索引时,默认是用这种关联算法)3. Indexed nested-Loop (索引嵌套循环连接)4. 总结5. 参考资料1. Mysql join算法原理 simple nested-Loop (简单嵌套循环连接) select * from user tb1 left join leve...转载 2021-03-28 11:42:11 · 196 阅读 · 0 评论 -
数据库 事务及事务的隔离级别
1. 事务基本概念介绍1、事务的隔离性多个事务操作同时操作一个数据,会造成干扰,因此需要对他们之间进行隔离(只需对操作同一数据的事务隔离即可),燃操作之间分开有序的执行。2、如果不对事务进行隔离,出现的问题(脏读、不可重复读、幻读)(1)脏读(重点突出在读,即读到的数据为脏数据,因为有其他人正在修改)出现原因:修改数据的时候,同时可以读取数据;以用户A和B同时对一张银行卡进行存、取操作为例来说明。(2)不可重复读(重点突出在同一个事务中,前后两次读取时,读到的结果不一样)查询原因:读取数转载 2021-03-23 22:00:57 · 123 阅读 · 0 评论 -
数据库事务的ACID
目录1. 复习总结2. 参考资料1. 复习总结1、事务定义事务是代表一个或者一系列操作的最小逻辑单元,单元内的所有操作要么都成功、要么都失败,不存在中间状态。2、事务机制存在的目的(数据最终的一致性)就是无论我们的操作过程中是成功、失败、异常、或是受到干扰的情况下,事务都能保证我们数据最终的一致性。3、举一个事务的案例(转账)案例:转账(以下事务中包含3个逻辑操作)A账户余额有1000元,B账户余额0元,在这个基础上A向B转账400元,流程如下:1、查询A账户余额,看金额转载 2021-03-22 20:56:27 · 158 阅读 · 0 评论 -
在用户登陆功能中使用策略模式和模板模式
目录1. 概述2. 第一次重构3. 第2次重构,使用策略模式4. 第3次重构5. 参考资料1. 概述以用户登陆功能,来演示如何使用策略模式,来处理多种登陆方式(用户名+密码、手机号+验证码、指纹登陆等)策略模式遵循的原则:“对修改关闭,对扩展开放的”对登陆方式loginType作判断, 分别有不同的登陆方法来处登陆逻辑。 if(loginType==1){ //密码登录 result= loginServ...转载 2021-03-21 19:30:47 · 681 阅读 · 0 评论 -
什么是IOC,手写代码实现Spring IOC的功能
目录1. 学习笔记总结2. 参考资料1. 学习笔记总结1、IOC(inversion of control):控制反转 我们的对象创建都交给了IOC,程序员从new 对象中解放出来,消除了大量冗余的代码。 创建对象的工作交给了spring ioc。我们只需要通过xml或者注解,告诉spring我们要什么对象即可。2、依赖注入 将被属性注解注释了的属性,从 bean 容器中取出该属性对应的实例,并赋值3、手写spring ioc功能,流程 (1)在...原创 2021-03-17 19:29:48 · 191 阅读 · 0 评论 -
并发理论基础:指令重排序问题
目录一、学习总结二、参考资料一、学习总结1、指令重排(编译器、处理器重排)目的就是把CPU的资源利用起来,这样就能就能提升整个计计算机的效率,性能优化。重排的原则:在不改变单线程语义情况下(即不改变单线程执行程序的结果,也就是程序结果不会改变),允许对程序执行顺序重排。 即遵循as-if-serial。同一个方法中,没有语句依赖关系的程序,执行顺序可能会被重排 a=1; //1 b=2; //2 c=a+1; //3 因位b=2;没有上下文...转载 2021-03-16 14:20:33 · 322 阅读 · 0 评论 -
并发工具(锁):深入Synchronized
目录1. 学习总结2. 参考资料1. 学习总结1、sychronized产生《并发问题》的三个根源在于“缓存可见性问题”,“原子性问题”,“指令顺序性问题”,java并发包里的《并发工具》,也都是围绕着解决这3个问题的解决方案。解决并发问题常用的就是使用锁 synchronized ,他同时解决了上述3个问题。理论上来说关键字synchronized可以解决Java里所有的并发问题。理清锁和共享资源之间的关系加锁的对象是什么、锁和对象的关系加锁的对象和资源的关系多把锁保护同.转载 2021-03-15 22:48:57 · 113 阅读 · 0 评论 -
并发基础理论:缓存可见性问题、MESI协议、内存屏障
目录1. 学习总结2. 参考资料1. 学习总结缓存锁、利用缓存一致性实现,MESI代表数据的几种不同状态。cpu通知其他cpu共享变量为Invalid状态时,通知优化策略如下:(1)Store Bufferes:解决同步等待其他cpu响应的问题(2)Store Forward(存储转发):解决当前cpu再次从内测读取共享变量的问题(还未将缓存值刷新到内测)(3)失效队列:同步Invalid通知到其他cpu时,将invalid消息发送到失效队列内存屏障提供了一套解决CPU缓存优化原创 2021-03-15 21:26:02 · 170 阅读 · 0 评论 -
并发理论基础:并发问题产生的三大根源
程序并发面临的3大问题:可见性、原子性、有序性(指令优化、指令重排)原文地址:https://zhuanlan.zhihu.com/p/64988344转载 2021-03-15 16:37:16 · 456 阅读 · 0 评论