自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

原创 LayerNorm介绍

Layer Normalization (LayerNorm) 是一种归一化技术,常用于深度学习模型中,特别是在 Transformer 模型中。Layer normalization 是在特征维度上进行标准化的,而不是在数据批次维度上。

2024-08-27 16:11:51 1170

原创 记一次dubbo消费者注册失败找不到服务提供者问题

dubbo消费者找不到服务问题排查笔记

2022-11-29 14:09:24 4834

原创 Win10安装Linux--使用HyperV安装CentOS7

使用Hyper-V进行linux虚拟机安装

2022-08-23 15:56:29 751

原创 SpringBoot Mybatis-plus多数据源简单应用

引入依赖<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope></dependency><dependency> <groupId>com.baomidou</groupId>

2022-05-24 18:13:17 581 1

原创 记录下对游戏主机配置的个人理解与心得

闲来无事,划水一篇!!!开局吐槽开局先吐槽下现状!对硬件的爱好源于游戏,而不是工作!对硬件的了解更多是游戏驱动的!作为一个游戏爱好者,随着年龄的增长,游戏水平不增反减,曾经被朋友成为“大神”,经常被喊“求带”。如今游戏中经常被冠名“骂退九人”,“菜逼”、“老年痴呆”、“瞎子”等各种“虎狼之词”,实在有点力不从心呐,往往开局想着就爽一把睡觉,最后连跪、负战绩、或者FPS游戏扮演人体描边大师,越想着爆头,越打不中!连睡觉都是带着闷气的~如今已经渐渐远离初心,玩游戏不是开心,而是打发时间,很少和朋友开黑,

2022-04-12 18:19:49 4316

原创 Java线程池简介

多线程简介Cpu处理速度非常快,程序执行中很多时间cpu都在等待,因为硬件之间效率差异太大,内存比硬盘速度快很多,即便是内存,读写的过程对于cpu来说也是浪费时间。为了提高对硬件的使用效率,防止程序过多的等待io(如等待读取文件,等待写入文件,等待网络,等待数据库等)而浪费硬件性能,操作系统提供多线程的处理方式,可以同时处理多个任务,让硬件(尤其且主要是cpu)尽可能忙起来。比如A任务正在等待读取数据库,可以先处理B任务,没必要一次把A任务执行完再执行下一个任务,这样不仅浪费时间,也浪费硬件性能。多线程

2021-08-16 17:23:54 460

原创 SpringAOP学习--Spring事务简介及原理

文章目录事务简介编程式事务与声明式事务事务原理事务配置事务拦截器事务创建事务执行事务传播性传播性有哪些为什么需要传播性如何实现扩展事务隔离级别为什么需要隔离级别隔离级别有哪些事务挂起与同步事务挂起事务同步SpringBoot事务自动装配原理事务简介前篇介绍了SpringAOP,Spring事务是SpringAOP一个典型的应用。事务即数据库事务,指同一批次对数据的读写要么全成功,要么全失败,用以保证数据的一致性,是关系统数据库核心功能。编程中通过设置事务手动提交,然后根据情况选择提交事务或者回滚事务。

2021-06-11 12:43:28 1306 3

原创 SpringAOP学习--SpringAOP简介及原理

前文对AOP做了介绍,实际项目中,一般不会直接上手手动实现aop,而是使用一些高级封装的aop实现,如SpringAOP。Spring是一个广泛应用的框架,SpringAOP则是Spring提供的一个标准易用的aop框架,依托Spring的IOC容器,提供了极强的AOP扩展增强能力,对项目开发提供了极大地便利。前文提到AOP的实现有AspectJ、JDK动态代理、CGLIB动态代理,SpringAOP不是一种新的AOP实现,其底层采用的是JDK/CGLIB动态代理。JDK动态代理回顾上一篇简单介绍了

2021-05-15 09:31:56 63069 13

原创 SpringAOP学习--前言AOP简介

AOP简介AOP是一种思想,一种编程方式。编写一段代码在合适的时机找到切入点然后执行。不直接修改原来的代码,而是在原代码执行的前后执行一段额外的代码。这么做的好处有:1.解耦合,系统应求追高内聚低耦合,增强的逻辑独立存在,即插即用,不需要移除掉切点即可,对原有业务无影响(或影响极小)。2.符合开闭原则,对扩展开放,对修改关闭,不修改原有代码。改代码的代价有些时候比较大。3.代码复用,可以在不侵入当前代码的情况下复用代码或引入第三方功能从而扩展系统功能AOP之代理AOP是通过代理的方式实现的,由

2021-05-14 19:02:58 1912 1

原创 Mysql默认事务隔离级别及行锁

隔离级别回顾前文提到数据库事物的隔离级别,回顾下:1、READ-UNCOMMITTED -> 读未提交:没有任何保险措施,脏读、不可重复读,幻读,都有可能发生2、READ_COMMITTED -> 读提交:只能读取已提交的数据,不会发生脏读3、REPEATABLE_READ -> 可重复读:不会发生脏读和不可重复读,存在幻读4、SERIALIZABLE -> 串行化:如果串行化执行,一个个排队执行,就不会存在数据混乱不一致的问题,但是代价就是效率低。mysql innoD

2021-03-25 17:31:32 977

原创 JDBC回顾

JDBC介绍百度百科:Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。个人理解:没有JDBC:因为各个数据库软件都是自成体系,对外提供服务时没有统一标准,不像http接口,因为http协议的存在及约束,对接一个新接口非常方便。且数据库连接本身也非常复杂,当我们需要连接不同数据库时,自己手写连接不现实,使用数据库厂商提供的工具连接自然可以,但开发限制较大,不

2021-03-12 14:37:49 301

原创 记一次SpringBoot ActiveProfiles不生效问题处理--SpringBoot设置spring.profiles.active

问题描述项目中在使用架构组封装的cacheCloud时发现一个问题,cacheCloud对于指定spring.profiles.active不生效,读取的cacheCloud相关配置始终是application.properties中配置的spring.profiles.active对应的配置文件。问题分析项目中配置application.propertiesapplication-dev.propertiesapplication-prod.propertiesapplication-tes

2021-01-07 19:00:47 11818 3

原创 SpringBoot(四) SpringBootBean扫描介入及自动装配

这里开始分析SpringBoot如何让spring扫描并自动装配。BeanDefition这里需要提到Spring一个重要知识点—BeanDefition。Spring实例化bean是一个复杂的过程,不仅仅金是new出实例,Bean有很多属性例如作用域、懒加载、别名等。Spring通过BeanDefition记录bean构造时的属性值、构造函数参数值以及具体实现提供的进一步信息。核心-SpringBoot扫描beanSpring 启动过程首先扫描获取所有BeanDefition,放入一个map中,然

2020-12-31 15:32:30 1877 1

原创 SpringBoot(三) 启动过程扩展知识点

下面扩展下上文步骤涉及的一些功能点Context、Listener、BeanPostProcesser分析Context上下文是啥?Spring最核心的功能是IOC容器,BeanFactory是一个顶级接口,只提供基础功能。ApplicationContext(也是接口)继承自BeanFactory,同时增加了很多接口用于扩展功能如事件监听、加载文件资源、国际化等。上下文一般指ApplicationContext的实现以及其派生实现,用以支持更多扩展功能,使spring的bean工厂越来越强大。L

2020-12-30 17:11:47 263

原创 SpringBoot(二) 启动过程

上一篇介绍了SpringBoot,本篇开始分析SpringBoot,从启动过程分析,中间穿插Spring一些重要的知识点,一起来看看SpringBoot的神奇与强大是如何实现的。SpringBoot项目创建后,会自动生成一个启动类,这是一个包含main方法的启动类。package cn.nec.test;import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;

2020-12-30 17:10:35 200

原创 SpringBoot(一) SpringBoot简介

Springboot相对于spring项目及springmvc项目,使用方便了许多。Spring回顾Spring最初使用时,仅支持xml配置bean,所有bean定义在xml中,调用处使用接口,而不是直接new出对象,做到了代码解耦合,对象间相互调用使用接口,对象的实例化交给程序本身,通过配置动态创建而不是代码中写死A a=new A()…。Spring创建的对象默认都是静态的,不是每次调用都创建,而是启动时一把初始化好,放在一个map中,视为一个bean容器,bean的依赖也在这一阶段处理,启动完成

2020-12-08 19:53:16 426

原创 Java反射影响程序执行效率吗

真的影响!!!什么是反射回忆下初学java时的场景:一切皆对象!new出对象后,直接用对象点方法执行,完成一次调用!(当然也可以用类直接点方法,执行静态方法)直到学习了jdbc,第一步就是Class.forName(String className).当时老师说,这是为了加载驱动0.0,如果不执行这一句直接获取jdbc连接,会报找不到类(后来的版本改为自动加载,不需要显示的调用Class.forName了)。这里就用到了反射。那么反射到底是什么?有反就有正,正常情况是:已知一个类,可以通过类名调用

2020-09-28 14:58:13 1141 1

原创 SpringBoot使用Consul注册服务

引入依赖springBoot版本 : 2.0.3.RELEASE<properties> <java.version>1.8</java.version> <spring-cloud.version>Finchley.SR1</spring-cloud.version></properties><dependency> <groupId>org.springframework.

2020-09-08 14:51:34 4776

原创 windows上传linux文件中文名乱码处理

windows下编辑的文件上传linux后可能出现中文文件名乱码,可以尝试将中文文件名由gbk转化为utf-8进入文件目录后:convmv --notest --nosmart -f gbk -t utf8 -r .不识别convmv时先安装:yum -y install convmv

2020-08-25 15:53:18 544

原创 linux jenkins 离线安装

jenkins如果在没有外网的机器上如何安装?jenkins离线安装指服务器没有外网访问权限时,只能预先下载好所需要的各种包上传服务器后进行安装。所需的最简配置大致如下:1.jenkins war包2.jdk安装包3.maven安装包4.git安装包5.jenkins插件5.1.maven-plugins:3.65.2.publish-over-ssh:1.20.15.3.bouncycastle-api:2.185.3.git:4.2.2以上基本可以搭建一个构建java maven

2020-08-21 10:32:32 1128

原创 Java加密及签名介绍

应用间通常通过接口进行数据交互,数据交互即会涉及到数据安全传输,而确保数据交互安全手段有很多,今天主要聊聊数据加密。加密算法对外的接口一般为http接口,为了确保数据不被他人截获甚至篡改,最简单的方式就是对数据进行加密,接收方收到密文后解密然后进行后续处理。这里进行的加密方式有两种:对称加密和非对称加密。对称加密即加密解密使用同一个秘钥,通信的双方共同持有一个秘钥通信(当前主流的算法是AES)。特点:1.秘钥长度固定,加密解密效率较高。2.被破解的概率小,提供iv向量增加破解难度,一般加密明文

2020-07-15 14:22:29 602

原创 mybatis缓存之二级缓存

二级缓存以mapper为单位进行数据缓存开启缓存分两步1.开启mybatis缓存 -> mybatis.configuration.cache-enabled=true2.开启mapper缓存 -> mapper上加注解@CacheNamespace二级缓存在事务提交时才真正缓存,查询时只会在事务缓存器TransactionalCache中记录entriesToAddOnCommit,这是一个map结构,用于提交事务使用这个map转为缓存。同一事务中,由于事务未提交,无法触发缓存操作,

2020-07-15 13:15:16 205

原创 Spring 循环依赖及三级缓存

Spring在启动过程中,使用到了三个map,称为三级缓存。Spring启动过程大致如下:1.加载配置文件2.解析配置文件转化beanDefination,获取到bean的所有属性、依赖及初始化用到的各类处理器等3.创建beanFactory并初始化所有单例bean4.注册所有的单例bean并返回可用的容器,一般为扩展的applicationContext一级缓存在第三步中,所有单例的bean初始化完成后会存放在一个Map(singletonObjects)中,beanName为key,单例

2020-07-15 10:16:58 60608 71

原创 使用Jenkins发布Java maven应用

作为一名java开发,目前基本都是windows上开发应用,linux上部署发布应用。关于发布,一般都是本地手动打包,使用ftp工具上传linux服务器,然后使用命令行启动应用。对于频繁发布的情况,手动发布会浪费大量时间,而且手动打包针对不同环境(dev,sit,uat,pro)容易造成配置文件搞错导致发布出问题,其中带来的负面影响可能更大。而且针对大型的分布式系统,此问题尤为突出,每日新提交的代码本就可能导致系统异常,再因为发布问题,则版本的质量和稳定性都将难以控制。持续集成就可以解决上述描述的问题,

2020-05-28 17:51:00 345

原创 Spring @Autowired和@Resource

@Autowired和@Resource有什么区别1.spring在创建bean之后 开始进行bean的初始化工作,遍历所有的processors,找出InstantiationAwareBeanPostProcessor类型的processor进行bean的后处理。[AbstractAutowireCapableBeanFactory.populateBean]2.其中:Autowired对应的processor是AutowiredAnnotationBeanPostProcessorResour

2020-05-15 18:14:08 717

原创 mybatis缓存之一级缓存

mybatis一级缓存缓存分一级二级一级缓存为sqlSession级缓存二级缓存为sqlSessionFactory级缓存二级缓存先不细究,分析下一级缓存,什么是sqlSession级缓存呢?mybatis查询过程简述mybatis执行查询的过程为:1.获取sqlSessionFactory,此bean项目启动时由spring创建并初始化?(待进一步确认)SqlSessionFactory sqlSessionFactory = getSession();2.打开一个会话,即sqlSess

2020-05-15 17:59:57 447

原创 mybatis plus动态数据源切换及查询过程浅析

mybatis plus多数据源切换mybatis plus多数据源切换使用注解 @DSDS注解作为多数据源切点,具体实现作用主要由两个类完成DynamicDataSourceAnnotationAdvisorDynamicDataSourceAnnotationInterceptorDS多数据源切换实现1.DynamicDataSourceAnnotationAdvisor类实现切面配置,其中AnnotationMatchingPointcut用于寻找切点,进入可看到支持类和方法的切点,多个切

2020-05-15 17:50:55 5829 1

jdk1.8linux

jdk1.8linux

2022-11-24

cross-request3.0插件

cross-request3.0插件

2022-11-16

大文件上传及合并demo(不包含前端代码)

纯后端代码,文件分片上传合并处理,分片使用数据库保存,增加扩展处理接口,可用于在上传文件前后进行增强处理

2021-10-14

空空如也

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

TA关注的人

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