- 博客(43)
- 问答 (1)
- 收藏
- 关注
原创 SQL记录学习日志
DROP TABLE IF EXISTS:在删除之前检查表是否存在。TRUNCATE TABLE:删除所有数据,但保留表的结构。DELETE:删除表中的所有数据,但保留表的结构和约束。DROP TABLE:彻底删除表和其数据,无法恢复。
2025-01-22 19:32:43
317
原创 Java项目配置不同数据库链接差异
由于部署服务器限制或甲方需求,在项目最后交付环境可能会有要使用不同数据库的情况,为方便代码维护要做到代码的最小化改动。最优是不改变代码的情况下进行数据库的配置,(可能也会出现由于数据库的差异,一些sql语法也要修改)
2025-01-19 17:27:52
141
原创 util层注入service
在 Java 或 Spring 框架中,util 层通常用于存放工具类或辅助类,而 service 层则通常包含核心业务逻辑。在一些情况下,可能需要将 service 层注入到 util 层中,以便在工具类中调用某些业务逻辑。虽然这种做法并不是最常见的设计模式,但可以通过一些技巧来实现。通过 ApplicationContext 获取如果你坚持不想改变 Util 类的结构(例如保留静态方法),你可以通过 Spring 的 ApplicationContext 动态获取 Service 实例。
2025-01-14 14:17:27
349
原创 javaBC库冲突问题
在之前的代码中,如果 Bouncy Castle 提供者已经以别名 “BC” 被添加到 Java 安全提供者列表中,这一行会确保它被移除。这样做的目的是为了确保你使用的是最新版本的提供者,或者避免重复添加。BouncyCastleProvider 类位于 Bouncy Castle 库中,你使用的导入路径(com.sharesun.org.bouncycastle)似乎是一个自定义的命名空间或 Bouncy Castle 提供者的特殊版本。如果你在受限环境下工作,请确保你的应用程序具有适当的权限。
2025-01-07 16:45:02
339
原创 java基础--多线程
是为完成特定任务,用某种语言编程的一组指令的集合,是一段静态的代码(程序是静态的)创建子线程的对象,执行任务。执行任务,不是调用方法名,而是start();重写call(有返回值的 表示多线程的运行结果)自己定义一个类实现Runnable接口。自己定义一个类实现Callable接口。创建Thread类的对象,并开启线程。创建thread类对象 并启动。创建futuretask的对象。重写里面的run方法。
2024-07-02 15:07:41
229
原创 SSL证书简单理解
SSL证书(SSL Certificates)是HTTP明文协议升级HTTPS加密协议必备的数字证书。它在客户端(浏览器)与服务端(网站服务器)之间搭建一条安全的加密通道,对两者之间交换的信息进行加密,确保传输数据不被泄露或篡改。
2024-06-05 09:09:50
553
原创 Vue学习
配置项computed(计算属性) 底层的Objcet.deginepropert中的set和get。在页面中 {{data里的属性名}}要先在data中定义属性。
2023-10-29 22:34:50
119
原创 开发中的遇到的问题=====文档整理
接口的中的业务处理时间过长,需要先将返回值返回,业务逻辑慢慢处理。还需要有个回调的接口,对接口的返回结果进行验证。
2023-05-21 12:06:52
210
原创 eclipse可以start模式可以启动项目但debug模式不能启动
去掉所有断点即可解决问题。原因可能eclipse和tomcat的交互而产生的,在以debug模式启动tomcat时,发生了读取文件错误,eclipse自动设置了断点,导致tomcat不能正常启动。解决方法如下:以debug模式启动tomcat,打开breakpoints veiw,右键-> Remove all,重启下tomcat就OK了。
2023-04-05 21:38:17
704
原创 前端学习处理笔记
利用for循环,在前端将获取到的list数据按照其中一个字段进行分类进行。之后再用不同的数组进行渲染。限制显示的数据为25个字符。
2022-12-11 22:57:17
205
原创 Android studio----------(2)布局
linelayoutorientatipn布局中组件的排列方式gravity控制组件所包含的子元素的对齐方式,可多个组合layout_gravity控制该组件在父容器里的对其方式background为该组件设置一个背景图片,或者是直接用颜色覆盖divider 分割线showDividers 设置分割线所在的位置,none(无), beginning(开始),end(结束),middle(每两个组件间)dividerPadding设置分割线的 paddinglayout_weight(权重)
2022-05-30 08:00:49
1033
原创 Android Studio---------------(1)基本组件
基础属性:layout_width:组件的宽度layout_height:组件的高度id:为TextView设置一个组件idtext设置显示的文本内容textColor:设置字体颜色textStyle设置字体风格,三个可选值:normal(无效果),bold(加粗),,italic(斜体)textSize:字体大小,单位一般是用spbackground:控件的背景颜色,可以理解为填充整个控件的颜色,可以是图片gravity:设置控件中内容的对齐方向,TextView中是文字,Ilmage
2022-05-30 00:02:58
1361
原创 浅学-------23种设计模式---七大原则&单例模式
设计模式的七大原则低耦合高内聚 ,更高的扩展性。 可扩展性 代码重用性 可读性 可靠性单一职责原则一个类应该只负责一个职责。单一职责原则注意事项和细节1)降低类的复杂度,一个类只负责一项职责。2)提高类的可读性,可维护性3)降低变更引起的风险4)通常情况下,我们应当遵守单一职责原则,只有逻辑足够简单,才可以在代码级违反单一职责原则;只有类中方法数量足够少,可以在方法级别保持单一职责原则接口隔离原则一个类对另一个类的依赖应建立在最小的接口上。...
2022-03-29 18:06:50
156
原创 SpringCloud============sentinel流量防卫兵
1. 为什么需要sentinel随着微服务的流行,服务和服务之间的稳定性变得越来越重要。在分布式系统里,许多服务之间通过远程调用实现信息交互,调用时不可避免会出现调用失败,比如超时、异常等原因导致调用失败,Sentinel能够保证在一个服务出问题的情况下,不会导致整体服务失败,避免级联故障(服务雪崩),以提高分布式系统的弹性。比如电商中的用户下订单,我们有两个服务,一个下订单服务,一个查询商品服务,当用户下订单时调用下订单服务,然后下订单服务又调用查询商品服务,如果查询商品服务响应延迟或者没有响应,则会
2022-03-21 22:08:23
282
原创 Mysql高级
索引对与大量的数据,我们需要快速查询出来。 就需要为了提高mysql查询效率的一种数据结构。2. 索引的优点和缺点:优点: 查询效率快。 缺点: 索引本身也是一个表页需要占用空间。不适合更新操作。3. 索引的数据结构: b+tree和hash表。4. b+tree的特点:根节点的最大值是B+tree的最大值。中间节点不存在卫星数据。可以存储更多的元素。使得b+tree更矮胖。减少了io的次数所有卫星数据都存放在叶子节点,查询稳定性高。叶子节点用链表连接 便于范围查询。5. 聚焦索引和
2022-03-21 22:07:30
448
原创 SpringCloud========链路追踪&Nacos服务配置
链路追踪分布式链路追踪(Distributed Tracing),就是将一次分布式请求还原成调用链路,进行日志记录,性能监控并将一次分布式请求的调用情况集中展示。比如各个服务节点上的耗时、请求具体到达哪台机器上IP、每个服务节点的请求状态200 500等等。Sleuth (日志记录每一条链路上的所有节点,以及这些节点所在的机器,和耗时。)log4j SpringCloud 提供的分布式系统中链路追踪解决方案。由一组Trace Id(贯穿整个链路)相同的Span串联形成一个树状结构。为了实现请求
2022-03-03 20:40:31
515
原创 SpringCloud框架(1)---------------系统框架演变
什么是SpringCloudSpring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。API网关(API Gatew
2022-02-28 20:32:18
173
原创 RabbitMQ(2)-------------消息传递
消息可靠性投递在使用 RabbitMQ 的时候,作为消息发送方希望杜绝任何消息丢失或者投递失败场景。RabbitMQ 为我们提供了两种方式用来控制消息的投递可靠性模式。消息投递步骤:1.生产者(channel)---->交换机------>队列中。为了确保消息的可靠性投递,提供了如下两种方式confirm 确认模式return 退回模式(1)确认模式必须开启确认模式spring: rabbitmq: host: 192.168.213.188 #开
2022-02-25 19:41:14
104
原创 RabbitMQ消息中间件
工作原理Broker:接收和分发消息的应用,RabbitMQ Server就是Message Broker**Virtual host:**出于多租户和安全因素设计的,把 AMQP 的基本组件划分到一个虚拟的分组中,类似于网络中的namespace概念。当多个不同的用户使用同一个RabbitMQ server提供的服务时,可以划分出多个vhost,每个用户在自己的vhost创建exchange / queue等Connection: publisher / consumer和broker之间的T
2022-02-25 09:34:51
1980
原创 Springsecurity-thymeleaf整合
@RestController &@Controller@RestController注解相当于@ResponseBody + @Controller合在一起的作用。如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。如果需要返回到指定页面,则需要用 @Controller配合视图解析器
2022-02-21 21:30:44
312
原创 SpringSecurity安全框架
遇见的错误Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.all
2022-02-18 21:00:30
3545
原创 redis集群的搭建三种模式
三种搭建模式:(1)主从模式 (2) 哨兵模式(3)集群模式。主从关系模式配从不配主的原则1.在一台虚拟机服务器上启动三个不同端口的redis服务log: 6380 6381 63822.查看当前服务的主从关系 info replication3.在想设置从节点的服务上进行操作slaveof host [主节点的ip] port[主节点的端口号]主节点能否进行读操作?可以从节点能否进行写操作?不能进行写操作。如果主节点挂了,哪个从节点上位,还是等着主节点回来?等待主节点
2022-02-16 10:11:26
609
原创 Linux---------Redis命令
Hash哈希类型1.为哈希表中的字段赋值 。hset key1 f1 v1**返回值 : **如果字段是哈希表中的一个新建字段,并且值设置成功,返回 1 。 如果哈希表中域字段已经存在且旧值已被新值覆盖,返回 0 。2. Hmset 命令用于同时将多个 field-value (字段-值)对设置到哈希表中。此命令会覆盖哈希表中已存在的字段。如果哈希表不存在,会创建一个空哈希表,并执行 HMSET 操作。3.hget 用于返回哈希表中指定字段的值。返回值: 返回给定字段的值。如果给定的字段或
2022-02-15 20:58:44
2975
原创 浅旋Nginx
Nginx高可用1.要启动两个Linux虚拟机(Nginx和keepalived)2.修改keepalived文件global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc //ip地址 smtp_ server 192.16
2022-02-14 19:58:08
883
原创 Springboot复习
功能上实现了登录和查询全部1.所需依赖Lombok spring boot SQL等 <dependencies> <dependency> <!--引入mp依赖 用于数据库的连接--> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifac
2022-02-11 20:17:20
168
原创 面试题整理-------------(1)
1.分布式锁在项目中的使用使用分布式锁的场景一般需要满足以下场景:1.系统是一个分布式系统,集群集群,java的锁已经锁不住了。⒉.操作共享资源,比如库里唯一的用户数据。3.同步访问,即多个进程同时操作共享资源。2. 分布锁有哪些解决方案?1.Reids的分布式锁,很多大公司会基于Reidis做扩展开发。setnx key value ex 10s,Redisson。watch dog.2.基于Zookeeper。临时节点,顺序节点。3.基于数据库,比如Mysql。主键或唯—索引的唯一性。
2022-02-02 21:36:23
3300
原创 Linux常用命令
常见的命令。cd: 目录切换{change directory}cd /相关目录名称cd ../ 回到上一级目录ls: 查询当前目录下所有的文件。ls -a 查询指定目录下所有的文件包含隐藏文件。ls -l 查询指定目录下所有文件的详细信息 简化版: llpwd: 查询当前所在的目录。mkdir: 创建文件夹。mkdir 文件夹名;mkdir -p 多层目录: touch 创建文件touch 文件名rm 删除文件或目录1、rm -f 文件名 强制删除指定目录。2. r
2022-01-06 10:45:19
600
原创 JDK1.8新特性---------lambda
1. Lambda表达式1.1 概念Lambda表达式: 特殊的匿名内部类,语法更加简洁 .是JDK1.8中的新特性.Lambda表达式允许把函数作为一个方法的参数(函数作为方法参数传递),将代码像数据一样传递.1.2 需求1、开启一个线程。并执行一个Runnable类型的任务。public class Test01 { public static void main(String[] args) { //匿名内部类 Runnable tast1=ne
2021-12-22 21:15:13
124
原创 Java泛型&注解
泛型1. 什么是泛型? **泛型**:类在定义时不为类中的属性,方法[返回值,参数]设置数据类型。在创建该类的对象时为其指定相应的数据类型。2. 为什么要使用泛型?解决数据类型一致性的安全问题。使用泛型。消除强制类型转换。泛型的一个附带好处是,消除源代码中的许多强制类型转换。这使得代码更加可读,并且减少了出错机会。潜在的性能收益。 泛型为较大的优化带来可能。在泛型的初始实现中,编译器将强制类型转换(没有泛型的话,程序员会指定这些强制类型转换)插入生成的字节码中。但是更多类型信息可用于编译
2021-12-20 20:38:20
1905
原创 多线程-----线程安全
如何保证线程安全(1) 使用同步代码块(2) 使用同步方法。线程安全类:(1) Hashtable (2) StringBuffer (3)VectorHashtable和hashmap得区别?
2021-12-16 21:31:47
571
原创 多线程----------线程的五种状态
新建状态:使用 new 关键字和 Thread 类或其子类建立一个线程对象后,该线程对象就处于新建状态。它保持这个状态直到程序 start() 这个线程。就绪状态:当线程对象调用了start()方法之后,该线程就进入就绪状态。就绪状态的线程处于就绪队列中,要等待JVM里线程调度器的调度。运行状态:如果就绪状态的线程获取 CPU 资源,就可以执行 run(),此时线程便处于运行状态。处于运行状态的线程最为复杂,它可以变为阻塞状态、就绪状态和死亡状态。阻塞状态:如果一个线程执行了sleep(睡眠)
2021-12-16 21:01:28
105
转载 lombok
JDK版本问题当我想要将现有项目的JDK从Java 8升级到Java 11时,我发现Lombok不能正常工作了。于是我不得不将所有的Lombok注解从项目源代码中清除,并使用IDE自带的功能生成getter/setter,equals,hashCode,toString以及构造器等方法,你也可以使用Delombok工具完成这一过程。但这终究会消耗你很多的时间。胁迫使用当你的源代码中使用了Lombok,恰好你的代码又被其他的人所使用,那么依赖你代码的人,也必须安装Lombok插件(不管他们喜不喜..
2021-12-13 08:51:55
131
原创 SSM框架整合中遇到的错误
报错16-Nov-2021 17:15:56.826 严重 [Druid-ConnectionPool-Create-1874298737] com.alibaba.druid.support.logging.JakartaCommonsLoggingImpl.error create connection SQLException, url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=Asia/Shanghai, errorCode 1045,
2021-11-17 00:08:17
200
空空如也
以下@test异常怎么处理?
2021-03-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人