自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 9-数据库优化

9-数据库优化

2023-02-06 19:20:27 462

原创 9-数据库事务

9-数据库事务

2023-02-06 19:18:47 441

原创 8-多线程知识&进程

多线程&进程

2023-02-06 19:16:48 229

原创 7-分布式锁

分布式锁

2023-02-06 19:15:29 237

原创 6-分布式缓存

分布式缓存

2023-02-06 19:13:45 50

原创 5-spring

spring

2023-02-06 19:13:08 50

原创 4-redis

redis

2023-02-06 19:11:52 330

原创 3-JVM

jvm

2023-02-06 19:10:13 58

原创 2-HashMap

hashmap

2023-02-06 19:07:02 261

原创 1-Java常见基础

java常见基础题

2023-02-06 12:12:15 63

原创 ElasticSearch——初步学习(2020年7月30日)

前期准备1、安装node.js(百度教程)2、将grunt安装为全局命令 ,Grunt是基于Node.js的项目构建工具,在cmd控制台中输入如下执行命令:npm install ‐g grunt‐cli3、准备ES的图形化界面插件–》进入入elasticsearch-head-master目录启动head,在命令提示符下输入命令:>npm install>grunt server4、打开浏览器,输入 http://localhost:9100,看到如下页面:PS:要启用E

2020-07-29 23:37:30 148

原创 RabbitMQ高级特性——延迟队列=TTL+DLX(2020年7月28日)

延迟队列,即消息进入队列后不会立即被消费,只有到达指定时间后,才会被消费。需求:下单后,30分钟未支付,取消订单,回滚库存。新用户注册成功7天后,发送短信问候。简单说明:正常队列里设置消息的存活时间(TTL),相当于延迟时间,到了延迟时间消息会传递到死信队列;此时消费端是开启监听这个死信队列的,当死信队列有消息传入时消费端就可以获取。这就实现了消息延迟功能。代码实现: <!-- ===============延迟队列测试=====================-

2020-07-28 18:25:06 429

原创 RabbitMQ高级特性——死信队列DLX(2020年7月28日)

死信队列,英文缩写:DLX 。Dead Letter Exchange(死信交换机),当消息成为Dead message后,可以被重新发送到另一个交换机,这个交换机就是DLX。消息成为死信的三种情况:队列消息长度到达限制;消费者拒接消费消息,basicNack/basicReject,并且不把消息重新放入原目标队列,requeue=false;原队列存在消息过期设置,消息到达超时时间未被消费代码实现(spring整合rabbitmq为例)声明正常队列,并设置成为私信队列.

2020-07-28 14:28:17 416 2

原创 RabbitMQ高级特性——TTL(队列消息过期时间)(2020年7月28日)

1、web管理界面设置1:新建队列时,设置队列里的消息的过期时间效果:消息发布之后,到了过期时间队列的消息将消失。

2020-07-28 13:01:39 1282

原创 RabbitMQ高级特性——消费端限流(2020年7月28日)

步骤:1、在consumer端的配置文件配置绑定队列的监听器中定义一次获取多少条消息如果不设置就是一次性接受完队列的所有消息;acknowledge="manual"注意监听器容器的确认方式一定是手动manual2、在监听器中编写业务逻辑代码和签收方式,这里也可以引入消息的可靠性代码,本演示省略。@Componentpublic class QosListener implements ChannelAwareMessageListener { @Override publ.

2020-07-28 00:57:33 221

原创 RabbitMQ高级特性——Consumer Ack(2020年7月27日)

ack指Acknowledge,确认。 表示消费端收到消息后的确认方式。有三种确认方式:自动确认:acknowledge=“none”手动确认:acknowledge=“manual”根据异常情况确认:acknowledge=“auto”,(这种方式使用麻烦,不作讲解)其中自动确认是指,当消息一旦被Consumer接收到,则自动确认收到,并将相应 message 从 RabbitMQ 的消息缓存中移除。但是在实际业务处理中,很可能消息接收到,业务处理出现异常,那么该消息就会丢失。如果设置了手动

2020-07-28 00:25:39 639

原创 RabbitMQ高级特性——消息的可靠性传递(2020年7月27日)

1 消息的可靠性传递PS:以spring整合的rabbitmq项目为例confirm——确认模式步骤:1、在配置文件定义要设置消息可靠性的队列并绑定交换机 <!-- 消息的可靠性传递--> <rabbit:queue id="test_queue_confirm" name="test_queue_confirm"></rabbit:queue> <!-- 交换机绑定队列--> <rabbit:dire

2020-07-27 23:38:33 172

原创 spring整合RabbitMQ(2020年7月26日)

生产者导入依赖和插件 <dependency> <groupId>org.springframework.amqp</groupId> <artifactId>spring-rabbit</artifactId> <version>2.1.8.RELEASE</version> </dependency>

2020-07-26 16:14:20 204

原创 SecureCRT——连接虚拟机Linux(2020年7月26日)

1 下载安装把VMware的虚拟网络适配器修改如下:2 获取虚拟机linux的ip3 Secure CRT新建会话下一步>完成;4 开始连接这里的密码不是Linux开机密码,而是在终端root登录的密码。输入正确即成功登录,算了,懒得打码了。...

2020-07-26 04:11:59 206

原创 RabbitMQ——学习笔记(2020年7月25日)

1 MQ(message queue)基本概念①生产者不需要从消费者处获得反馈。引入消息队列之前的直接调用,其接口的返回值应该为空,这才让明明下层的动作还没做,上层却当成动作做完 了继续往后走,即所谓异步成为了可能。②容许短暂的不一致性。③确实是用了有效果。即解耦、提速、削峰这些方面的收益,超过加入MQ,管理MQ这些成本。1.1概述MQ,消息队列,存储消息的中间件分布式系统通信两种方式:直接远程调用和借助第三防完成间接通信发送方称为生产者,接收方称为消费者1.2 优势应用解耦异步提速

2020-07-26 00:54:54 176

原创 Vue的一些使用注意

1 v-html和v-text的使用v-html:如果标签体内有html代码,会把附加v-html的标签体内元素渲染成html页面代码;v-text: 标签体内有html代码,不会渲染,只会当成文本输出;2 v-model的使用可以双向绑定的标签:inputselecttextareacheckboxradiocomponents多个 checkbox 对应一个model时,model的类型是一个数组,单个checkbox值是boolean类型radio对应的值是input的v

2020-07-23 16:52:14 103

原创 Git常用命令——针对远程仓库

1 查看已配置的远程仓库git remotegit remote -vgit remote show origin如果想查看已经配置的远程仓库服务器,可以运行git remote命令。它会列出指定的每一个远程服务器的简写。如果已经克隆了远程仓库,那么至少应该能看到origin,这是Git克隆的仓库服务器的默认名字2 添加远程仓库这和克隆不同,克隆是直接把网上创建的直接复制,复制过来的是跟网上创建的一模一样的结构;这个添加是自主在本地创建仓库,然后再把网上创建的仓库拉取过来。git remo

2020-07-19 21:24:11 361

原创 Git常用命令——针对本地仓库

1 本地初始化仓库本地创建手动创建一个仓库文件夹,右键打开命令界面git init远程克隆在想保存仓库的位置右键打开命令界面,git clone (远程仓库地址)2 仓库文件状态仓库文件状态分为Untracked——未跟踪状态(比如本地自己新建的文件,即时查看状态的话就是untracked)tracked——已跟踪状态(包含下面三种)unmodified——未修改状态modified——已修改状态(比如自己修改了之前仓库就存在的文件的内容,即时查看状态的话就是

2020-07-19 16:10:57 168

原创 spring-MVC——文件上传

三要素PS:导依赖 <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency> <

2020-07-14 23:34:54 109

原创 spring-MVC——自定义转换器(以转换日期为例)

定义转换器类实现Converter接口public class DateConverter implements Converter<String, Date > {//PS:这里implements的Converter接口要引入泛型——<转化前的类型,转换后的类型> @Override public Date convert(String date) { SimpleDateFormat simpleDateFormat=new Simple

2020-07-14 11:49:33 139

原创 spring-MVC快速入门

步骤:1-导依赖2-配置spring-MVC前端控制器3-配置组件扫描4-编写web层业务5-配置内部资源视图解析(拓展)1-导依赖主要: <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3

2020-07-13 03:05:36 81

原创 spring集成web环境(配置全局参数、web.xml配置监听器)

配置全局参数全局参数主要是为了解耦。位置:web / WEB-INF / web.xml<!-- 全局参数--> <context-param> <param-name>contextConfigLocation</param-name>(参数标识) <param-value> classpath:applicationContext.xml</param-value>(文件映射,映射

2020-07-13 02:31:40 524

原创 Spring之AOP快速入门(注解)

1 官方AOP解释AOP(Aspect Oriented Programming)称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想2 个人理解的aop用自己的话来说就比如一个人(A) 在排队,然后aop代理对象就相当于管理者,管理者就有权决定让他人(B)排任意位置的队,类比到程序里这个已经排队的人就是一个方法(目标对象)而他人相当于切面对象;管理者安排他人排队与否,如何排队就是配置织入(告诉框架哪些方法需要进行

2020-07-11 00:10:04 224

原创 Spring之AOP快速入门(xml配置)

1 官方AOP解释AOP(Aspect Oriented Programming)称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想个人理解的aop用我自己的话来说就比如一个人(A) 在排队,然后这个人有权决定是否让别人(B)插队,类比到程序里这个人就是一个方法(目标对象)而别人相当于切面对象;是否决定让别人插队就是配置织入(告诉框架哪些方法需要进行增强)代码实现目标对象(A)----要执行的方法publi

2020-07-10 16:20:02 203 1

原创 SPRING配置数据源(C3P0)----使用getBean()产生

1 导入依赖、---spring基础依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.5.RELEASE</version> </dependency>

2020-07-07 16:21:14 259

原创 配置数据源(C3P0)------SPRING传统方法

1 - 首先编写jdbc.properties文件,配置数据库基本信息jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/数据库名jdbc.username=root(看自己数据库的设置)jdbc.password=123456(看自己数据库的设置)2 - 编写测试类 @Test public void test3() throws Exception {//测试c3p0数据池,加载配置文件

2020-07-07 14:06:16 162

转载 SpringBoot - 引入、使用thymeleaf以及语法

SpringBoot - 引入、使用thymeleaf以及语法

2020-06-09 19:10:55 145

原创 java二分查找

java二分查找算法import java.util.Scanner;/*@作 者:leeza@时 间:2020-06-08 10:24@简单说明:二分查找*/public class Test_01_Binary_search { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("输入数组规模"

2020-06-08 12:50:15 215

原创 Windows10+Ubuntu双系统安装(适合小白)

step1系统分区在磁盘管理分出一块状态未“未分配状态”的磁盘,大小自定义。step2启动盘制作参考如何用U盘制作 Ubuntu 启动盘step3进入BIOS,关闭secure boot也就是关闭安全启动,每台电脑的方法都不一样,建议狗度。step4开始U盘安装电脑不同,方法不同,开机进入U盘启动,本人电脑matebook13是开机按F12进入step5开始install Ubun...

2020-04-20 03:34:31 502

原创 Servlet——自学笔记之ServletContext的作用

配置ServletContext是全局的,所以要跟servlet同级;配置比如<context-param> <param-name>driver</param-name> <param-value>com.mysql.jdbc.Driver</param-value></context-param>如何获取通...

2019-11-16 22:13:09 205

原创 2019年11月16日--学习关于web.xml配置,写一定用户登录demo的一些心得

1.写一个网页项目,首先浏览器加载的是一个html页面,页面上有跳转的“超链接”,什么是这里说的超链接,比如一个表单下的action属性值就是,这个属性值要跟xml文件扯上关系,就要把xml文件的url-pattern配置成action跳转的值。比如` <form action="/WEB14/login" method="post"> 用户名:<input type="t...

2019-11-16 20:11:58 279

原创 sql注入

1.去MySQL官网下载MySQL免安装版,然后配置好路径–>进入dos界面下的mysql文件路劲的bin下mysqld --insatll(前提是之前没有,如果有删除,方法百度)2.删除之前关于sql的一切服务和注册表,参考完全卸载sqlserver3下载sql2014.安装好之后,cmd–>regedit进入sql配置管理器(sql2014自带)启动sql server bro...

2019-11-10 13:43:29 355

原创 MySQL的下载与安装

1.确认电脑没有安装有MySQL,通过cmd>services.msc>查看mysql服务选项2.MySQL的下载,要注册账号,参考文章>MySQL下载3.MySQL安装>参考文章MySQL安装

2019-11-09 16:20:29 140

原创 多台电脑利用局域网共享文件:

日期:2019年5月14日;性质:两台电脑,没有U盘,利用电脑共享文件的物理传输文件方式传输方式;1—被共享的电脑右键选择要共享的文件–>共享–>everyone–>共享;高级共享–>打勾–>确定。2—要接收共享的电脑win+R–\(被共享电脑的IP)—>提示输入网络凭据:被共享电脑的帐户名称+密码。3—打开网络,允许共享,刷新,OK,CTRL+V;...

2019-05-14 16:42:30 544

原创 Ⅰ一个数如果恰好等于它的因子之和,这个数就是完数。例如6的因子为1、2、3,而6=1+2+3,因此6是一个完数。编程求出1000之内的所有完数。

任务描述:一个数如果恰好等于它的因子之和,这个数就是完数。例如6的因子为1、2、3,而6=1+2+3,因此6是一个完数。编程求出1000之内的所有完数。public class five { public static void main(String[] args) { int sum; for (int i = 1; i <= 1000; i++) { sum = 0...

2019-03-26 23:47:26 5793 2

空空如也

空空如也

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

TA关注的人

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