自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据库建立索引为什么会加快查询速度

数据库在执行一条sql语句时,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合。如果我们对某一字段增加索引,查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的行数,所以能明显增加查询的速度。加入索引使扫描整个表变成了扫描索引表,而我们的索引列表是B+ Tree的数据结构,查询的时间复杂度为O(log2/V),定位到特定值的行就会非常快,所以其查询速度就会非常快。通常情况下,我们建立的索引有三种:1、唯一索引唯一索引是不允许其中任何两行具有相同索引值的索引。例如

2021-10-13 17:34:21 4724

原创 SQL语句优化

sql优化,注意一个核心点:减少IO请示1、尽量避免where子句中使用 != 或<> 操作符,否则将引擎放弃使用索引而进行值班表扫描;2、尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描;如:select id from t where a is null可以在a上设置默认值0,确保a列没有null值,可以这样查询:select id from t where a=03、尽量避免在where 子句中使用or来连接条件,否则将导致引擎放弃

2021-10-13 17:17:42 242

转载 程序员常犯的SQL错误

java程序员编程时需要混合面向对象思维和一般命令式编程的方法,能否完美的将两者结合起来完全得依靠编程人员的水准:技能(任何人都能容易学会命令式编程)模式(有些人一用“模式-模式”,举个例子,模式可以应用到任何地方,而且都可以归为某一类模式)心境(首先,要写个好的面向对象程序是比命令式程序难得多,需要多花一些功夫)当java程序员写sql语句时,一切都不一样了。sql是说明性语言而非面积对象或是命令式编程语言。在sql中要写个查询语句是很简单的。但在java里类似的语句却不容易,因为程序员不仅要反复

2021-10-12 14:50:00 342

原创 toString()、String.valueOf、(String)强转,有什么区别?

一、代码实例1、基本类型 (1) 基本类型没有toString()方法 (2)推荐使用 (3)无法强转 (String)是标准的类型转换,将Object类型转为String类型,使用(String)强转时,最好使用instanceof做一个类型检查,以判断是否可以进行强转,否则容易抛出ClassCastException异常。需要注意的是编写的时候,编译器并不会提示有语法错误,所以这个方法要谨慎使用。instanceof判断:2、封闭类型 (1) toString

2021-10-11 11:36:28 180

原创 Redis和Memcache的异同

普通比较:1、Redis和Memcache都是将数据存放在内存中,都是内存数据库;不过,memcache可以缓存其他内容,如:图片、视频等等;2、Redis不仅仅支持简单的K/V类型的数据,同时还提供List set hash等数据结构的存储;3、虚拟内存——Redis当物理内存用完时,可以将一些很久没用到的value交换到磁盘;4、过期策略——memcache在set时就指定,例如:set key1008永不过期。Redis可以通过expire设定,例如:expire name 10

2021-10-08 15:38:16 668

原创 mysql存储ip地址时,用什么数据类型比较好?

在高性能mysql中,作者建议当存储ipv4地址时,应该使用32位无符号整数(UNSIGNED INT)一存储ip,而不是使用字符串相对于字符串存储,使用无符号整数存储有如下好处:节省空间,不管是数据存储空间,还是索引空间便于使用范围(between…and)查询,而且效率更高通常情况下,在保存ipv4地址时,一个ipv4最小也需要7个字符串,最大需要15个字符串,所以,使用varchar(15)即可。mysql在保存变长的字符串时,还需要额外的一个字节来保存此字符串的长度,而如果使用无符

2021-08-15 19:10:40 4041

原创 spring源码学习中新建gradle测试模块出现compile(project(“:spring-context“))等内容注入不进去的问题

问题描述:编译完成spring源码之后,新建一个测试模块“spring-lig-ideal3”,如下图所示:(具体新建测试模块的过程:略)模块建好之后,新建一个测试类:Test.java,并在Test.java中使用ApplicationContext,但是发现ApplicationContext无法导入,如下所示:解决办法:出现这种问题,需要在build.gradle文件中添加spring-context的依赖;如下图所示:添加过之后,右击 build.gradle文件,选择“构建模块sp

2021-08-09 01:46:23 1963 2

原创 spring源码编译时会遇到“jdk.jfr.Category不存在”的错误

问题描述:编译spring源码报import jdk.jfr.Category错误错误信息描述:在编译spring源码的时候出现了程序包jdk.jfr.Category不存在,import jdk.jfr.category的问题;如下图所示:造成这种错误的原因:Gradle的编译环境为jdk8,但是jdk8中并没有jdk.jfr相关包的内容的存在,导致编译时找不到对应的类,因此报错;如下转接头所示:解决办法:在IDEA中设置:设置-> 构建、执行、部署 ->构建工具-> G

2021-08-09 01:21:51 2638 2

原创 单机搭建RocketMQ(以4.8.0版本)

rocketmq版本4.8下载地址:https://apache.claz.org/rocketmq/4.8.0/rocketmq-all-4.8.0-bin-release.zip下载后解压,并上传到centOS虚拟机第一步:调整启动参数修改默认启动参数,默认启动的最大内存为4G,比较大,修改小一点,否则如果服务器内存不够会启动失败调整namesrvvim runserver.sh调整broker第二步:启动namesrv和启动broker启动navmesrv进入到rocketmq

2021-08-01 21:48:22 288

原创 spring源码编译

源码学习的第一步:Spring源码编译前期准备准备工作:1、本机安装并配置好了git2、本机安装并配置好了jdk,且jdk的版本至少是1.8 3、本机安装并配置好了 gradle,gradle也可以先不用安装配置,我这里是提前配置好的,版本是:6.8.3备注:Gradle,也可以不用安装,在编译的时候根据源码提示按照对应版本的Gradle即可4、Idea前期工作准备完之后,开始进入正题:一、获取Spring源码推荐使用clone的方式将源码拉取到本地,最大的好处在于可以利用IDEA直接比

2021-08-01 19:12:15 800

原创 IDEA 双击只选择了驼峰写法变量的部分单词

问题描述,如下图所示:双击鼠标时,只能选中驼峰写法的一部分单词,而不能选中整个变量原因:intellij IDEA中设置了 双击时选中CamelHumps字样设置解决办法:取消 双击时选中CamelHumps字样设置文件——》 编辑器——》编辑器——》智能键——》取消 在双击时选中CamelHumps字样设置 前面的对勾如下图所示:问题解决!...

2021-07-07 22:10:55 553 1

原创 idea中无法自动装配。未找到 ‘XXXXXXX‘ 类型的 Bean

问题描述,如下图所示:产生的原因:当我们在使用@Autowired注解的时候,默认required=true,表示注入的时候bean必须存在,否则注入失败。解决方案一:在自动转配的注解后面添加(required=false)如下图:解决方案二:把Bean类的自动装配 取消选择; 如下图:解决方案三:在接口中加入注解:@Component(value = “serviceSmsRestTemplateService”),如下图:再回到实现类,如下图:在方案三中,虽然能解决红线的

2021-07-05 00:55:59 49401 13

原创 @LoadBalanced注解

@LoadBalanced的作用是:在使用 RestTemplate 的时候 如果 RestTemplate 上面有 这个注解,那么 这个 RestTemplate 调用的 远程地址,会走负载均衡器;即:开启负载均衡的功能。@Bean@LoadBalancedRestTemplate restTemplate() { return new RestTemplate();} 原理:使用了这个注解以后 ,会在 restTemplate 里面 通过 restTemplate.setI

2021-07-04 22:23:34 433

原创 idea中@Autowired的警告怎么取消

使用@Autowired依赖注入的时候idea会报“不建议字段注入”的警告,如下图所示:如何取消这个警告?如下图所示(idea汉化过的版本):将“字段注入警告”后面的对号取消即可!

2021-07-04 16:54:03 1589

原创 java随机生成6位验证码的方法对比(这里列出三种)

第一种方式(不推荐,因为结果可能会出现错误):String code = String.valueOf(new Random().nextInt(1000000));这种方式有问题,问题在于:在连续生成多次的情况下,可能会生成小于6位的验证码测试: for (int i=0;i<100;i++) { // 生成6位验证码,这种方式有问题,问题在于:在连续生成多次的情况下,可能会生成小于6位的验证码 // 这种方式不可取,因为会出错错误(

2021-07-04 16:47:04 7401 4

转载 QPS、TPS、并发用户数、吞吐量

在做系统性能测试时,不可避免地会遇到QPS、TPS、并发用户数、吞吐量 等等那么这些到底是什么呢?1、QPSQPS Queries Per Second 是每秒查询率 ,是一台服务器 每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内 所处理流量多少的衡量标准, 即每秒的响应请求数,也即是最大吞吐能力。2、TPSTPS Transactions Per Second 也就是事务数/秒。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务

2021-07-03 09:47:26 396

原创 谷歌、火狐等浏览器中77、79、87等端口 提示ERR_UNSAFE_PORT

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-07-03 09:28:46 1577

原创 搭建eureka集群时出现“unavailable-replicas”问题的解决办法

搭建eureka集群时,各节点之间互相注册成功,但是,节点均出现在unavailable-replicas的问题;(开发环境)配置文件(错误的配置文件)如下: # eureka服务端的实例名称spring: application: name: eurekaeureka: instance: prefer-ip-address: false client: #表示是否将自己注册到Eureka Server register-with-eureka: tr

2021-07-03 00:55:10 3644 3

原创 SpringCloud Config搭建配置中心(服务端、客户端)

版本:springBoot : 2.2.6.RELEASESpringCloud:Hoxton.SR3jdk:1.8config的服务端(Server端):pom.xml文件(完整):<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

2021-06-17 00:12:15 296

原创 springcloud微服务 整合feign、hystrix遇到的错误com.XXX.UserProviderXX#getMap(Integer)mapped

首先说一下:这个问题是feign和hystrix结合时的一个坑,也可以是这两者结合使用的一个bug;问题描述:在启动User-Consumer时,接口中的方法被重复注册了启动User-Consumer时,具体的报错信息,如下图所示:话不多说,上代码:接口模块:User-API(需要对外发布的接口内容)@RequestMapping("/user")public interface UserAPI { @RequestMapping("/alive") public Strin

2021-06-06 17:08:46 241

原创 数据库连接池为什么要用threadlocal?

数据库连接池引入threadlocal,是为了解决数据库事务,而事务是连接有关的,每个连接对应一个事务,多个连接的事务是不一样的!ThreadLocal和连接池的关系:1、连接池是缓存并托管数据库连接,主要是为了提高性能;2、ThreadLocal缓存连接,是为了把同一个数据库连接“分享”给同一个线程的不同调用方法。不管是哪个方法都是使用同一个连接,方便进行“跨方法”的事务控制。例:如果一个请求中涉及多个DAO操作,而如果这些DAO的Connection都是独立的,就没有办法完成一个事务。但是如果

2021-05-28 10:39:18 396

原创 IDEA中springboot同一个项目启动多个不同端口

一、点击Edit Configuration二、选中“允许并行运行”三、修改各个配置文件的端口号注意:端口号不能重复!!!截图:略四、在application中添加配置:spring.profiles.active=需要启动的配置文件的标识五、启动...

2021-05-26 22:45:33 1176

转载 BigDecimal的精度会不会丢失?

目前在java编程中,需要用到金钱的地方都是用BigDecimal,而不是其他;但我们也都了解,浮点型 变量在进行计算的时候会出现丢失精度的问题;BigDecimal的精度会不会丢失呢?如下一段代码:System.out.println(0.05 + 0.01); System.out.println(1.0 - 0.42); System.out.println(4.015 * 100); System.out.println(123.3 / 100);输出:0.0600000000

2021-05-24 12:01:48 383

转载 Spring Boot如何实现异步执行任务

所谓异步任务,其实就是异步执行程序,有些时候遇到一些耗时的的任务,如果一直卡等待,肯定会影响其他程序的执行,所以就让这些程序需要以异步的方式去执行。那么下面就来介绍Spring Boot 如何实现异步任务。一、使用注解@EnableAsync 开启异步调用方法在application启动类中,加上@EnableAsync注解,Spring Boot 会自动扫描异步任务。package com.weiz;import org.springframework.boot.SpringApplicatio

2021-05-22 08:26:40 2854

原创 linux下设置nginx开机启动的两种方法

**方法一:**1、创建脚本文件:​ 在usr/lib/systemd/system/nginx.service目录下创建脚本文件:​ vi /usr/lib/systemd/system/nginx.service​2、脚本文件内容:[Unit]Description=nginx - web serverAfter=network.target remote-fs.target nss-lookup.target [Service]Type=forkingPIDFil

2021-05-15 01:14:55 2663 1

原创 centeros下设置zookeeper开机启动

准备:记录java的安装路径和zookeeper的安装路径:java的安装路径 :/opt/java/jdk1.8.0_291zookeeper的安装路径: /opt/zookeeper_installed/apache-zookeeper-3.6.3-bin切换到/etc/rc.d/init.d/目录下创建zookeeper文件:touch zookeeper更新权限:chmod +x zookeeper编辑 文件,在zookeeper里面输入如下内容#!/bin/bash#chkcon

2021-05-14 00:26:45 115

原创 idea清除控制台信息的快捷键设置

eclipse清屏快捷键为鼠标右键+R但是 在idea中默认并没有清屏控制台信息的快捷键我们可以自行设置清除控制台信息的快捷键第一步、先打开 “文件(File)——设置(setting)”;第二步、找到keymap(快捷键);第三步、搜索 clear all (如果idea已经汉化,搜索“全部清除”);第四步、为了方便与eclipse的快捷键相似,所以这里设置快捷键为R,与eclipse不同的是:少了鼠标右键。...

2021-05-09 21:21:10 3854

原创 微信开发创建公众号或小程序菜单45064: no permission to use weapp in menu rid:XXXXXXX

在发布微信菜单的时候,菜单里面挂载了小程序菜单,在公众号菜单添加小程序的链接,发布的时候报错45064,报错信息如下:【错误信息】:{“errcode”:45064,“errmsg”:“no permission to use weapp in menu rid: XXXXXXXXXXXXXXXXXXXx”}微信报的这个45064错误不是由于代码问题导致的,经过查询得出以下几点:1、检查公众号和小程序有无关联,不必在一个主体下 ,但是需要关联相关小程序。2、公众号必须要认证才可以。3、不是同一主题

2021-05-09 13:47:58 7195 2

原创 关于“微信公众平台测试号管理接口配置信息配置失败”的问题解决办法

接口配置信息修改请填写接口配置信息,此信息需要你有自己的服务器资源,填写的URL需要正确响应微信发送的Token验证,请阅读 消息接口使用指南。URLhttp://sjjwx.nat300.top/wxSignatureCheckTokenwxtoken重点来了!!!微信服务器会对我们填写的URL发送请求如果我们的URL为http://sjjwx.nat300.top/wxSignatureCheck那么,微信服务器就会发送如下请求http://sjjwx.nat300.top/wxS

2021-05-07 01:14:08 6774

原创 关于idea中编译出错的问题:Compilation failed: internal java compiler error

在Idea中编译时出现这个错误:Error:java: Compilation failed: internal java compiler error。原因是:当前编译的jdk版本和项目中使用的jdk版本不一致造成的。解决办法:File(文件)–>Setting(设置)…–>Build,Execution,Deployment(构建、执行、部署)–>Compiler(编译器)–>Java Compiler(java编译器)...

2021-03-16 21:28:21 235

原创 IDEA Maven pom.xml文件变灰且中间有一条横线的处理办法

问题描述,如下图所示:原因:pom.xml文件被设置在maven忽略文件清单中解决方法:file -->setting–>maven–>Ignored Files 将清单中对应项目的pom.xml文件取消选中即可;如果取消选中之后,在idea的工作区还是显示pom.xml文件中间有一条横线,那么此时需要重新加载项目或重启idea即可恢复正常,如下图所示:...

2021-03-12 15:59:28 19077 9

原创 Maven项目pom.xml文件报错”Unknow Error“的问题

问题:Eclipse导入maven项目时,pom.xml文件第一行报错,没有错误信息提示,在problems中查看,就一个Unknown Error,但是项目可以正常运行。(IDEA无此问题!)出现这种问题可能的原因:maven版本的问题,造成与IDE的不兼容解决办法::在pom中加上 <maven-jar-plugin.version>版本号</maven-jar-plugin.version>就可以了如:版本号根据自己实际使用的来定。...

2021-03-10 14:47:58 595

原创 eclipse导入maven项目后pom.xml报错:Missing artifact com.sun:tools:jar:1.8.0的两种解决办法

1、问题:Maven工程中遇到pom.xml报错: Missing artifact com.sun:tools:jar:1.8.02、两种解决办法(选用任意一种即可):第一种方法,在报错的pom.xml文件中添加tools.jar依赖 <dependency> <groupId>com.sun</groupId> <artifactId>tools</artifactId> <version&g

2021-03-10 10:35:02 2021 1

原创 普通项目添加maven支持

这里写自定义目录标题右键项目——》add framework support——》maven;图示如下:(以汉化过的idea为例)第一、右键项目,点击“添加框架的支持”,如下图所示:第二、在打开的窗口中选择“Maven”此时项目中就出现了pom.xml文件,如下图:至此,普通项目添加maven支持完成!...

2021-03-10 00:49:07 502

空空如也

空空如也

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

TA关注的人

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