自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ArrayList去重常用的四种方式及性能对比(JMH性能分析)

文章目录ArrayList去重常用方法HashSet & LinkedHashSetstream & parallelStreamJMH性能分析去重选择这里提供四种实用的ArrayList去重的方法,同时我会实用Oracle提供的性能测试工具JMH(Java Microbenchmark Harness,Java微基准测试套件)来测试一下这几种方法的性能。当然这里测试的是在系统性能充裕的情况下进行的,看一看谁更能压榨机器的性能。当然,那种不常用的去重方式这里就不涉及了。ArrayLis

2022-02-12 23:50:55 5517 2

原创 FastJSON解析Json字符串(反序列化为List、Map)

文章目录配置maven依赖数据准备JSON格式字符串转Java对象DO&DTOSelfJSONUtils测试&调用注意的点Fastjson API在日常开发与数据库打交道的时候,常有以Json格式的字符串存储到数据库的情况,当在Java程序中获取到对应的Json格式的String字符串后,如何才能转换为我们想要的数据格式(比如转换成Java中的自定义类等),就需要做出对Json数据解析的,而我最近写的接口就遇到了这样的需求,我借助阿里的Fastjson api实现json转化为Java P

2022-02-11 16:13:33 10748

原创 终于Dubbo入门了

查阅了一些资料,站在前人的肩膀上看世界会很美好。最近一段时间在学习记录Dubbo的一些内容… …RPC1.什么是RPCRPC(Remote Procedure Call),远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。RPC简单理解就是在本地调用远端的程序,但是感.

2022-01-10 21:31:19 605

原创 TCP长连接和短连接-深入浅出(还在总说http长连接吗)

查阅了一些资料,站在前人的肩膀上看世界会很美好。什么是长连接和短连接1.官方解释长连接(long connnection),指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。短连接(short connnection),是相对于长连接而言的概念,指的是在数据传送过程中,只在需要发送数据时才去建立一个连接,数据发送完成后则断开此连接,即每次连接只完成一项业务的发送。2.通俗一点长连接:连接->传输数据->保持连接 -> 传输数据-.

2022-01-10 21:26:53 11040

原创 Git常用指令与场景(协作开发必备)

查阅了一些资料,站在前人的肩膀上,看世界会很美好的。跳转:Git和Gitee零基础入门(小白必备!)一、Git分区距离上一篇Git文章,已经过去了很长时间了,今天再写一篇,整理最近遇到的一些问题及自己的解决方案。首先是git分区图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sHylw43P-1641556066223)(D:\Markdown\images\git1.png)]二、Git协作开发版本管理系统可以实现自动记录每次文件的改动,大家可以写作编.

2022-01-07 19:51:11 498

原创 Docker中拉取的MySQL用户密码丢失【已解决】

文章目录一、MySQL启动与挂载二、root密码丢失三、其他用户密码丢失参看:《MySQL必知必会》https://my.oschina.net/u/2322202/blog/3090119说来我真废物啊,刚搭建起docker中的mysql来,还没体验几天远程数据库,密码我给丢了,呜呜呜~先说环境:MySQL5.7、阿里云Linux内核CentOS8、Docker中启动MySQL。一、MySQL启动与挂载挂载的作用:**使得外部Linux有docker中mysql的数据,当内部或外部

2021-11-27 22:19:15 647

原创 MySQL用户权限总结【用户授权必会】

文章目录一、MySQL用户权限二、用户权限介绍1.权限级别2.权限实现3.权限分布4.查询权限表三、用户权限实战1.查看用户权限信息2.用户创建和授权创建MySQL用户和权限*刷新权限查看和修改权限参看:《MySQL必知必会》https://www.cnblogs.com/Richardzhu/p/3318595.html一、MySQL用户权限我的MySQL版本是5.7~最近有一个项目,在开发过程中直接把数据库安装到阿里云服务器,本地连接阿里云服务器中的MySQL就不能直接root

2021-11-27 21:56:34 9937 2

原创 云服务器中Docker安装与镜像使用【MySQL、redis快速访问】

在云服务器上安装Docker,并且在Docker中安装MySQL、redis,本地能够访问到服务器docker中的MySQL数据~

2021-11-24 13:01:22 3393 3

原创 SpringSecurity表层【SpringBoot中快速开始、源码分析、核心功能演示】

文章目录一、Security简介二、UserDetailsService1.loadUserByUsername方法2.UserDetailsService实现类三、PasswordEncoder1.encode()2.matches()3.PasswordEncoder使用四、SpringBoot整合Security(配置类)1.实现业务访问链2.实现UserDetailsService3.编写鉴权逻辑4.编写配置类5.启动测试Others1.基于注解配置2.权限、角色、ip2.1 权限2.2 角色2.3

2021-11-13 18:33:19 1887

原创 序列化深入浅出 —— Java版本

文章目录一、概念&作用二、Java实现序列化1.字节流序列化2.JSON序列化3.二者区别三、序列化安全1.serialVersionUID2.反序列化不安全参看:《深入理解序列化与反序列化》牛晓丽https://www.bilibili.com/video/BV1E7411q7QKhttps://tech.meituan.com/2015/02/26/serialization-vs-deserialization.html一、概念&作用将本地已经实例化的某个对象(此

2021-10-29 14:46:24 257

原创 SpringBoot整合Redis实现缓存(自动缓存 + 手动aop缓存)

文章目录一、新建SpringBoot项目1.依赖2.配置文件3.sql和实体类4.统一返回Result二、连接测试1.controller2.service3.mapper4.swagger3启动测试三、Redis缓存(*)1.redis缓存策略2.@Cacheable自动缓存3.RedisTemplate手动缓存3.1 Cache注解和缓存逻辑3.2 配置类RedisConfig23.3 Redis工具类编写3.4 测试四、RedisTemplate部分源码1.redis缓存自动配置2.数据序列化de

2021-10-28 15:48:37 4568 6

原创 SpringBoot上传文件到 后端服务器 或 云服务器(七牛云、阿里云、腾讯云等等都是一样的操作步骤)

文章目录一、新建SpringBoot项目1.pom.xml2.application.yml3.配置Swagger34.统一返回类Result5.统一异常响应ErrorCode二、上传文件到后端1.Controller2.Service3.Swagger3测试三、上传文件到云服务器1.前期准备2.SpringBoot集成2.1 配置SpringBoot2.2 七牛云工具类2.3 controller和service2.4 测试3.扩展Demo Gitee地址:https://gitee.com/pdh_

2021-10-25 10:21:22 2965 4

原创 Swagger3快速使用

参看https://swagger.io/https://www.bilibili.com/video/BV1F44y1t7aKhttp://itboyhub.com/2021/01/29/springboot-swagger3Swagger 为我们提供了一套通过代码和注解自动生成文档的方法,这一点对于保证API 文档的及时性将有很大的帮助。swagger3支持OpenAPI,发布于2020年7月。它的很多使用细节与swagger2中一致,这里就不做出多的解释【点击我,快速学习swagger2.

2021-10-24 18:57:06 5953 5

原创 Java线程池,不会不行

文章目录一、线程池介绍二、线程池核心1.内部原理2.线程池组成3.核心参数4.核心方法三、在springBoot中使用线程池1.新建立SpringBoot项目2.线程池配置类3.新建Service类4.编写TestController5.使用Swagger2测试四、问题排查参看:《阿里巴巴 java 开发手册》https://www.bilibili.com/video/BV1dt4y1i7Gthttps://blog.csdn.net/zhaohong_bo/article/details/8

2021-10-19 17:46:57 265

原创 ThreadLocal,我悟了~

文章目录一、ThreadLocal简介二、ThreadLocal核心1.方法2.原理3.ThradLocalMap底层4.参数存储位置三、ThreadLocal内存泄漏四、常见使用场景1.spring隔离级别2.传递对象参数3.更多的使用场景五、ThreadLocal与Synchronized参看:《深入理解JVM虚拟机》第三版https://www.jianshu.com/p/3c5d7f09dfbdhttps://blog.csdn.net/qq_35190492/article/deta

2021-10-19 08:56:05 292 1

原创 JSON一文通透,Java、JS与JSON互转

文章目录一、JSON介绍1.语法规则2.Google浏览器插件二、Java对象和JSON互转1.Java对象转化为JSON1.1使用Java类库1.2使用fastjson2.JSON转化为Java对象3.封装JSONUtils工具类(重点)三、JS对象和JSON互转1.JSON转JS对象2.JS对象转JSON参看:视频:https://www.bilibili.com/video/BV1Pt411u7R3菜鸟教程:https://www.runoob.com/json/json-tutorial.

2021-10-14 10:51:14 756

原创 Java8中日期java.tim的API还不用?(媲美Joda-Time类库!)

文章目录一、概述二、常用类1.LocalDateTime1.1 now()方法1.2 of()方法1.3 plus增加1.4 minus减少1.5 with修改2.ZoneId和ZonedDateTime三、实例超实用1.java.util.Date和java.time.LocalDateTime的转换2.java.sql.Date和java.sql.TimeStamp的转化3.java.util.Calendar转化为ZonedDateTime4.LocalDateTime与String互相转换5.毫秒转

2021-10-12 17:53:37 272

原创 SpringBoot+Vue前后端分离项目的搭建及简单开发(这次保证看明白~)

文章目录概述一、搭建SpringBoot后端1.sql脚本2.新建SpringBoot项目3.MP代码生成4.编写Controller二、搭建Vue前端1.IDEA安装Vue.js插件2.IDEA启动Vue项目3.编写Vue代码4.接收后端数据三、Element UI使用1.简单的数据展示2.Element-ui更多...参看:https://www.bilibili.com/video/BV137411B7vB概述vue+springboot+mybatisplus+mysql演示,搭建起来的是

2021-10-07 11:19:29 9815 8

原创 安装并搭建Vue项目【安装node,设置npm镜像】

文章目录前言一、安装Vue1.安装node.js配置路径和缓存(非必要)2.安装cnmp镜像3.安装vue-cli3.0脚手架二、可视化工具构建Vue项目1.进入图形化界面2.创建项目前言本篇简述Windows下,安装、搭建Vue项目。Vue的一些基本语法不涉及,需要自行学习。在学习前端前沿技术之前,在本地安装node+vue环境。Vue通过尽可能简单的 API 实现 响应的数据绑定 和 组合的视图组件。它易于上手,便于与第三方库或既有项目整合。一、安装Vue安装它的方式有三种:安装独立版本

2021-10-04 18:46:38 5626 4

原创 Spring AOP和Spring IoC 我真的有在学了

文章目录一、Spring IOCDI和IOCIOC容器初始化二、Spring AOP1.名词解释JoinPoint(连接点)Pointcut(切点)Advice(增强)切点函数2.快速使用2.1 Spring AOP注解2.2 使用示例3.Proxy代理3.1 代理简介3.2 代理分类静态代理动态代理4.AOP运行流程学习到SpringBoot,有必要更进一步理解和学习Spring更深层的东西。这就学习和整理了这一篇文章。参看:《深入理解JVM虚拟机》第三版https://spring.io

2021-09-30 16:20:34 327 1

原创 JVM类加载机制,我终于学明白了~

文章目录类加载机制1.类加载过程1.1 Loading(加载)1.2 Linking(链接)1.3 Initialization(初始化)2.类加载时机3、类加载原理3.1 类加载器介绍3.2 双亲委派模式工作原理优势3.3 类加载流程图4.扩展类加载机制参看:《深入理解JVM虚拟机》https://blog.csdn.net/m0_38075425/article/details/81627349https://blog.csdn.net/zhaocuit/article/details/

2021-09-21 16:31:15 284

原创 看完这篇Java注解,我要在学妹面前吹牛皮~

文章目录Java注解1.注解的定义2.元注解2.1 @Retention(保留)2.2 @Documented(文档)2.3 @Target(目标)2.4 @Inherited(继承)2.5 @Repeatable(可重复)3.注解的属性3.1 使用一般使用单个参数传递无参数传递3.2 定义4.注解的获取(反射)4.1 获取类上注解对象4.2 类、方法上注解对象5.注解的使用需求6.Java预设的注解Java注解Annotation,注解,对于Java基础不扎实的我,只会用而不知道其中的原理,今天让我

2021-09-20 19:14:02 276

原创 讲Reflection?就是Java反射了

文章目录一、Java反射1.反射实现示例2.什么是反射3.反射的原理4.反射的用法4.1 常用类4.2 基本的用法获取Class对象获取构造方法Constructor获取单个构造方法获取所有构造方法反射创建实例获取成员变量获取成员方法5.扩展一、Java反射参看:https://juejin.cn/post/6917050648563777544https://juejin.cn/post/6909692344291819533https://blog.csdn.net/a7452

2021-09-20 19:09:08 164

原创 能讲讲Java泛型 和 类型擦除吗?

文章目录Java 泛型和类型擦除1.泛型1.1 泛型的定义和使用1.2 通配符 ?1.3 泛型中值得注意的地方2.类型擦除2.1 类型擦除带来的局限性Java 泛型和类型擦除泛型抽离了数据类型与代码逻辑,提高程序代码的简洁性和可读性,并提供可能的编译时类型转换安全检测功能。1.泛型泛型,广泛适用的类型,是JDK5引入的新特性,官方的说法是为了 参数化类型,就是将类型作为一个参数传递给一个方法或者传递给一个类。当具体的类型确定后,泛型又提供了一种类型检测机制,只有类型匹配的数据才能正常传递。1

2021-09-17 20:53:54 254

原创 练手小项目 - 基于MVC架构的原生Javaweb快递管理项目(从零搭建,感受技术的迭代~)

文章目录一、项目介绍二、快速使用三、核心技术1.项目架构2.后端数据封装2.1 JSON2.2 BooStrapTableXxx类2.2 Message类3.分页实现3.1 前端调用实现3.2 后台逻辑实现4.二维码生成5.异常的统一处理6.用户权限处理7.阿里云短信发送四、拓展及展望一、项目介绍练手的一个小项目,能做 快递、快递员、用户、管理员 的管理(增删改查),支持多用户访问。技术选型系统环境:Java EE 8、Servlet 3.0、Apache Maven 3、Mysql。技术点:J

2021-09-17 11:05:38 1115 2

原创 从零搭建一个MVC架构框架项目(学 完反射+注解+类加载机制+javaweb 后,我飘了~)

文章目录一、MVC架构介绍二、快速启动三、MVC架构搭建(核心)1.新建Maven项目2.方法类型定义2.1 ResponseBody和ResponseView2.2 ResponseType3.映射器HandlerMapping3.1 HandlerMapping核心3.2 方法描述4.DispatcherServlet5.application.properties类加载控制器6.web.xml配置文件7.测试MVC8.MVC执行流程四、以MVC为基础的JavaWeb项目1.配置德鲁伊连接池2.Mode

2021-09-16 15:47:19 1439

原创 快速掌握 Java 8 新特性之 函数式接口、Lambda接口、方法引用、Stream

文章目录一、函数式接口二、Lambda表达式1.Lambda语法2.Lambda表达式实例3.Lambda变量作用域三、方法引用`::`四、Stream1.Stream介绍2.生成流3.Stream API3.1 常见API3.2 Collectors归约## 零、Java 8 简介参看:https://www.runoob.com/java/java8-new-features.htmlB站宋红康Java 8部分:https://www.bilibili.com/video/BV1Qb411g7

2021-09-15 15:13:38 197

原创 JavaWeb - 常用的分层架构(MVC、MVP、阿里巴巴分层架构、... ...)

文章目录一、MVC1.MVC介绍2.MVC分析3.MVC执行流程4.MV分层的优点二、MVP1.MVP介绍2.MVP优点三、阿里分层架构四、DDD微服务一、MVC绝大多数现行的分层架构,都是在MVC分层架构的基础之上不断完善,针对特定的需求场景而演变的。理解MVC分层架构的必不可少的!!1.MVC介绍MVC是由Model(模型)、View(视图)、Controller(控制器)三层组成,是一种将业务逻辑、数据、界面显示分离开来的软件设计模式。其中:Model:功能的实现,数据库的管理,主要

2021-09-14 16:08:28 1267

原创 SpringBoot零基础集成Thymeleaf模板引擎

文章目录一、SpringBoot快速使用1.引入启动器2.Service3.Controller4.users.html5.启动项目进行测试二、Thymeleaf详解1.Thymeleaf介绍2.thymeleaf模板缓存机制3.标准表达式语法3.1 变量表达式3.2 选择(星号)表达式3.3 文字国际化表达式3.4 URL表达式问: ${...}和*{...}区别?4.常见用法4.1 赋值、字符串拼接4.2 条件判断 If/Unless4.3 each循环4.4 内联文本/JS4.5 内嵌变量5.使用th

2021-09-13 17:46:00 3935

原创 开发工具 - springboot整合h2数据库

文章目录1.h2介绍2.Springboot整合H22.1 h2依赖2.2 yml配置文件2.3 SQL脚本2.4 实体类2.5 Mapper2.6 测试类3.未完待续 ...1.h2介绍官方文档,最为致命:https://www.ctolib.com/docs/sfile/h2-database-doc/index.htmlH2数据库是由Java编写、基于内存的数据库,它所占的空间非常小。虚拟机启动的时候建立数据库,虚拟机关闭的时候销毁数据库。由于h2数据库可缓存临时数据等特点,所以此数据库经

2021-09-12 23:10:30 12618 1

原创 SpringBoot - 整合mybatis、TkMybatis和MyBatis Plus(零基础整合无压力~!)

零、前言本文提到的内容,都只是最基础的应用,个人学习的同时,记录下来,忘记之后还可查看此文档快速回忆。参看:Mybatis:https://mybatis.org/mybatis-3/zh/getting-started.htmlMybatis plus:https://mp.baomidou.com/文章目录零、前言一、Mybatis1.SpringBoot整合Mybatis2.动态SQL3.注意的点二、tkmybatis1.SpringBoot整合tkmybatis1.1 tkmybati

2021-09-12 20:15:30 2146

原创 SpringBoot - 自动配置原理

参看:博客1:https://blog.csdn.net/u014745069/article/details/83820511博客2:https://afoo.me/posts/2015-07-09-how-spring-boot-works.htmlSpringBoot文档:http://felord.cn/_doc/_springboot/2.1.5.RELEASE/_book/pages/spring-boot-features.html文章目录零、前言一、SpringBoot启动类注解

2021-09-10 09:42:35 232

原创 开发工具 - Lombok一文入门到入土~

零、前言Lombok开发利器,非常简单的一个工具。此片博客参看:官网:https://projectlombok.org/B站编程不良人:https://www.bilibili.com/video/BV1gg4y1v7Mi使用Lombok环境要求:JDK1.8+,MAVEN,IDEA,Internet,… 。在IDEA中安装使用步骤:引入pom依赖安装Lombok插件(需要重启)在对应类上加上注解文章目录零、前言一、Lombok入门1.Lombok介绍2.项目中使用Lombok

2021-09-08 23:57:12 212

原创 Swagger2快速入门

零、前言参看:Swagger官网 :http://swagger.io/Github:https://github.com/swagger-api/swagger-core/wiki/AnnotationsB站狂胜说:https://www.bilibili.com/video/BV1Y441197Lw步骤鱼骨图(前三项,必做):文章目录零、前言一、Swagger介绍二、SpringBoot集成Swaager21.新建一个SpringBoot项目2.在pom.xml文件中引入依赖3.编写

2021-09-08 10:10:54 1265

原创 SpringBoot - 快速搭建一个SpringBoot项目(纯小白搭建教程)

零、环境介绍环境:jdk1.8及以上,maven,Win10,IDEA,网络文章目录零、环境介绍一、手把手创建1.创建步骤2.启动类和测试编写2.1 项目结构2.2 创建启动类DemoApplication2.3 测试二、依赖工具创建一、手把手创建请求创建在启动类所在的包里面,才能顺利启动1.创建步骤看图,有手就行之后得到的就是一个maven项目,目录结构如下:之后添加依赖,springboot的核心依赖。SpringBoot提供了一个名为spring-boot-star

2021-09-01 10:01:53 1291

原创 练手小项目 - bill-manager(springboot、tk mybatis、thymeleaf、PageHelper的简单应用)零基础版

记账管理项目项目地址:https://gitee.com/pdh_gitee/bill-manager.git此项目简单的应用到的技术栈:springboot,mybatis和tk mybatis(持久化),thymeleaf(前端页面展示)和一些简单的前端基础知识。零基础即可入门,实现对springboot,mybatis和tk mybatis(持久化),thymeleaf的了解,也可在此基础之上,查看相关的文档,更进一步的了解学习这些知识。下面给两个文档:SpringBoot中文文档:http:

2021-08-31 17:28:27 229

原创 MySQL-存储IP地址一文解决(随便问~)

以下分析基于MySQL5.6及以上,参看:《高性能MySQL 第三版》https://dev.mysql.com/doc/refman/8.0/en/在MySQL中存储IP地址有多种方法,通过各自的特点,在不同的场景下选择不同的存储方式。这里结合实际应用提供并分析两种存储IP地址的方法。一、IPv4和IPv6IP地址分为IPv4和IPv6两种地址格式,下面介绍一下两者:IPv4的地址是由4组十进制数值组成,数值之间采用.分隔,每一组占1byte,8比特位,范围是0~255。完整的IPv.

2021-08-15 22:27:34 2717

原创 MySQL - MySQL事物与事物管理

文章目录一、事物的四大特性(ACID)二、事物的处理1.事物处理的几个术语2.事物处理的指令3.控制事物处理3.1 使用ROLLBACK3.2 使用COMMIT3.3 使用保留点3.4 更改默认的提交行为4.不能事物处理的命名三、事物的隔离性1.事物的隔离级别2.隔离级别与一致性的关系3.设置事物的隔离级别3.1 方式一3.2 方式二4.查看事物的隔离级别# 概述并不是MySQL中所有的引擎都支持事物,常见的存储引擎如InnoDB支持事物,MyISAM不支持事物。Transaction,事物,在

2021-08-09 19:52:35 171

原创 MySQL - MySQL基本语句手册(查找必备!!)

概况本文把常用的MySQL语句总结在一起,查看起来非常的方便文章目录概况一、MySQL数据库操作1.创建数据库CREATE DATABASE2.查看数据库SHOW DATABASES3.选择数据库USE DATABASE4.删除数据库DROP DATABASE二、MySQL数据表操作1.创建数据表CREATE TABLE2.查看数据表结构SHOW COLUMNS或DESCRIBE4.修改表结构ALTER TABLE5.重命名表RENAME TABLE6.删除表DROP TABLE三、数据表高级操作1.克

2021-08-07 14:41:54 10878

原创 MySQL - MySQL索引(一文从入门到精通)

MySQL索引一、索引介绍1.索引是什么索引是帮助MySQL高效获取数据的数据结构,能优化数据库的查询速度,降低服务器负载(不需要所有数据库中的所有数据,)。索引本身也很大,不可能全部存储在内存中,因此索引往往是存储在磁盘上的文件中的(可能存储在单独的索引文件中,也可能和数据一起存储在数据文件中)。我们通常所说的索引,包括聚集索引、覆盖索引、组合索引、前缀索引、唯一索引等,没有特别说明,默认都是使用B+树结构组织(多路搜索树,并不一定是二叉的)的索引。索引有两种存储类型,包括B型树(BTRE

2021-08-07 14:39:23 324

空空如也

空空如也

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

TA关注的人

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