- 博客(106)
- 收藏
- 关注
原创 RabbitMQ高级-高级特性
在使用RabbitMQ的时候,作为消息发送方希望杜绝任何消息丢失或者投递失败场景。RabbitMQ为我们提供了两种方式来控制消息的投递可靠性模式1.confirm 确认模式 确认模式是由exchange决定的2.return 退回模式 回退模式是由routingKey决定的rabbitmq整个消息投递的路径为:消息从producer到exchange则会返回一个confirmCallback。
2024-03-16 09:59:05 1356 1
原创 RabbitMQ基础
RabbitMQ 中的相关概念Broker:接收和分发消息的应用,RabbitMQ Server就是 Message Broker:出于多租户和安全因素设计的,把 AMQP 的基本组件划分到一个虚拟的分组中,类似于网络中的 namespace 概念。当多个不同的用户使用同一个 RabbitMQ server 提供的服务时,可以划分出多个vhost,每个用户在自己的 vhost 创建 exchange/queue 等Connection。
2024-03-15 15:07:04 1256
原创 SpringBoot高级
需求:自定义redis-starter。要求当导入redis坐标时,SpringBoot自动创建Jedis的BeanSpringBoot自带监控功能Actuator,可以帮助实现对程序内部运行情况监控,比如监控状况,Bean加载情况,配置属性,日志信息等。
2024-03-15 15:04:54 1448 1
原创 SpringBoot基础
SpringBoot提供了一种快速使用Spring的方式基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而人大提高了开发的效率,一定程度上缩短了项目周期2014年4月,Spring Boot 1.0.0发布。是Spring的顶级项目之一(https://spring.io)
2024-03-14 10:26:15 901
原创 Redis高级-集群结构、企业级解决方案
集群就是使用网络将若干台计算机联通起来,并提供统一的管理方式,使其对外呈现单机的服务效果分散单台服务器的访问压力,实现负载均衡分散单台服务器的存储压力,实现可扩展性降低单台服务器宕机带来的业务灾难。
2024-03-14 10:22:51 1429
原创 Redis高级-删除策略、主从复制、哨兵模式
当新数据进入redis时,如果内存不足怎么办?在执行每一个命令前,会调用检测内存是否充足。如果内存不满足新 加入数据的最低存储要求,redis要临时删除一些数据为当前指令清理存储空间。清理数据的策略称为逐出算法。注意:逐出数据的过程不是100%能够清理出足够的可使用的内存空间,如果不成功则反复执行。当对所有数据尝试完毕, 如不能达到内存清理的要求,将出现错误信息策略配置影响数据淘汰的相关配置如下:1:最大可使用内存,即占用物理内存的比例,默认值为0,表示不限制。
2024-03-12 08:33:42 1074
原创 maven高级
作用等同于定义变量,方便统一维护--定义自定义属性-->当properties标签报错时请检查是否还有其他properties标签因为如果定义了jdk 版本,在使用properties标签,会重复报错,在pom文件中,只能有一对<properties>标签解决办法:放在一起例如--定义自定义属性-->
2024-03-12 08:30:48 833
原创 Zookeeper详解
Curator 是 Apache ZooKeeper 的Java客户端库,目标是简化 ZooKeeper 客户端的使用常见的ZooKeeper Java API :原生Java APIZkClientCuratorCurator 最初是 Netfix 研发的,后来捐献了 Apache 基金会,目前是 Apache 的顶级项目。
2024-03-10 19:28:54 2805
原创 Dobbo详解
Dubbo是阿里巴巴公司开源的一个高性能、轻量级的Java RPC框架。致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。官网: http://dubbo.apache.org/zh-cn/2.Dubbo架构Provider: 暴露服务的服务提供方;(自习室)Container: 服务运行容器;(学校)Consumer: 调用远程服务的服务消费方;(学员)Registry: 服务注册与发现的注册中心;(电子黑板)
2024-03-10 19:26:55 592
原创 多线程-线程池&原子性&并发工具类
新建状态(NEW) --创建线程就绪状态(RUNNABLE) --start方法阻塞状态(BLOCKED) --无法获得锁对象等待状态(WAITING) --with方法计时等待(TIME_WAITING) --sleep方法结束状态(TERMINATED) --全部代码运行完毕。
2024-03-09 20:34:44 982
原创 多线程基础
生产者消费者模式是一个十分经典的多线程协作的模式,弄懂生产者消费者问题能够让我们对多线程变成的理解更加深刻所谓生产者消费者问题,实际上主要是包含了两类线程:一类是生产者线程用于生产数据一类是消费者线程用于消费数据为了解耦生产者和消费者的关系,通常会采用共享的数据区域,就像是一个仓库生产者生产数据之后直接放置在共享数据区中,并不需要关心消费者的行为消费者只需要从共享数据区中去获取数据,并不需要关心生产者的行为Object类等待和唤醒的方法方法名说明。
2024-03-09 20:33:14 1005
原创 网络编程---网络编程入门、UDP通信程序、TCP通信程序
在网络通信协议下,实现网络互连的不同计算机上运行的程序间可以进行数据传输是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
2024-03-08 22:23:13 987
原创 SSM整合
数据源(druid+jdbc.properties)创建三层架构对应的模块,接口与实体类,建立关联关系。数据层接口(代理自动创建实体类)整合Mybatis到Spring环境正。Controller调用Service。web.xml加载SpringMVC。web.xml加载Spring环境。业务层接口+业务层实现类。创建项目,组织项目结构,创建包。创建Mybatis映射文件。创建Spring配置文件。数据封装为json数据。
2024-03-08 22:18:09 477
原创 SpringMVC实用技术
数据可以随意输入,导致错误的结果。表单校验保障了数据有效性、安全性校验位置:客户端校验服务端校验校验内容与对应方式:格式校验客户端:使用Js技术,利用正则表达式校验服务端:使用校验框架逻辑校验客户端:使用ajax发送要校验的数据,在服务端完成逻辑校验,返回校验结果服务端:接收到完整的请求后,在执行业务操作前,完成逻辑校验长度:例如用户名长度,评论字符数量非法字符:例如用户名组成数据格式:例如Email格式、 IP地址格式边界值:例如转账金额上限,年龄上下限。
2024-03-07 18:41:06 863
原创 SpringMVC-异步调用,拦截器与异常处理
请求处理过程解析拦截器( Interceptor)是一种动态拦截方法调用的机制在指定的方法调用前后执行预先设定后的的代码阻止原始方法的执行核心原理: AOP思想拦截器链:多个拦截器按照一定的顺序,对原始被调用功能进行增强拦截器VS过滤器归属不同: Filter属于Servlet技术, Interceptor属于SpringMVC技术拦截内容不同: Filter对所有访问进行增强, Interceptor仅针对SpringMVC的访问进行增强。
2024-03-07 18:40:05 883
原创 SpringMVC-请求与响应(附Servlet相关接口替换方案)
SpringMVC将传递的参数封装到处理器方法的形参中,达到快速访问参数的目的。
2024-03-06 12:19:10 608
原创 IoC底层核心原理与AOP
名称:TypeFilter接口作用:自定义类型过滤器样例新建config.filter.MyTypeFilter类@Override//加载的类满足要求,匹配成功)*/bean只有通过配置才可以进入spring容器,被spring加载并控制配置bean的方式如下:XML文件中使用标签配置使用@Component及衍生注解配置企业开发过程中,通常需要配置大量的bean,需要一种快速高效配置大量bean的方式名称: ImportSelector接口。
2024-03-05 09:33:08 1325
原创 Spring入门
耦合(Coupling):代码书写过程中所使用技术的结合紧密度,用于衡量软件中各个模块之间的互联程度内聚(Cohesion):代码书写过程中单个模块内部各组成部分间的联系,用于衡量软件中各个功能模块内部的功能联系高内聚,低耦合就是同一个模块内的各个元素之间要高度紧密,但是各个模块之间的相互依存度却不要那么紧密使用spring整合mybatis技术,完成账户模块(Account)的基础增删改查功能账户模块对应字段编号:id账户名:name余额:money非spring环境1.实体类与表。
2024-03-04 17:50:19 987
原创 maven基础
假设你现在做了一个crm的系统,项目中肯定要用到一些jar包,比如说mybatis,log4j,JUnit等假如有一天你们的项目中mybatis进行了一个升级,但是它内部使用的JUnit没有升级,你升级以后的mybatis假如要用5.0的JUnit,而你项目中目前用的是4.0的,必然会出问题!这个时候管理起来会比较麻烦,你需要各种调整就会出现几种严重的问题1.jar包不统一,jar不兼容2.工程升级维护过程操作繁琐Maven是用Java语言编写的。
2024-03-04 17:48:30 1207
原创 MYSQL---日志
在数据库系统中,事务的原子性和持久性是由事务日志( transaction log )保证的,在实现时也就是上面提到的两种日志;欠着用于对事务的影响进行撤销,后者在错误处理时对已经提交的事务进行重做,它们能保证两点:1.发生错误或者需要回滚的事务能够成功回滚(原子性)。2.在事务提交后,数据没来得及写入磁盘就宕机时,在下次重新启动后能够成功恢复数据(持久性)在数据库中,这两种日志经常都是一起工作的,我们可以将他们整体看作一条事务日志,其中包含了事务的ID、修改的行元素以及修改前后的值。
2024-03-03 12:03:30 989
原创 Redis常用指令,jedis与持久化
对于我们现在的数据来说,它是在我们的redis中,而最终我们是要做程序。那么程序就要和redis进行连接程序中有数据的时候,我们要把这些数据全部交给redis管理。同时,redis中的数据还能取出来,回到我们的应用程序中那在这个过程中,在Java与redis之间打交道的这个东西就叫做JedisJedis就是提供了Java与redis的连接服务的,里边有各种各样的API接口,你可以去调用它Java语言连接redis服务 Jedis(SpringData、Redis 、 Lettuce)
2024-03-03 11:57:46 1066
原创 Redis基础(含下载安装)与数据类型
Redis (RemoteDictionaryServer:远程词典服务器) 是用 C 语言开发的一个开源的高性能(内存型)键值对key-value)数据库特征1.数据间没有必然的关联关系;2.内部采用单线程机制进行工作;3.高性能。官方提供测试数据,50个并发执行100000 个请求,读的速度是110000 次/s,写的速度是81000次/s。4.多数据类型支持字符串类型 string列表类型 list散列类型 hash集合类型 set。
2023-10-22 21:51:41 230
原创 Vue基础与常用指令,Element基础
指令:是带有 v- 前缀的特殊属性,不同指令具有不同含义。例如 v-html,v-if,v-for使用指令时,通常编写在标签的属性上,值可以使用 JS 的表达式指令:vue框架定义的,一些标签的自定义的属性常用指令指令作用v-html把文本解析为HTML代码v-bind为HTML标签绑定属性值v-if条件性的渲染某元素,判定为true时渲染,否则不渲染v-elsev-else-ifv-show根据条件展示某元素,区别在于切换的是display属性的值v-for。
2023-10-21 21:30:23 788
原创 AJAX与JSON
JSON(JavaScript Object Notation):是一种轻量级的数据交换格式它是基于 ECMAScript 规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于计算机解析和生成,并有效的 提升网络传输效率创建格式类型语法说明对象类型name是字符串类型,value可以是任意类型数组/集合类型混合类型{name:常用方法成员方法说明stringify(对象)
2023-10-21 21:30:09 549
原创 Filter与Listener(过滤器与监听器)
Filter 是一个接口,如果想实现过滤器的功能,必须实现该接口核心方法返回值方法名作用void初始化方法void对请求资源和响应资源过滤voiddestory()销毁方法配置方式注解方式配置文件观察者设计模式,所有的监听器都是基于观察者设计模式的三个组成部分事件源:触发事件的对象。事件:触发的动作,里面封装了事件源。监听器:当事件源触发事件时,要做的事情。一般是一个接口,由使用者来实现。在程序当中,我们可以对:对象的创建销毁、域对象中属性的变化、会话相关内容进行监听。
2023-10-19 17:21:39 862
原创 EL表达式与JSTL
JSTL(Java Server Pages Standarded Tag Library):JSP 标准标签库主要提供给开发人员一个标准通用的标签库开发人员可以利用这些标签取代 JSP 页面上的 Java 代码,从而提高程序的可读性,降低程序的维护难度组成作用说明core核心标签库通用的逻辑处理fmt国际化不同地域显示不同语言functionsEL函数EL表达式可以使用的方法sql操作数据库用于操作数据库xml操作XML用于操作XML。
2023-10-16 19:17:04 83
原创 Cookie与Session与JSP
HttpSession:服务器端会话管理技术本质也是采用客户端会话管理技术只不过在客户端保存的是一个特殊标识,而共享的数据保存到了服务器端的内存对象中每次请求时,会将特殊标识带到服务器端,根据这个标识来找到对应的内存空间,从而实现数据共享是 Servlet 规范中四大域对象之一的会话域对象作用:可以实现数据共享域对象功能作用应用域在整个应用之间实现数据共享请求域在当前的请求或请求转发之间实现数据共享会话域在当前会话范围之间实现数据共享。
2023-10-16 19:16:46 356
原创 Servlet--Request请求对象
请求:获取资源。在BS架构中,就是客户端浏览器向服务器端发出询问请求对象:就是在项目当中用于发送请求的对象。
2023-10-15 11:43:01 492
原创 JavaWeb---Servlet
ServletConfig 是 Servlet 的配置参数对象,在 Servlet 的规范中,允许为每一个 Servlet 都提供一些初始化的配置。所以,每个 Servlet 都有一个自己的 ServletConfig作用:在 Servlet 的初始化时,把一些配置信息传递给 Servlet生命周期生命周期:和Servlet相同如果Servlet配置了<load-on-startup>1</load-on-startup>,那么ServletConfig也会在应用加载时创建。
2023-10-12 22:07:03 1307
原创 Tomcat和HTTP协议
WEB在计算机领域中代表的是网络万维网网络相关的技术的出现都是为了让我们在网络的世界中获取资源,这些资源的存放之处,叫做网站我们通过输入网站的地址(网址),就可以访问网站中提供的资源(不区分局域网或广域网)服务器是计算机的一种,它比普通计算机运行更快,负载更高,价格更贵。服务器在网络中为其他客户机(PC机,智能设备等)提供计算或者应用服务。服务器具有高速度CPU运算能力,长时间的可靠运行,强大的I/O外部数据吞吐能力以及更好的扩展性这里所说的服务器,其实是web服务器,或者应用服务器。
2023-10-12 22:06:14 589 2
原创 JavaScript(上)
文档对象模型将 HTML 文档的各个组成部分,封装为对象。借助这些对象,可以对 HTML 文档进行增删改查的动态操作事件指的就是当某些组件执行了某些操作后,会触发某些代码的执行常用事件事件名说明onload某个页面或图像被完成加载onsubmit当表单提交时触发该事件onclick鼠标单击事件ondblclick鼠标双击事件onblur元素失去焦点onfocus元素获得焦点onchange用户改变域的内容了解的事件事件名说明onkeydown某个键盘的键被按下按下。
2023-10-11 21:58:01 370
原创 CSS基础
CSS(Cascading Style Sheets): 层叠样式表层叠:多个样式可以作用在同一个html的元素上,同时生效用于设置和布局网页的一种计算机语言。告知浏览器如何渲染觉醒页面元素选择器:选择HTML元素的方式。可使用标签名,class属性值,id值等多种方式(筛选具有相似特征的元素)样式声明:用于给HTML元素设置具体的样式。格式是 属性名:属性值格式:选择器{属性名:属性值;属性名:属性值;属性名:属性值;
2023-10-10 20:34:57 309
原创 HTML基础
超文本标记语言超文本:超越了文本的限制,比普通文本更加强大。除了文字信息,还可以定义图片,音频,视频等内容标记:就是标签。可以使用一系列的标签,将网络是的文档格式统一,使分散的资源连接为一个逻辑整体HTML页面是由一系列的元素(Element)组成的,而元素是通过标签创建出来的。
2023-10-10 20:33:57 214
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人