自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JDK、JRE和JVM之间的关系

作为一个Java开发者,只会用Java,却不知什么是JDK、JRE和JVM是什么,以及他们之间有什么联系。本文总结了JDK,JRE,JVM三者的关系与区别。JDK、JRE和JVM之间的关系一、JDK二、JRE三、JVM四、三者的联系五、三者的区别六、总结一、JDKJDK是Java开发工具包,其中包括编译工具(javac.exe)打包工具(jar.exe)等,也包括JRE。在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工.

2022-03-14 19:59:16 15159 1

原创 SpringBoot整合Redis缓存

SpringBoot整合Redis缓存一、缓存概念知识1、是什么缓存2、缓存的优缺点3、为什么使用缓存二、Redis概念知识1、Redis简介2、为什么用Redis作为缓存3、Redis 支持的数据类型4、Redis缓存常见问题1. 缓存穿透2. 缓存击穿3. 缓存雪崩4. 缓存一致性三、SpringBoot整合redis1、使用redis缓存1. 引入redis依赖2. 修改项目启动类3. 配置redis数据库4. 创建redis配置类5. 操作redis2、使用 SpringCache 的注解1. 注解

2022-02-16 20:10:30 12325 13

原创 浅谈Java注解

注解(Annotation)是放在Java源码的类、方法、字段、参数前的一种特殊“注释”。注释会被编译器直接忽略,注解则可以被编译器打包进入class文件,因此,注解是一种用作标注的“元数据”。}}第一步,用@interface}}}其中,必须设置@Target和@Retention,@Retention一般设置为RUNTIME,因为我们自定义的注解通常要求在运行期读取。一般情况下,不必写@Inherited和@Repeatable。...

2022-07-26 11:27:56 1389 1

原创 WSL2下修改Docker Desktop镜像存放路径

WSL即适用于Linux的Windows子系统。适用于Linux的Windows子系统可让开发人员按原样运行GNU/Linux环境-包括大多数命令行工具、实用工具和应用程序-且不会产生虚拟机开销。WSL2是适用于Linux的Windows子系统体系结构的一个新版本,它支持适用于Linux的Windows子系统在Windows上运行ELF64Linux二进制文件。它的主要目标是提高文件系统性能,以及添加完全的系统调用兼容性。目录。...

2022-07-17 10:35:52 1976 1

原创 docker常用命令

docker常用命令

2022-07-12 17:15:46 835

原创 docker安装MySQL5.7

1.查找Docker Hub上的MySQL5.7 docker镜像2.拉取标签为5.7的MySQL docker镜像3、查看本地镜像库1.在本地创建mysql的映射目录2.在/root/mysql/conf中创建 文件三、使用镜像1.创建容器,将数据,日志,配置文件映射到本机2.启动mysql容器3.查看/root/mysql/data目录是否有数据文件4.连接docker mysql......

2022-07-12 16:38:06 849

原创 CentOS7安装Docker详细步骤

安装Docker1.安装软件包安装需要的软件包,yum-util 提供yum-config-manager功能,另两个是devicemapper驱动依赖2.设置 yum 源3.选择docker版本查看可

2022-07-12 11:02:47 20430 7

原创 SpringBoot整合JWT

SON Web Token(JWT)是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间以JSON对象安全传输信息。 这些信息可以通过数字签名进行验证和信任。 可以使用秘密(使用HMAC算法)或使用RSA的公钥/私钥对对JWT进行签名。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,该token也可直接被用于认证,也可被加密。是目前最流行的跨域认证解决方案。

2022-04-05 18:53:47 2343 1

原创 浅谈Java线程池

在web开发中,服务器需要接受并处理请求,所以会为一个请求来分配一个线程来进行处理。如果每次请求都新创建一个线程的话实现起来非常简便,但是如果并发的请求数量非常多,但每个线程执行的时间很短,这样就会频繁的创建和销毁线程,如此一来会大大降低系统的效率。可能出现服务器在为每个请求创建新线程和销毁线程上花费的时间和消耗的系统资.

2022-03-31 15:26:11 660

原创 浅谈Java多线程

在计算机中,一个任务就是一个进程,比如打开Word就是打开一个进程。在进程内部还需要同时执行多个子任务。例如,Word可以让我们一边打字,一边进行拼写检查,我们把子任务称为线程。一个进程可以包含一个或多个线程,但至少会有一个线程。因为同一个应用程序,既可以有多个进程,也可以有多个线程。

2022-03-26 16:12:42 710

原创 浅谈Java——int和Integer的区别

Java数据类型有基本数据类型和引用数据类型,为了方便将基本数据类型当作对象处理,Java引入了基本数据类型相对应的封装类,如int封装类是Integer。

2022-03-25 16:01:03 2176

原创 浅谈String、StringBuffer与StringBuilder

在Java 编程中会广泛应用到字符串,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。需要注意的是,String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,这样不仅效率低下,而且大量浪费有限的内存空间。为了应对经常性的字符串相关的操作,谷歌引入了两个新的类——StringBuffer类和StringBuild类来对此种变化字符串进行处理。

2022-03-25 11:10:44 7341

原创 面试八股文(一)——Java基础

Java 基础基本数据类型包装类型缓冲池BigDecimalStringString, StringBuffer and StringBuilder内部数据结构AbstractStringBuilder 扩容final 关键字static 关键字Object 通用方法equals()hashCode()toString()clone()wait、notify、notifyAll 相关继承抽象类与接口抽象类接口比较super关键字重写与重载重写(Override)重载(Overload)反射异常泛型类型擦除注

2022-03-23 17:09:23 1691

原创 浅谈Java——Map集合

Map接口储存一组成对的键-值对象,提供key(键)到value(值)的映射,Map中的key不要求有序,不允许重复。value同样不要求有序,但可以重复。最常见的Map实现类是HashMap,他的储存方式是哈希表,优点是查询指定元素效率高。

2022-03-23 13:33:13 1156

原创 浅谈Java垃圾回收

在Java程序的生命周期中,Java运行环境提供了一个系统的垃圾回收器线程,负责自动回收那些没有被引用的对象所占用的内存,这种清除无用对象进行内存回收的过程就叫作垃圾回收 (garbage collection)。Java提供自动内存回收的功能,可以让程序员减轻许多内存管理的负担,同时也减少犯错的机会。

2022-03-22 16:30:20 1995

原创 浅谈Java栈内存和堆内存

Java把内存分成两种,一种叫做栈内存,一种叫做堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。

2022-03-22 11:52:15 5763 3

原创 Git系列教程(四)——git分支管理

什么是分支?有了分支,你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,既安全,又不影响别人工作。合并后再删掉分支,这和直接在`master`分支上工作效果是一样的,但过程更安全。

2022-03-21 19:28:23 2662 1

原创 Git系列教程(三)——git远程仓库

Git 远程仓库一、设置ssh二、添加远程库三、克隆远程库四、小结Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。这就需要一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。而这个服务器就是GitHub,这个网站就是提供Git仓库托管服务的,所以只需注册一个GitHub账号,就可以免费获得Git远程仓库。一、设置ssh由于本地Git仓库和GitHub仓库...

2022-03-20 17:27:50 2100

原创 Git系列教程(二)——git基础知识

Git 基础知识一、工作区和暂存区二、管理修改三、撤销修改四、删除文件五、总结一、工作区和暂存区Git和其他版本控制系统如的不同之处就是有暂存区的概念。暂存区是Git非常重要的概念,弄明白了暂存区,就弄明白了Git的很多操作到底干了什么。工作区(Working Directory)就是你在电脑里能看到的目录,比如我的test文件夹就是一个工作区。版本库(Repository)工作区有一个隐藏目录.git,这是Git的版本库,不算工作区。Git的版本库里存了很多东西,其中最重要的就是称...

2022-03-20 13:01:33 1761

原创 Git系列教程(一)——git版本管理

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆,在本地机器上拷贝一个完整的Git仓库。

2022-03-19 12:00:59 7714 1

原创 Java面向对象基础

面向对象基础一、方法定义方法private方法this变量方法参数可变参数参数绑定小结二、构造方法默认构造方法多构造方法小结三、方法重载小结四、继承继承树protectedsuper阻止继承向上转型向下转型区分继承和组合小结五、多态多态覆写Object方法调用superfinal小结六、抽象类抽象类面向抽象编程小结七、接口接口继承继承关系default方法小结一、方法一个class可以包含多个field,例如,我们给Person类就定义了两个field:class Person { publ.

2022-03-18 16:13:58 3469

原创 toString()、String.valueOf、(String)强制转换的区别

一、前言在日常开发中会经常遇到类型转换,toString()、String.valueOf、(String),尤其是前两种,在开发的时候通常是随心所欲,想用哪个用哪个。同样是类型转换,那它们之间有什么区别?又分别在什么情况下使用呢?二、代码实例1、基本类型(1)基本类型没有toString()方法 (2)推荐使用 (3)无法强转 (String)是标准的类型转换,将Object类型转为String类型,使用(String)强转时,最好使用instanceof做一个类型检查,判断是否

2022-03-18 14:19:16 1559

原创 SpringBoot统一接口返回和全局异常处理

现在大多数web项目基本都是前后端分离模式,这种模式会涉及到一个前后端对接问题,所以一套完善且规范的接口是非常有必要的,不仅能够提高对接效率,也可以让我的代码看起来更加简洁优雅。本文将解决如何在基于SpringBoot前后端分离开发模式下返回统一的标准格式以及处理全局异常。SpringBoot统一接口返回和全局异常处理一、为什么要返回统一格式1.1 返回字符串1.2 返回实体类对象1.3 返回异常二、定义返回标准格式2.1 定义返回格式2.2 定义返回对象2.3 定义状态码2.4 统一返回格式三、高级.

2022-03-12 11:59:04 8588 2

原创 MyBatis 注解实现动态SQL

在 Mybatis 中,使用注解可以很方便的进行sql操作,但很多动态 SQL 都是由 xml 配置实现的。而随着 SpringBoot的逐渐发展,越来越多的配置由配置文件转成注解的形式。其中包括动态 SQL 。Mybatis 的注解中,使用太过长的sql语句看起来很不美观。@Select("SELECT title from book_tbl where id = #{id}")如果想要在 mapper 中进行非必要关键字的查询时就需要使用动态 SQL,与 xml 配置不同的是,@Select.

2022-03-12 10:49:15 7103 1

原创 windows双系统完全删除ubuntu

windows双系统完全删除ubuntu

2022-03-05 19:44:49 13910 10

原创 【必看】SQL语句大全 看这篇就够了

SQL 语法SQL 语法一、基础二、创建表三、修改表四、插入五、更新六、删除七、查询DISTINCTLIMIT八、排序九、过滤十、通配符十一、计算字段十二、函数汇总文本处理日期和时间处理数值处理十三、分组十四、子查询十五、连接内连接自连接自然连接外连接十六、组合查询十七、视图十八、存储过程十九、游标二十、触发器二十一、事务管理二十二、字符集二十三、权限管理参考资料一、基础模式定义了数据如何存储、存储什么

2022-03-05 18:15:38 1869

原创 Lombok常用注解

在编程过程中会发现Java代码有时会显的冗长,Lombok提供了一系列注解用以在后台生成模板代码,将其从你的类中删除,从而有助于保持代码整洁,更易于阅读和维护。下面将介绍Lombok常用注解,以向你展示如何使用lombok生产更清晰、更简洁的代码。Lombok常用注解1. @NonNull2. 更简洁的数据类3.1 @Getter 和 @Setter3.2 @AllArgsConstructor3.3 @ToString3.4 @EqualsAndHashCode3.5 @Data4. 使用 @Buidl

2022-02-26 18:22:10 4540

原创 Spring、SpringMVC和SpringBoot的关系

一、概念1、Spring Spring是一个开源容器框架,可以接管web层,业务层,dao层,持久层的组件,并且可以配置各种bean,和维护bean与bean之间的关系。其核心就是控制反转(IOC),和面向切面(AOP),简单的说就是一个分层的轻量级开源框架。 2、SpringMVC Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。SpringMVC是一种web层mvc框架,用于替代servlet(处理|响应请求,获取表单参数,表单校

2022-02-22 14:08:29 9197

原创 SpringBoot热启动

在开发过程中,当写完一个功能我们需要运行应用程序测试,可能这个小功能中存在多个小bug,我们需要改正后重启服务器,这无形之中拖慢了开发的速度增加了开发时间,SpringBoot提供了spring-boot-devtools,使我们在更改应用和配置文件的时候,自动重启应用!打开pom.xml文件添加依赖 org.springframework.boot spring-boot-devtools true 只要classpath下的文件有变动,它就会自动重启。这...

2022-02-18 19:42:30 4504

原创 springboot项目打包成jar

SpringBoot项目打包成jar一、为什么打包二、如何打包(1)使用IDEA进行打包(2)使用maven进行打包三、运行jar包四、注意一、为什么打包项目开发完毕后会将前后端应用打包,然后部署到服务器上运行。Java Web应用在Spring Boot之前,通常是打包成war包,结合Tomcat来完成部署。而对于SpringBoot,官方的建议是将Spring Boot应用打包成一个fat jar(SpringBoot默认打包方式),即项目的依赖jar包也会被包含在Spring Boot项目的ja

2022-02-18 12:48:09 52172 1

原创 MyBatis注解实现like模糊查询

spring boot 2.0.5在使用mybatis进行注解模糊查询时遇到一些低级的错误,现记录下来错误示例:“select * from user where name like “”#{name}"”这个错误报Parameter index out of range (1 > number of parameters, which is 0);经过百度查询其它的得到这条sql语句,虽然能查出来,但是是全部数据都查出来了“select * from user where name lik

2022-02-13 23:02:45 3796

原创 git上传警告: LF will be replaced by CRLF in....

在执行git add .(添加至暂存区,但并未提交至服务器)操作时,有时终端会出现如下警告:warning: LF will be replaced by CRLF in ball_pool/assets/Main.js.The file will have its original line endings in your working directory原因:因为文件中换行符的差别导致的,警告的意思是指:会把windows格式【CRLF(回车换行)】转换成Unix格式【LF】。g

2022-02-13 15:16:07 2036

原创 启动MySQL报错:ERROR 2002(HY000): Can‘ t connect to Iocal MySQL server through socket

后动 ysql 报错:ERROR 2002(HY000):Cant connect to Iocal MySOLserver through socket. /var/(2)1.先查看mysql启动状态#/etc/rc.d/init.d/mysqld status2.mysql.sock位置查找与验证 ?# find / -name mysql.sock/Data/mydata/mysql.sock验证目录是否正确-u root p-S/Data/ydata/mysql.sock#mysql备注:S参数s

2021-09-26 16:07:51 1555

原创 关于Vue的URL转跳与参数传递

写业务中,从一个页面跳转到另一个页面,经常需要传值和取值,如何实现?1、通过router-link进行跳转使用query传递参数,路由必须使用path引入<-- 在a页面进行传值 --> <router-link :to="{path: '/home', query: {key: 'hello', value: 'world'}}">  <button>跳转</button></router-link> 跳

2021-09-18 10:53:05 2012

原创 vue-router子路由的实现

在应用界面开发中通常由多层嵌套的组件组合而成。但随着页面的增多,如果把所有的页面都塞到一个 routes 数组里面会显得很乱,你无法确定哪些页面存在关系。借助 vue-router 提供了嵌套路由的功能,让我们能把相关联的页面组织在一起。实验目的在我们的商城项目中,后台管理页 Admin 涉及到很多操作页面,比如:/admin 主页面/admin/create 创建新信息/admin/edit 编辑信息让我们通过嵌套路由的方式将它们组织在一起。创建Admin页面在src/views

2021-09-02 09:49:41 23629

原创 WSL离线安装到指定路径

1.进行系统设置:进入到 控制面板\所有控制面板项\程序和功能 中选择 启用或者关闭Windows功能找到 适用于Linux的Windows子系统 并勾选,然后 确定 选择 立即重新启动2.解压缩包在微软官网自行下载需要的版本:(手动下载适用于 Linux 的 Windows 子系统 (WSL) 发行版 | Microsoft Docs ), 将Ubuntu-1804.Appx的后缀改为“.zip”,然后根据自己的意愿将“.zip”文件解压到任一路径3.安装和启动将压缩包解压到任意路径,以管

2021-06-06 12:05:30 2162

原创 Jupyter Notebook自动补全&代码格式化

Jupyter Notebook自动补全&代码格式化安装 nbextensions安装:pip install jupyter_contrib_nbextensions -i https://pypi.mirrors.ustc.edu.cn/simple激活:jupyter contrib nbextension install --user安装 nbextensions_configurator安装:pip install jupyter_nbextensions_configur

2021-06-05 12:22:25 12793 3

原创 Python中 *args,**args的详细用法

*args 和 **kwargs主要用于函数定义,你可以将不定数量的参数传递给某个函数。*args*args 不定参数(不定的意思是指,预先并不知道,函数使用者会传递多少个参数给你)*args是用来发送一个非键值对的可变数量的参数列表给一个函数。*args的用法:当传入的参数个数未知,且不需要知道参数名称时。代码如下:def func_arg(farg, *args): print("formal arg:", farg) for arg in args: pr

2021-05-10 16:24:46 45382

原创 Sqoop数据导入导出(Mysql,HDFS,Hive,HBase)

Sqoop数据导入导出实验目的实验原理实验内容实验步骤使用Sqoop将Mysql中的数据导入到HDFS使用Sqoop将HDFS中数据存入到Mysql数据库中使用Sqoop将Mysql中数据导入到HBase中使用Sqoop将HBase中数据导出到Mysql中使用Sqoop将Mysql中表数据,导入到Hive表中使用Sqoop将Hive表中的数据,导出到Mysql表中实验目的掌握Sqoop的各种导入,导出操作实验原理在导入开始之前,Sqoop使用JDBC来检查将要导入的表。他检索出表中所有的列以及列的

2021-03-24 20:56:22 4954 1

原创 Python数据分析——pandas行列的选取

在数据分析中,选取需要的数据进行处理和分析是很重要的。在Excel表格中,通过鼠标点选或扩选可以轻松地选取数据,而在 pandas 数据中,需要通过索引来完成数据的选取工作。DataFrame数据的选取更复杂些,因为它是二维数组,选取列和行都有具体的使用方法。接下来将重点介绍DataFrame数据的选取。一. 选取列通过列索引标签或以属性的方式可以单独获取 DataFrame的列数据,返回的数据为 Series结构。通过两个中括号,可以获取多个列的数据。 city name sex y

2021-03-21 17:37:05 7400

空空如也

空空如也

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

TA关注的人

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