自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 微服务-rabbitmq

使用RabbitListener作用于类上,再使用RabbitHandler指定作用的方法。如果需要接收消息需要加上@RabbitListener注解=====>类+方法。direct和headers是jms中定义的点对点类型的。4369, 25672 (Erlang发现&集群端口)除此之外使用这种方法可以使用重载接收不同类型的对象。或者@RabbitHandler======>方法。61613, 61614 (STOMP协议端口)1883, 8883 (MQTT协议端口)点进需要发布消息的交换机。

2023-07-18 11:36:01 249

原创 微服务----es

插入两组数据,POST customer/external/_bulk表示批量插入;_id指定唯一标识,第二行为插入的数据;-e ES_JAVA_OPTS=“-Xms64m -Xmx256m” \ 测试环境下,设置 ES 的初始内存和最大内存,否则导致过大启动不了 ES。Mapping 是用来定义一个文档(document),以及它所包含的属性(field)是如何存储和。POST 操作会对比源文档数据,如果相同不会有什么操作,文档 version 不增加。文档中的所有属性是否都能被索引(_all 配置)。

2023-06-19 16:49:46 161

原创 JSR303校验

自定义返回的校验失败信息@NotBlank(message = "品牌名不能为空") private String name;自定义返回结果@PostMapping("/save") public Result addBrand(@Valid @RequestBody Brand brand , BindingResult result //校验结果) {});} else {

2023-06-11 22:58:47 88

原创 nginx的使用

假设已经得到vue打包好的dist文件夹,将dist目录cp到。2、拷贝nginx容器对应的文件默认配置。1、本地创建文件目录。

2023-04-30 19:34:20 82

原创 【搭建聊天机器人一搭建python环境和使用NLTK】

一元标注指的是只考虑当前这个词,不考虑上下文。二元标注器指的是考虑它前面的词的标注,用法只需要把上面的UnigramTagger换成BigramTagger。想将在Docker容器中使用pip安装的Python软件包保存到本地,则需要挂载容器中的“/root/.cache/pip”目录到本地的一个目录中。找出最频繁的n个词以及它的词性,然后用这个信息去查找语料库,匹配的就标记上,剩余的词使用默认标注器(回退)。比如经过分析,所有中文语料里的词是名词的概率是13%最大,那么我们的默认标注器就全部标注为名词。

2023-04-06 22:10:00 242

原创 Linux上mysql配置以及docker启动mysql

如果将该文件与mysql镜像产生的容器的/var/lib/mysql(容器中数据库存储文件)关联,而服务器中mysql是一直启动,如果直接使用/var/lib/mysql来关联docker容器的/var/lib/mysql,会报错。链接:https://pan.baidu.com/s/1Ws0ToDCKrtN8rjtmBy4aNQ。链接:https://pan.baidu.com/s/1YIQdyCGcIascgNoEdRZ3Bw。在/mydata/mysql/conf新建文件my.cnf。

2022-11-28 11:57:01 880

原创 多模块的搭建以及使用mybayisx插件逆向工程

在实际项目中由于数据库表的数量很多导致需要写的mybatis-mapping.xml文件以及mapper层,pojo层很多且都是一些没有技术含量的体力活,我们就需要使用逆向工程来帮助我们自动生成dao层的代码。子工程的parent标签不是指定父工程的坐标,而且引入之后 必须要在夫工程的model标签引入子工程所在的model。用来指定自己管理的子工程所在的模块,而且需要在子工程的pom文件的parent标签引入自己的坐标。并且由于新版目前用的人很少,出现一些问题难以在网上找到答案,建议使用旧一点的版本。

2022-11-27 15:37:47 1280

原创 Docker快速上手

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。示例:将以下命令写到Dockerfile文件。

2022-11-22 22:41:38 121

原创 spring cloud组件快速入门

微服务是分布式项目的一种实现,分布式项目是相对于单体项目将每个不同功能的模块作为一个单体项目,在微服务中为了保持每个模块干他应该干的,为了避免单体项目思维,应将每一个模块连接对应的数据库在微服务中每个服务的业务就是一个单体项目,像在springcloud中每一个服务都是之前那种springboot编写的单体项目引入依赖

2022-11-21 20:40:43 210

原创 redis单体项目中实现秒杀以及一人一单

这时既可以保证线程安全也可以保证效率,因为不同的用户请求要执行该操作synchronized锁的不是同一个对象,这样可以保证效率高,而同一个用户请求同一时间来执行时只有一个请求能执行下面操作,操作完成后用户信息已经被修改为已抢到用户就可以保证线程安全。这个程序是执行再某个线程执行sql语句时保证数据库中优惠卷剩余的库存和之前自己查到的相同,即在执行该线程到执行完sql之前没有被其他线程插队。这也是线程不安全的,当将要执行将用户信息修改为抢到过优惠卷的用户时,进行判断就会线程不安全。虽然线程安全但是效率低。

2022-11-11 21:53:23 350

原创 redis生产问题

缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓永远不会生效,这些请求都会打到数据库这就会导致一些后果比如:某个黑客故意制造我们缓存中不存在的 key 发起大量请求,导致大量请求落到数据库。可能将数据库搞崩。

2022-11-10 20:08:10 206

原创 redis缓存更新

主动更新策略Cache Aside Pattern(路旁缓存模式) 缓存调用者在更新数据库的同时更新缓存1操作缓存和数据库时有三个问题要考虑:删除缓存还是更新缓存更新缓存:每次更新数据库都更新缓存,无效写操作过多(即应用一直都执行写操作而不执行读操作)删除缓存:更新数据库时让缓存失效,查询时再更新缓存(推荐使用)

2022-11-10 16:08:19 417

原创 idea连接不到服务器上的redis

​解决服务器上redis连接问题

2022-11-08 18:42:48 1334

原创 Redis一基本数据类型和命令

Reids是一个键值数据库,key一般是String类型,但是value的类型多种多样。Hash类型其value是一个无序字典,类似于java中的HashMap。查看符合模板的所有key,效率较低,不建议在生产环境设备上使用。其value是字符串,不过根据字符串的格式分为。String类型是Redis最简单的存储类型。产看存在几个要查看是否存在的key。查看redis数据类型常用的命令。查看一个key的剩余存在时间。指定一个key的存在时间。

2022-11-06 19:22:56 141

原创 MySQL约束

约束(constraint)约束是在创建表的时候我们可以给表中的字段加上一些约束来保证表中数据的完整性和有效性。

2022-11-05 19:49:00 135

原创 多线程七线程池

AbortPolicy直接丢弃任务,并抛出RejectedExecutionException异常。池化技术:事先准备好一些资源,有人要用就来这里来取,用完之后返还。阿里开发手册上强制要求使用ThreadPoolExecutor。程序的运行会占用系统的资源,为了优化资源的使用=>池化技术。DiscardOldestPolicy尝试和最早的竞争。DiscardPolicy直接丢弃任务,不抛出异常。CallerRunsPolicy哪来到哪去。比如:线程池,连接池,内存池…

2022-11-05 16:56:22 65 1

原创 多线程六阻塞队列

写入队列时:如果队列满了,就必须阻塞等待从队列取时:如果队列是空的,就必须阻塞。

2022-11-05 15:10:20 57

原创 多线程五lock的使用

Lock锁,可以得到和 synchronized一样的效果,即实现原子性、有序性和可见性。相较于synchronized,Lock锁可手动获取锁和释放锁、可中断的获取锁、超时获取锁。Lock 是一。

2022-11-04 21:38:37 87

原创 多线程四immutable模式

immutable就是不变的,不发生改变的意思。我们之前之所以存在多线程安全问题是因为多个线程共用一个共享数据,并且某些线程会对该数据进行修改操作。immutable模式中存在着确保实例状态不发生改变的类。在访问这些实例时并不需要执行耗时的同步代码,因此如能使用该模式,定能提高程序的性能。

2022-11-03 19:17:44 151

原创 多线程三辅助工具类

允许一个或多个线程等待直到在其他线程中执行的一组操作完成的同步辅助类。当计数器无法达到要求的数量,程序一直等待,当不会影响下面的程序运行。当线程数大于计数器的计数。

2022-11-03 15:02:32 121 1

原创 spring学习二

spring依赖注入

2022-11-02 15:13:15 36

原创 多线程二常用方法

void setPriority(int new Priority) 设置线程的优先级。作用:让当前线程进入休眠,进入阻塞状态,放弃占有CPU时间片,让给其他线程使用。这行代码出现在A线程中,A线程就会进入休眠,出现在B线程,B线程就会进入休眠。sleep睡眠太久,如果希望半道上醒来,也就是怎么叫醒一个正在睡眠的线程。生产满了就不能消费就必须消费线程消费,消费完了就必须让生产线程进行生产。不是阻塞方法,让当前线程让位,让当前线程从运行状态进入就绪状态。暂停当前正在执行的线程对象,并执行其他线程。

2022-11-01 22:05:59 48

原创 BigDecimal的使用

为什么会有误差呢,因为计算机底层存储数据都是用二进制存储的当存储整数的时候不会造成精度损失,但是当存储小数的时候他会一直乘二直到最后结果为0,当我们用double来存储上面两个数的时候就会截取一部分因为double存储的小数位数有限,如果直接输出,展示之类的操作的时候是没有太大问题但是一旦进行运算就会让误差变大.向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向上舍入。向零方向舍入的舍入模式。

2022-11-01 17:07:05 716 1

原创 泛型机制初探

sout(o);//创建对象的时候指定了泛型是String类型 GenericTest < String > gt = new GenericTest < >();//类型不匹配 //gt.doSome(100);//返回值类型不匹配 //int i=mi.get();} }

2022-10-31 12:53:18 50

原创 spring学习一

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

2022-10-30 18:07:10 42

原创 注解初步理解

用来标注注解类型的注解称为元注解。

2022-10-30 14:28:29 110

原创 Java反射初步理解

反射可以操作已经编译的java文件(即class文件),它赋予了我们在运行时分析类以及执行类中方法的能力。通过反射你可以获取任意一个类的所有属性和方法,你还可以调用这些方法和属性。优点:使代码更灵活,比如可以在运行时分析类以及执行类中方法缺点:使程序不安全,比如无视编译阶段的泛型参数检测 ,且性能更低。

2022-10-29 20:09:43 127 1

原创 Java多线程一

会形成这样结果的原因是:假如t1先执行这个方法,t1就会得到然后占有这把锁,执行同步代码块中的程序,并且是一直占有这把锁,直到同步代码块结束,才释放这把锁.当t1占有这把锁的时候t2来执行这个方法,也会遇到synchronized,就去占有这把锁,但是现在锁被t1占有,t2只能等t1执行完释放锁的时候得到这把锁。线程就是一个进程中的执行单元,一个进程中能产生多个线程.但是同一个进程中的这些线程共享进程中的堆和方法区资源,但每个线程自己的栈和程序计数器不共享,所以进程之间切换工作负担要比进程小。

2022-10-28 20:57:42 286 1

原创 JavaIO知识简述

IO即input(输入)/output(输出),input就是将数据加载到计算机内存,output就是将数据加载到文件,数据库等设备中.IO流主要包含-字节流字符流输入流Reader输出流Writer。

2022-10-28 15:02:55 263

原创 Java集合简单概述

Map:使用键值对存储,Key是无序的,不可重复的,Value是无序的,可重复的,如同数学上的函数y=f(x),x是相当于key不可重复的,y相当于value可重复的。ArrayList:底层使用Object[]存储,适合用于频繁的查找,线程不安全。HashMap,线程不安全,基于HashTable实现。存储的数据是有序的,可重复的(先进先出)treeMap,基于红黑树实现,线程不安全。List:存储的元素是有序的,可重复的。Set:存储的元素是无序的,不可重复的。TreeSet底层是红黑树,元素有序。

2022-10-27 15:28:45 331

原创 Java中copy一维数组以及其他数据结构转换为数组

Java中copy一维数组以及其他数据结构转换为数组

2022-10-26 16:26:36 223

原创 枚举的使用

我看过几个关于枚举博客和视频,他们说枚举比静态常量的可扩展行更强,但是我认为静态常量的类型又不是只是固定的int,double....也可以使用自定义类型来扩展, 所以我虽然认同枚举安全性更高但是扩展行是否强,我不敢苟同,如果有不同的看法欢迎在评论区讨论。我学了javase之后,感觉学的最没用的就是枚举,这玩意感觉就用不上,但是最近使用springsecurity做项目的时候使用官方给的枚举第一次感受到这玩意用起来多舒畅,这与枚举的调用的时候相似(你最多传递个null)这是官方提供的状态码的枚举。

2022-10-24 15:31:10 397

原创 数据库关系以及各种关系下如何设计数据库

这两张表都是对同一个用户,一个用户提交给平台的信息一定是一一对应着,但是明明都是同一个用户的还这样设计表,尽管这样使每一个表的字段数量减少但也会因为增加表的数量使表的关系变得很乱,当设计一个简单表关系时这样也许不会怎样,但是表的数量一增加,表与表之间的关系就变得更加重要。他们之间会有复杂的关系,要表示他们之间的关系不能只使用两张表,因为如果user表中一个字段专门表示身份的话(或者role表的id)由于一个user可能有两个身份而sql又不能使用一个字段存取两个值;user_info 表。

2022-10-24 14:13:45 671

空空如也

空空如也

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

TA关注的人

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