自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

javazht的博客

个人笔记

  • 博客(114)
  • 资源 (5)
  • 收藏
  • 关注

原创 2021-07-28

zz-980306

2021-07-28 00:10:13 121

原创 RabbitMQ核心学习

博客总结https://note.youdao.com/s/LwJowVuP1.RabbitMq核心概念https://note.youdao.com/s/CACS3K1m2.RabbitMq四种交换机的简单测试https://note.youdao.com/s/VolXvt6S3.RabbitMq高级特性https://note.youdao.com/s/DoQ9m67z4.RabbitMQ整合Spring AMQPhttps://note.youdao.com/s/FrRqgjcX5

2021-07-26 15:16:54 144

原创 子查询与连接查询 执行过程与效率对比

连接查询一.Nested-Loop Join在Mysql中,使用Nested-Loop Join的算法思想去优化join,Nested-Loop Join翻译成中文则是“嵌套循环连接”。举个例子:select * from t1 inner join t2 on t1.id=t2.tid(1)t1称为外层表,也可称为驱动表。(2)t2称为内层表,也可称为被驱动表。//伪代码表示:List<Row> result = new ArrayList<>();for(

2020-07-13 10:30:38 2321

原创 自定义注解@interface

1.java元注解Retention注解Retention(保留)注解说明,这种类型的注解会被保留到那个阶段. 有三个值:1.RetentionPolicy.SOURCE —— 这种类型的Annotations只在源代码级别保留,编译时就会被忽略2.RetentionPolicy.CLASS —— 这种类型的Annotations编译时被保留,在class文件中存在,但JVM将会忽略3.RetentionPolicy.RUNTIME —— 这种类型的Annotations将被JVM...

2020-07-12 23:03:16 260

原创 每天一道算法题-K 个一组翻转链表

题目:给你一个链表,每k个节点一组进行翻转,请你返回翻转后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。示例:给你这个链表:1->2->3->4->5当k= 2 时,应当返回: 2->1->4->3->5当k= 3 时,应当返回: 3->2->1->4->5说明:你的算法只能使用常数的额外空间。你不能...

2020-07-05 17:21:53 173

原创 每天一道算法题-动态规划-罗马数字转整数

题目:罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1。12 写做XII,即为X+II。 27 写做XXVII, 即为XX+V+II...

2020-06-27 22:41:42 126

原创 每天一道算法题- 动态规划-连续子数组的最大值

题目:输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。程序:class Solution { public static int maxSubArray(int[] nums) { int res = nums[0];...

2020-06-26 12:38:31 271

原创 每天一道算法题-动态规划-股票的最大利润

题目描述:假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。示例 2:输入: [7,6,4,3,1]输出: 0解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。分析:...

2020-06-26 11:47:35 755

原创 每天一道算法题-动态规划 单词分隔

给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = "leetcode", wordDict = ["leet", "code"]输出: true解释: 返回 true 因为 "leetcode" 可以被拆分成 "leet code"。示例 2:输入: s = "applepenapple", wordDict .

2020-06-25 23:49:23 192

原创 熟练运用RabbitMQ,整合Spring AMQP

1.RabbitAdmin介绍依赖 <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>3.6.5</version> </dependency> <!--Rabbit SpringBoot-->

2020-06-25 17:01:59 167

原创 对于employees表中,输出first_name排名(按first_name升序排序)为奇数的first_name

题目:对于employees表中,输出first_name排名(按first_name升序排序)为奇数的first_nameCREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,`gender` char(1) NOT NULL,`hire_

2020-06-24 20:36:07 1037

原创 每天一道算法题-动态规划求钢筋分割

Dynamic programming 动态规划,与分治法相似,都是通过组合子问题的解来求解原问题,但动态规划是应用于子问题重叠的场景,每个子问题都只求一遍,将解存入表格中,避免不必要的重复工作。问题:购买长钢条,将其切割为短钢条出售,不同长度的钢条对应不同的价格,希望得到最佳的切割方案使利润最大化。长度 i 1 2 3 4 5 6 7 8 9 10 价格 p 1 5 8 9 10 17 17

2020-06-22 15:07:52 470 1

原创 每天一道算法题-暴力求解建物流中间站

Shopee物流会有很多个中转站。在选址的过程中,会选择离用户最近的地方建一个物流中转站。假设给你一个二维平面网格,每个格子是房子则为1,或者是空地则为0。找到一个空地修建一个物流中转站,使得这个物流中转站到所有的房子的距离之和最小。 能修建,则返回最小的距离和。如果无法修建,则返回 -1。若范围限制在100*100以内的网格,如何计算出最小的距离和?当平面网格非常大的情况下,如何避免不必要的计算?输入描述:40 1 1 01 1 0 10 0 1 00 0 0 0..

2020-06-19 18:04:48 419

原创 每天一道算法题-贪心求最大连续数列和

对于一个有正有负的整数数组,请找出总和最大的连续数列。给定一个int数组A和数组大小n,请返回最大的连续数列的和。保证n的大小小于等于3000。测试样例:[1,2,3,-6,1]返回:6解题思路:贪心算法每次求局部最优解,先设置max为数组中的第一个数,然后计算A[0]到A[n]数组的和temp与max比较,如果大于max,则将temp的值的赋值给max,其次因为题目说数组是连续的即可,则还有依次从A[1],A[2]通过相同的方式求和与max比较求得局部最优解,最后达成整体上的最优解

2020-06-17 19:45:57 527

原创 每天一道算法题-多多的魔术盒子

题目描述多多鸡有N个魔术盒子(编号1~N),其中编号为i的盒子里有i个球。多多鸡让皮皮虾每次选择一个数字X(1 <= X <= N),多多鸡就会把球数量大于等于X个的盒子里的球减少X个。通过观察,皮皮虾已经掌握了其中的奥秘,并且发现只要通过一定的操作顺序,可以用最少的次数将所有盒子里的球变没。那么请问聪明的你,是否已经知道了应该如何操作呢?输入描述:第一行,有1个整数T,表示测试用例的组数。(1 <= T <= 100)接下来T行,每行1个整数N,表示有N个魔

2020-06-16 12:30:53 542

原创 熟练运用RabbitMQ,介绍,基础api的使用

1.RabbitMQ简介RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现。AMQP的主要特征是面向消息,队列,路由(包括点对点和发布/订阅),可靠性,安全。AMQP协议更多用在企业系统内,对数据一致性,稳定性和可靠性要求很高的景,对性能和吞吐量的要求还在其次。RabbitMQ依赖与erlang编程语言,所以首先需要安装erlang,在去安装rabbitMQ,这里不做详细介绍 。...

2020-06-12 21:14:12 450

原创 Redis面试

1.什么RedisRedis是一款开源的高性能的key-value数据库,支持数据的持久化,支持列表list,集合set,有序集合zset,String, hash等数据结构。2.Redis的优势1,性能好,在内存中进行数据的读写。2,丰富的数据类型,除了五种主要的数据结构还包含bitmap(用于统计大数据 访问量或者点击量 ,存储空间非常小),Geo(用户存在经纬度,对于行动轨迹,路线有着很好的支持)3,操作是原子性的,支持事务,单线程。3.一个字符串的值能存储的最大容量是512M4.Red

2020-06-02 18:17:31 110

原创 MySQL-锁

数据库锁的分类➢按锁的粒度划分,可分为表级锁、行级锁、页级锁➢按锁级别划分,可分为共享锁、排它锁按加锁方式划分,可分为自动锁、显式锁➢按操作划分,可分为DML锁、DDL锁➢悲观锁,乐观锁MyISAM与InnoDB关于锁方面的区别是什么?1.MyISAM默认用的是表级锁,不支持行级锁。2.InnoDB默认使用的是行级锁,也支持表级锁。表级锁如果我们的表使用的是表级锁,那么在对表进行查询的时候,就会给表上一个读锁(即共享锁)如果再进行其他的cud操作,则cud会等待查询完毕之后进行操作。l

2020-05-18 18:30:23 99

原创 SQL优化的方法

具体场景具体分析,以下是小朱总结的大致思路1.根据慢日志定位慢查询SQLshow variables like '%quer%'查询mysql查询的相关变量结果中:slow_query_log_file表示慢查询的日志文件slow_query_log OFF 表示不显示慢查询的日志long_query_time 表示的查询时间超过多少秒保存在慢查询日志中,默认的为10秒show status like '%slow_queries%'查询慢查询的次数set global slow_que

2020-05-16 14:42:13 192 1

原创 MySQL索引2

1.为什么要是用索引为了加快查询速度,mysql通过B+tree的数据结构来提高访问速度。二叉查找树:每一个节点的左子节点比该节点小,右子节点的值大于改节点的值。同一深度每个节点到叶子节点的高度差不能超过1...

2020-05-14 23:36:39 131

原创 MySQL索引1

MyISAM存储引擎不支持事务、也不支持外键,优势是访问速度快,对事务完整性没有 要求或者以select,insert为主的应用基本上可以用这个引擎来创建表InoDB存储引擎该存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比MyISAM引擎,写的处理效率会差一些,并且会占用更多的磁盘空间以保留数据和索引。InnoDB存储引擎的特点:支持自动增长列,支持外键约束1.什么是索引?create indexselect * from user where name like

2020-05-12 20:01:52 167

原创 网络知识考点

1.osi开放式互联参考模型七层协议:第一层:物理层机器,电子,定时接口通信信道上的原始比特流传输。定义的物理设备的标准,如网线的类型,光纤的接口类型,各种传输介质的传输速率,主要作用是传输比特流(我,们所说的010101数据,将他们转换成电流强弱进行传输,到达目的地之后,在转换成010101的机器码,也就是我们所说的数模转换,模数转换),这层的数据叫做比特,网卡就是工作在这一层。第二层:数据链路层物理寻址,同时将原始比特流转变成逻辑传输线路。数据链路层定义了如何格式化数据,已进行传输,

2020-05-11 11:18:01 129

原创 nodejs(文件)

Buffer介绍1.buffer(缓存区) 结构和数组相似,操作的方法一个数组一致 js中原生的数组性能比较差,而且数组不能存储二进制文件,比传统数组好 buffer不需要引入模块,通过Buffer对象,其中存储的都是二进制,显示的时候以十六进制显示 buffer中一个元素,占用内存中的一个字节,长度确定之后,不能改变2.创建一个10个字节的bufferv...

2019-11-05 19:02:31 94

原创 node.js-模块化介绍

1.node是单线程的但是可以做一个分布式,在idea/webstorm中,我们可以引入node的插件,然后idea会默认配置node服务器的可执行程序的位置,然后我们可以通过该插件直接在idea中运行js文件。2.在es5之后,前端有了模块化开发的思想一个js文件就是一个模块,通过 require()函数来引入外部模块我们使用require引入一个模块之后,对于我们自己定义的模块,...

2019-11-05 11:37:11 108

原创 JMeter压测工具

1.安装使用官网下载官方网站下载http://jmeter.apache.org 解压运行bin目录下面的bat文件。要求jdk8+,其实是一个用java写的图形界面程序。修改为中文版修改jmeter.properties文件,搜索关键词language=en,修改如下:#language=enlanguage=zh_CN添加如下配置,简单使用,这里不详细介绍了。![...

2019-10-17 20:21:19 76

原创 java 8 lambda表达式

1.lambda简洁1.什么是lambda表达式lambda表达式是java8添加的一个新特性,说白了,他是一个内部函数。2.为什么要使用lambda表达式简洁,高效3.lambda对接口的要求接口中的抽象方法的个数必须是一个。4.@FunctionalInterface这个注解用来申明该接口为函数式接口,这个接口中的抽象方法只能为一个,添加多个会报错。2.lambda基础语法...

2019-10-13 16:08:35 922

原创 vue

1.vue-cli的下载依赖git环境和node.js环境。启动windows的cmd,输入npm install vue-cli -g (其中-g表示全局安装)2.创建vue项目创建一个基于 webpack 模板的 vue 应用程序:如何想要创建vue项目的文件目录 ,vue init webpack myvue这里的 myvue 是项目名称,可以根据自己的需求起名说明Pro...

2019-09-09 14:18:37 71

原创 Zookeeper实现分布式锁生成订单编号

<dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <version>0.10</version></dependency>通过模板方式实现接口:public...

2019-08-10 22:03:01 474

原创 docker-compose.yml常用编写mysql5.7 msql8.0 tomcat配置

Docker Compose 实战 MySQL# MySQL5version: '3.1'services: mysql: restart: always image: mysql:5.7.22 container_name: mysql ports: - 3306:3306 environment: TZ: Asia...

2019-08-09 21:34:31 1166

原创 docker compose模板文件

Docker Compose 模板文件模板文件是使用 Compose 的核心,涉及到的指令关键字也比较多。但大家不用担心,这里面大部分指令跟 docker run 相关参数的含义都是类似的。默认的模板文件名称为 docker-compose.yml,格式为 YAML 格式。version: “3”services:webapp:image: examples/webports:- ...

2019-08-09 18:03:04 262

原创 docker-compose(简介和常用命令)

1.什么是 Docker ComposeDocker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速的部署分布式应用。2.为什么要使用它1.我们知道使用一个 Dockerfile 模板文件,可以让用户很方便的定义一个单独的应用容器。然而,在日常工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个 Web 项目,除了 We...

2019-08-09 17:10:25 361

原创 Ajax传递各种数据类型(解决你传数组的头疼问题)

1.使用json数据格式传递数组<button id="btn">点击</button> <script type="application/javascript"> $(function () { $("#btn").on("click",function (){ ...

2019-07-21 20:05:48 5911 1

原创 Ajax解决异步表单(包含文件上传)提交

不包含文件的表单1.前端<form id="form1"> <input type="text" name="id"><br> <input type="text" name="name"><br> <input type="text" name="note"><br></...

2019-07-17 19:59:20 817

原创 docker部署mysql数据库,部署项目到数据库

docker部署mysql数据库1.从阿里云加速网站上拉取mysql5.7.22的镜像docker pull mysql:5.7.22注意:当前版本mysql已经更新到8以上,新特性取消了MyISAM引擎(不支持事务),提升InnoDB引擎(支持事务)的速度,速度是5.6的2倍以上,而5.6不支持nosql,所以不要安装5.6的版本。2.创建并运行docker容器,很明显要通过do...

2019-07-16 13:05:17 2583

原创 Swagger和WireMock的简单使用

1.Swagger自动生成HTML文档在springboot项目中导入依赖<!--利用Swagger生成HTML文档--><!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --><dependency> <groupId>io.spri...

2019-07-15 22:37:29 451

原创 redis cluster(2)

集群伸缩一、伸缩原理集群伸缩 = 槽和数据在节点之间的移动二、扩容集群1.准备新节点(例如,加入6385,6386)需要是集群模式 cluster_enabled = yes配置和其他集群节点保持一致启动后是一个孤儿节点redis-server conf/redis-6385.confredis-server conf/redis-6386.conf2.加入集群方式一...

2019-07-13 18:29:32 164

原创 关于虚拟机的防火墙的端口开放

1.虚拟机的防火墙开放端口6379。步骤:①sudo firewall-cmd --permanent --add-port=6379/tcp(如果想删除的话:sudo firewall-cmd --permanent --remove-port=6379/tcp)--zone= public 不写也行,默认就是。②重启防火墙:firewall-cmd --reload③查看目前的设...

2019-07-13 14:01:40 5279

原创 Redis Cluster(1)

为什么需要Redis集群需要提高更大的并发量Redis官方提出拥有10万QPS的请求量如果业务需要Redis拥有100万的QPS可以通过集群来提升并发量。需要存储更大的数据量一般服务器的机器内存为16G-256G如果业务需要500G的数据量可以通过集群的分区技术来扩展数据量数据分区1.顺序分区例如一共有编号为1~100的100条数据,一共有3个分区ABC,...

2019-07-13 09:43:28 159

原创 Redis Sentinel详解

主从复制的问题当master节点发生故障时,需要手动进行故障转移写能力与存储能力受限,写能力和存储能力都依赖于master节点Redis Sentinel架构​ 在主从复制的基础上,新增多个Redis Sentinel节点,这些Sentinel不存储任何的数据。这些Sentinel节点会完成Redis的故障判断并故障转移的处理,然后通知客户端。一套Redis Sentinel集群可以监...

2019-07-11 18:14:35 467

转载 Apache POI教程(转)

原文链接:https://www.yiibai.com/apache_poi/apache_poi_environment.html本章将指导完成Apache POI在Windows和Linux系统为基础的设置过程。 Apache POI可以轻松地安装和集成,下面没有任何复杂的设置过程,通过几个简单步骤,目前Java环境,用户管理是必需安装的。系统要求JDK Java SE 2 ...

2019-07-10 16:58:29 3512

基于Spring SpringMVC Hibernate的网上书城

基于Spring SpringMVC Hibernate的网上书城(包含sql文件) 包含逻辑分页,页面导航,模糊查询,前台 添加商品到购物车,订单查询,后台包括人员管理,商品管理等

2018-12-24

JSP+Servlet网上书城

javaweb入门项目,JSP+Servlet,数据库为mysql,数据库语言为原生的JDBC。部署环境时需要添加mysql驱动jar包(我直接把mysql的j驱动jar包放在tomcat中了),jdk 1.8 ,tomcat 8.0 用到了图书分页,简单导航,模糊查询,后台商品增删查改查看订单,前台订购物品,查看订单 ,下单等功能

2018-12-24

js简单验证码

js简单验证码,点击变换验证码。0-9的数字和a-z以及A-Z的字母

2018-11-30

java基础GUI+JDBC学生管理系统

解压后复制到编译器直接运行,通过登录login进行系统 基本涵盖GUI所有知识。仅能用于个人学习

2018-11-30

c++数据结构6种基本算法性能比较课程设计

1-初始化顺序表得到随机数 2-冒泡排序 3-直接插入排序 4-选择排序 5-快速排序 6-希尔排序 7-堆排序 8-进行性能比较 比较包括比较(排序时间,比较次数,移动次数)

2018-11-30

空空如也

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

TA关注的人

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