自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis建立远程连接失败

可ping通Redis服务器,端口也开放,防火墙也关闭,但是任无法远程连接Redis服务

2022-09-15 16:26:07 820 1

原创 java反射

java反射速览

2022-09-12 23:22:17 277

原创 单例模式的4种写法

单例模式是开发过程中常用的模式之一,首先了解下单例模式的四大原则:构造方法私有;以静态方法或枚举返回实例;确保实例只有一个,尤其是多线程环境;确保反射或反序列化时不会重新构建对象;饿汉模式饿汉模式在类被初始化时就创建对象,以空间换时间,故不存在线程安全问题。public class SingleTon{ // 创建对象 private static SingleTon INSTANCE = new SingleTon(); // 构造方法私有 private S

2022-03-02 15:42:50 499

原创 Java IO流详解

简介java的io是实现输入和输出的基础,可以方便的实现数据的输入和输出操作。在java中把不同的输入/输出源(键盘,文件,网络连接等)抽象表述为“流”(stream)。通过流的形式允许java程序使用相同的方式来访问不同的输入/输出源。流是一种有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两个设备间的传输成为流,流的本质是数据传输。流的分类:● 按流向:输入流、输出流;● 按数据类型:字节流(8位字节)、字符流(16位字节)。字节流继承关系字节输出流(OutPutS

2022-02-09 22:25:43 11606

原创 虚拟机运行flink后,主机无法打开web-ui页面

看着官方文档一步一步学习flink,将其部署到Linux上之后,想打开web-UI页面看一下,但此时却无法打开该页面:第一反应是没有关闭虚拟机的防火墙导致的,// 查看防火墙状态systemctl status firewalld// 关闭防火墙systemctl stop firewalld如图所示,确实没有关闭,执行上面关闭防火墙的命令有试了一下,但还是无法打开.这时候感觉可能就不是虚拟机的问题了,再看了下我的路径,才注意到谷歌浏览器使用的是https而不是http,改成http,成功

2022-01-17 22:15:54 6169 2

原创 Mysql之ERR_PENDING_DDL_JOB_EXISTS

今天在MySQL中新建表的时候报了一个错误:看到信息中Another DDL job ,第一反应是因为有其他人在操作这个库,但是没有commit导致该库被锁了导致的,但是问了一圈没有人在操作这个库,那原因就不是锁了;仔细看了下报错信息,按其中描述,执行一下sql:check table [table_name]; show ddl remove ddl [id]; drop table if exists [table_name]然后再重新建表,成功。事后查了下,首先,该报错的原因

2022-01-16 17:36:50 869

原创 DateFormat报NumberFormatException

这几天在开发一个接口的时候,内部调用了一个别人查询数据的接口,发到正式环境测试的时候一直报错,如下图所示:从图中可以看出是代码中122行除了问题,代码中122行是这样的:所以很自然的想到了是日期格式转换错误,加上日志把temp输出了一下:格式基本都正确,并没有我想象当中的空字符串。这时候突然注意到一个问题我的报错是NumberFormatException而不是ParseFormatException,如果按我的猜测,输入空字符串导致格式转换,那么应该是ParseFormatException

2022-01-14 16:25:26 580

原创 java中的锁

简介锁是并发编程中的一个重要概念,在并发编程中,经常会遇到多个线程访问同一个共享变量,当他们同时对该共享资源进行读写操作时,就会产生数据不一致的情况;**锁就是用来控制多个线程访问共享资源的方式,简单来说,一个锁能够防止多个线程同时访问共享资源。**Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。锁的分类1. 乐观锁&悲观锁从宏观上来看,锁可以分为乐观锁与悲观锁;体现了对待锁的不同思想;乐观锁:乐观锁认为自己在访问资源的时候,不会有其他线程修改

2021-12-23 10:31:02 761

原创 MySQL与Oracle的一些查询sql

MySQL与Oracle有一些sql语句是帮助我们查看数据库状态的,通过这些sql语句我们可以快速定位数据库问题,解决诸如数据库锁,恢复数据等等;这里稍微整理了一些常用的查询sql查询版本号MySQL:SELECT version() from DUALOracle:SELECT * FROM v$version查询索引MySQL:SHOW INDEX FROM <table_name> [ FROM <database>]Oracle:SELECT * FROM

2021-12-20 23:43:27 1215

原创 多线程与高并发

名词解释:进程与线程进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位。进程相当于程序的一次运行,线程依赖于进程,不可肚子存在。一个线程的生命周期:线程的优先级:每一个 Java 线程都有一个优先级,这样有助于操作系统确定线程的调度顺序。Java 线程的优先级是一个整数,其取值范围是 1 (Thread.MIN_PRIORITY ) - 10 (Thread.MAX_PRIORITY )。默认情况下,每一个线程都会分配一个优先级 NORM_PRIORITY(5)

2021-12-16 11:30:08 1089

原创 Docker安装

具体查阅官方文档:Install Docker Engine on CentOS准备系统要求: Linux内核高于3.10,centOS高于7# 查看内核版本uname -a# 查看centOS版本cat /etc/redhat-release2. 卸载旧版本及相关依赖sudo yum remove docker \ docker-client \ docker-client-latest \

2021-12-14 10:37:56 80

原创 sql优化

sql优化主要从两个方面入手:语句优化;配置优化;1. 语句优化语句优化从三个方面入手:尽量使用索引;尽量避免全表扫描,减少无效数据的查询;1.1 索引索引是sql优化的主要部分,在建表时就应当设置合理的索引;避免在 where 子句中对字段进行 null值及不等于判断:对null值进行判断会导致引擎放弃使用索引进而使用全表扫描避免使用wher 1=1操作通常为了方便拼接sql语句时,我们会使用这条语句,但是该操作同样会造成索引失效,mybatis中可以使用where

2021-12-13 14:32:05 584

原创 jvm内存管理

这几天在学习jvm内存结构,网上的资料有些混乱,而且关于一些知识点并没有说清楚,这里自己总结了一下。jvm内存划分区域JVM 在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。如下图所示:如图所示,其中方法区和堆是所有线程共享的,虚拟机栈、本地方法栈、程序计数器则是线程私有的,其中我们重点要了解的是栈内存,堆内存和方法区这三个部分。程序计数器(

2021-12-11 18:33:16 933

原创 String和new String

这几天在学习jvm内存结构的时候,发现很多文章关于运行时常量池这个概念没有说清,这里自己总结了一下,有不当之处欢迎指正;以下是参考文章:JDK1.8关于运行时常量池, 字符串常量池的要点Java内存管理尤其是看了第一篇之后,没想到一个简简单单的String还有这么东西,所以自己也是简单测了一下,加深对jvm的理解。测试之前先简单说明一下概念:首先是方法区和永久代,目前有三大Java虚拟机:HotSpot,oracle JRockit,IBM J9。目前使用最多的就是HotSqot,而另外两个

2021-12-10 13:59:07 2310

原创 Tomcat的优化

Tomcat作为一款常用的web容器,对其进行优化是提升性能的重要手段;对其进行优化可以从以下方面入手:调整内存;调整线程池(Executor);调整连接器(Connector);调整运行模式;调整内存如果内存设置过小,极有可能导致项目无法启动,会报OOM异常;所以可以适当增大内存;Windows下修改Tomcat_Home/bin/catalina.sh文件,在@echo off下添加如下配置;Linux下修改Tomcat_Home/bin/catalina.bat文件,在cygwin

2021-12-08 16:27:17 1007 1

原创 达梦数据库commit阻塞

周一早上过来正常测试项目的时候,发现上周已经调好的一个接口,莫名其妙的出现了问题,具体表现就是接口内部的方法都已经执行完毕了,但是接口任然处于sending request的状态,看了下程序,没有设置断点,控制台也没有相关报错。就开始排错,首先在方法内部设置断点,发现每次都是执行到sql语句的时候阻塞,把sql复制出来粘贴到数据库中执行一下,能做出运行,没有问题,就怀疑是否是有人对数据库进行了更新操作,但没有及时提交导致数据库被锁,使用select * from v$sessions where trx

2021-12-07 10:00:38 1866

原创 解决内存溢出OutOfMemoryError异常

今天启动项目时,突然了报了OOM异常,如图所示:解决办法很简单,就是把内存设置大点,主要问题是在哪里设置。1. jvm内存设置jvm虚拟机的内存设置是在jdk/jre/lib/amd64目录下的jvm.cfg文件中设置在最下面加上相关配置就好,具体大小根据需求定,Windows和Linux环境下修改jvm虚拟机的方法都是如此。-Xms2048m-Xmx4096m-XX:PermSize=1024M -XX:MaxPermSize=2048M2. IDEA内存设置如图所示,help

2021-12-06 14:25:16 1934

原创 Virtual Box配置虚拟机网络

简介:Virtual Box提供了多种网络模式,如图所示:但是我们常用的一般就三种,可以通过以下表格来了解三者区别:虚拟机->主机主机->虚拟机虚拟机->其他主机(网络中)Bridged(桥接模式)YYYNAT(网络地址转换模式)YNYHost-Only(仅主机模式)默认不能需配置默认不能需配置默认不能需配置桥接模式(Bridged)简介:桥接模式就是将主机的网卡,与虚拟机虚拟的网卡利用虚拟网桥进行通信。类似于把物理主

2021-11-24 16:54:55 5918 1

原创 ssh测试[email protected]: Permission denied (publickey).

想要在电脑上同时部署gitee和GitHub的ssh密钥,找了下【官方文档】,如下:按照步骤一步一步来,结果在第4步测试的时候却出现了不一样的内容百度了一下,说是需要将密钥添加到本地,但是这一步在官方文档上是没有的,所以感觉不太会是这个问题,仔细看了下文档,只有第三步新建config文件可能和文档有出入。我一开始新建的是conf.config文件,修改为config文件,试了一下,成功解决该问题。...

2021-11-16 21:58:24 1027

原创 数据库中的Schema(模式)和View(视图)

Schema(模式)在mysql中,Schema和database即数据库的概念类似,利用建模式的语句 create schema name同样可以创建一个库而在其他数据库中,例如oracle,SQL server,达梦中,schema是数据库下的一个单位,是数据库对象的集合,是表,索引,列等单位的集合,简单来说就是数据库中的一个名字空间,它包含一组表、视图和存储过程等命名对象。Schema的应用场景:多个用户共用一个数据库,而我们希望对不同用户展示不同的表的集合。View(视图)

2021-06-23 11:12:07 2300

原创 Vue项目搭建中的一些注意点

安装node首先时查看有没有安装node,使用命令node -v即可查看如果无,先进入node官网安装node(https://nodejs.org/en/download/)安装webpack安装命令:npm install webpack –g如果不确定自己是否安装了webpack,可以使用npm webpack info查看安装vue安装命令:npm install vue-cli -g默认的服务器时国外的,下载速度可能较慢,可以修改为阿里巴巴的镜像服务器// 将仓库修改为淘宝镜

2021-05-12 15:45:08 394 2

原创 curl: (51)Unable to communicate securely with peer

最近公司做的项目需要联通另一个系统,对方给了个token,测试一下该token是否有效,因为是在Linux上,没有postman,只能通过curl命令发送网络请求,但是实际测试时,由于服务器上有些库的版本比较低,出现各种问题,写篇文章记录一下。如图:首先第一个报错,400 bad request 这个好解决,按报错信息把http改为https就好了,但是改为https之后就出现第二个报错curl: (51) Unable to communicate securely with peer: requ

2021-04-06 16:06:22 16194

原创 mysql中Group_concat函数和Order by函数同时使用会失效的问题

今天在刷题的时候想同时使用group_concat函数和order by函数来着,但是好像失效了。有一张表如下:sql如下SELECT GROUP_CONCAT(DISTINCT Score)FROM ScoresORDER BY Score DESC本来我的预期输入应该是这样的但实际上输入结果是这样的:而且就算我们将sql中的desc更改为ASC,输出结果也任然不会改变。很明显,order by失效了,那该怎么解决呢,查阅资料后,我们得知可以将order by写在group_conc

2021-03-18 23:31:59 3469 1

原创 @RequestParam与@RequestBody的区别及Postman对应操作

首先,这两个注解都是用来接收前端传给后端的数据的,但是前端传送的格式不同,后端就要选择相应的注解来接收,否则就会报400 Bad Request错误[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TyXGy6p9-1607932568643)(C:\Users\Wypeng\Pictures\csdn\1\400badrequest错误.png)][外链图片转存失败,源站可能有防盗]!链机制,建(C\Users\Wypeng\Pictures\csdn\1)]或者是

2020-12-14 16:03:39 1298

原创 mysql-8.0.22-winx64安装踩坑

换了新电脑,安装最新版MySQL的时候遇到一些坑,记录一下。第一个坑:mysqld : 无法将“mysqld”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径 正确,然后再试一次。这里下面应该还有个提示,大概意思是说,如果你信任该程序的话,请使用.\mysqld命令,但是我尝试了一下还是不行,然后我就想会不会是安装目录不对,把他移到C盘,并且修改my.ini中的参数,再试了一次,这次就是报如下错误这个就好办了,去网上下载对应的文件就可以了,但是请注

2020-11-27 09:33:33 701

原创 virtual Box与Vagrant的安装与踩坑

vagrant的好处就不多说了,也不知道是人品问题还是啥,同事电脑上相同版本啥问题没有,我就不行,于是重新来过一遍,顺便把一些坑记录一下安装+启动的命令如下(均在Windows下命令行中进行):vagrant box add 虚拟机名 虚拟机绝对地址:添加一个虚拟机 vagrant box list :查看可用的虚拟机 vagrant init 虚拟机名:初始化指定的虚拟机 vagrant up:启动虚拟机 vagrant ssh:使用ssh连接 vagrant box remove ..

2020-11-26 00:22:03 2890 1

原创 【已解决】Spring Boot Mybatis配置报错org.apache.ibatis.binding.BindingException:

因为之前有过做ssm项目的经验,看到这个报错第一反应是没有配置mapper包扫描,但是检查了一下,都配置了,又去网上查了查,原因无非就是像我猜测的一样,缺少包扫描,或者名字没对应上啥的,但是我把我的配置和网上的一一比对了一下,基本上都不缺,名字包名也都是直接粘贴复制的,不会出错,但是运行了一下还是有这个问题仔细检查了一下突然看到我配置的mybatis.mapper-locations是这样的mybatis.mapper-locations=classpath:mapper/*.xml但是我的目

2020-11-08 20:32:12 305

原创 springboot 启动报错A component required a bean of type ‘xxx‘ that could not be found.

背景是这样的,启动一个模块,该模块中有一个类依赖于另一个模块中的dao层,项目结构如图所示:za-client依赖于zx-demo一开始以为没有加入依赖,把被依赖的模块clear一下重新install,导入之后还是不行突然想到这是外部的jar包,而springboot启动是从同级目录开始扫描的,扫描不到是正常的啊于是在springboot的主启动类上加上注解@Component("使用的类的路径")果然可行...

2020-11-02 20:21:21 7845

原创 [已解决]java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getHttpServletMapping()Lja

之前做项目的时候一直有这个错,但是当时因为不影响项目运行就没处理,但是今天突然影响项目了,那就不得不处理了看了网上一圈,要么是jar包冲突,要么是Tomcat版本不匹配,但是我这是springboot项目,Tomcat是内置的,所以第二个原因直接排除,至于第一个,我项目里压根就没这个jar包啊,想了半天感觉总不可能是jdk里面的这个jar包和springboot内置的servlet-apijar包冲突吧试着进到jdk目录下的jdk1.8.0_251\jre\lib\ext,把里面的servl

2020-10-29 23:27:28 2880 4

原创 VS code 安装Source Code Pro字体

最近在做一个前后端项目,前端就用vscode,后端是idea,但是idea看久了,vscode的字体看着就很不舒服,就寻思着把vscode的字体改为和idea一致的Source Code Pro字体,这样就不会有啥问题了。Source Code Pro 是 Adobe 公司号称最佳的编程字体。而且还是开源的。它非常适合用于阅读代码,支持 Linux、Mac OS X 和 Windows 等操作系统,而且无论商业或个人都可以免费使用。截个图给大家预览一下下面来说一下安装方法idea很方便

2020-10-27 19:51:39 4731 3

空空如也

空空如也

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

TA关注的人

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