自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菩提小猿的博客

初入江湖,望各路大神指教

  • 博客(62)
  • 收藏
  • 关注

原创 贼 Cool:使用脚手架 vue-cli 来搭建 Vue 环境

文章目录1. 介绍搭建 Vue 环境的方法2. 使用 vue-cli 搭建 Vue2.1 设置 Node 环境2.2 基于 Node.js 安装 cnpm(淘宝镜像)2.3 安装vue2.4 安装webpack2.5 安装vue命令行工具。即:vue-cli2.6 安装webpack-cli2.7 检测安装是否成功3. 使用 vue-cli 创建项目1. 介绍搭建 Vue 环境的方法搭建 Vue 环境常用的有两个方法:1、在 Vue.js 的官网上直接下载 vue.min.js,并用 “script”

2021-02-16 22:16:28 330

原创 使用 Java 来操作 Redis

1. Jedis 的基本使用什么是 Jedis? github 上面是这样描述的:Jedis is a blazingly small and sane Redis java client.Jedis was conceived to be EASY to use.Jedis is fully compatible with redis 2.8.x, 3.x.x and above*.大致意思:Jedis 是 Redis 官方推荐的 Java 连接开发工具!使用 Java 来操作 Redi

2021-02-13 14:39:45 269 2

转载 深入理解 Java 中的注解

1. Java 中的注解1.1 注解概念首先看看官方对注解的描述:An annotation is a form of metadata, that can be added to Java source code. Classes, methods, variables, parameters and packages may be annotated. Annotations have no direct effect on the operation of the code they anno

2020-12-05 16:18:37 366

转载 mysql 中的日期类型

1. 日期类型MySql 中关于日期的类型有:date、datetime、timestamp日期赋值时,允许“不严格”语法:任何标点符都可以用做日期部分或时间部分之间的间割符。例如,‘98-12-31 11:30:45’、‘98.12.31 11+30+45’、'98/12/31 113045’和’98@12@31 113045’是等价的,对于不合法的将会转换为:0000-00-00 00:00:001.1 date 格式此类型的字段,存储数据格式为:YYYY-MM-DD(mysql会把后面的时间舍

2020-12-02 20:05:41 344

原创 Java 中的事件监听机制

Java 中的事件监听机制的参与者有3种角色:事件源 Source:发生事件的源头事件对象 Event:将发生的事件抽象为一个对象。用于事件监听器的相应的方法之中作为参数事件监听器 Listener:监听某(些)事件举例场景一:使用 Java 语言实现一个事件监听:当事件源状态改变时,会触发相应的事件,而这个事件会被监听器监听。监听到此事件后,进行相应的处理。自定义事件对象 MyEventpublic class MyEvent { // 事件名 private St

2020-11-30 20:49:51 526

原创 深入理解 JDBC

1. JDBC1.1 什么是 JDBC?JDBC 是什么?来看看文档说明:The Java Database Connectivity (JDBC) API provides universal data access from the Java programming language. Using the JDBC API, you can access virtually any data source, from relational databases to spreadsheets an

2020-11-28 16:41:15 311

转载 Java 中的 SPI 机制

Java 中的 SPI 机制SPI ,全称为 Service Provider Interface,是一种服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件(服务接口),自动加载文件里所定义的类(服务接口的具体实现类)。当外部程序装配这个模块的时候,就能通过该jar包META-INF/services/里的配置文件找到具体的实现类名,并装载实例化,完成模块的注入。这样就能很好的找到服务接口的实现类,而不需要再代码里制定jdk提供服务实现查找的一个工具类:j

2020-11-28 12:58:16 242

转载 线程池的简单介绍

1. 线程池1.1 ThreadPoolExecutor1.1.1 构造方法在ThreadPoolExecutor类中提供了四个构造方法:略构造器中各个参数的含义:corePoolSize:核心线程的大小。默认情况下,在创建了线程池后,线程池中并没有任何线程,而是等待有任务到来后才创建线程去执行任务。除非调用了 prestartAllCoreThreads()、prestartCoreThread() 方法----在没有任务到来之前,就创建 corePoolSize 个线程或一个线程。

2020-11-24 22:06:36 252

原创 BIO & NIO 的基本使用

文章目录1. BIO & NIO1.1 阻塞&非阻塞、同步&异步1.2 BIO1.2.1 BIO 简介1.2.2 BIO 案例1.3 NIO1.3.1 NIO 简介1.3.2 NIO 中的新概念1.3.2.1 通道 Channel1.3.2.2 缓冲区 Buffer1.3.2.3 选择器 Selector1.3.3 NIO 案例背景:至于为什么有这篇博客的产生呢?因为最近在学习 Tomcat,而 Tomcat 中又涉及到了 BIO、NIO、AIO、APR,这四种 IO。所以,我就

2020-11-22 23:25:27 367

原创 使用“反射”将 Java 中一种对象类型转换为另外一种类型

将一种对象类型转换为另外一种类型的常用场景场景如下:一般后端是使用 MVC 三层架构进行分层。实体类 (User) 用于接收数据库中的数据;表现层 (UserVo) 将数据传给前端。这中间免不了要将实体类转换为表现层中的对象。即:将 User 类转换为 UserVo。代码如下:实体类 User:public class User { private String name; private Integer age; private String address; get.

2020-11-06 22:19:53 2908 6

原创 网络编程中的 TCP、UDP 了解一下

1. 网络编程1.1 网络编程基础1.1.1 目的直接或间接地通过网络协议与其它计算机实现数据交换,进行通讯1.1.2 问题如何准确地定位网络上一台或多台主机:定位主机上的特定的应用(IP + 端口)找到主机后,如何可靠、高效地进行数据传输(网络通信协议)1.2 IPIP:唯一的标识 Internet 上的计算机IP 地址分类方式1:IPV4:4个字节组成。以“点分十进制”表示​IPV6:16个字节组成。写成 8 个无符号整数,每个整数用四个十六进制位表示,数之间用冒号(:)表示

2020-10-25 22:20:12 240

原创 ASCII?Unicode?GBK?还不清楚???

1. ASCIIASCII:主要用于显示现代英语和其它西欧语言标准 ASCII 码(基础 ASCII 码):使用 7 为二进制位(剩下一位为 0)来表示所有的大小写字母、数字0~9、标点符号以及美式的特殊控制字符其中:0~31、127(共33个)是控制字符或通信专用字符(其余为可显字符)控制字符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等​ 通信专用字符:SHO(文头)、EOT(文尾)、ACK(确认)等​ ASCII 码值为8、9、10、13

2020-10-24 23:38:38 313

原创 使用 IO 流复制目录

场景:要将 D 盘上的某个文件夹通过 IO 流复制到 E 盘下的某个文件夹中。实现:在一个 文件工具类中,通过 IO 流技术,运用递归算法,实现了一个简单的磁盘上文件夹的复制代码:public class FileUtil { /** * 复制目录 * * @param srcFile 源文件 * @param destFile 目标文件 */ public static void copyDir(File s

2020-10-24 21:25:24 253 2

原创 Java 中的 IO 流的基本使用

1. IO 流简介何为 IO 流?在计算机中,内存和磁盘需要进行数据传输(内存从磁盘中读入数据,进行处理,然后写入磁盘中),而数据传输需要通道。所以,这里的 “IO 流”就是数据传输的通道。内存和磁盘交互的图。所以,IO 流的作用:通过 IO 流,可以完成对磁盘文件的读和写2. IO 流的分类按流的方向分(以内存为参照物):输入流(往内存中去)、输出流(从内存中出来)按数据的读取方式:字节流、字符流字节流和字符流的区别?字节流:按照字节方式读取,一次读一个字节,可以读取任意类

2020-10-24 19:54:14 335

原创 详解 File 类

1. 为什么会有 File 类File ?什么是 File?中文的意思就是“文件”。在 Windows 操作系统中,数据是以文件的形式进行存储的。如:文本(.txt)、图片(.jpg、.png)、视频(avi)等。这些文件都被操作系统中的文件系统给管理着。那么问题来了,在 Java 语言中为什么会存在 File 类呢?大家都知道 Java 语言是一个面向对象的语言,遵循着“万事万物皆为对象”的法则。所以,Java 要想操作文件,就要把文件抽象成一个类------File 类。Java 中有哪些场景需

2020-10-20 00:43:21 1813

原创 SpringBoot + Vue 实现文件的上传与下载

文章目录1. 前言2. 简单案例2.1 功能需求2.2 开发环境2.3 编写代码2.3.1 上传2.3.1.1 前端2.3.1.2 后端总结1. 前言简要地记录下 SpringBoot 与 Vue 实现文件的上传与下载2. 简单案例2.1 功能需求前台使用 ElementUI 的 Upload 组件或者是 Ajax,后台使用 SpringBoot 来实现任意后缀名的文件的上传与下载2.2 开发环境IDEA-2019.1SpringBoot-2.0.2.RELEASEMaven-3.5

2020-09-11 21:37:28 2911 1

原创 Maven 多模块项目的创建与配置

文章目录前言1. 多模块项目介绍2. 多模块项目创建2.1 父模块创建2.2 子模块创建3. 多模块项目配置3.1 父模块POM文件配置3.1.1 父模块的打包类型3.1.2 继承设置3.1.3 使用dependencyManagement管理依赖版本号3.1.4 使用properties控制依赖包的版本号,便于版本维护3.2 子模块pom配置3.2.1 继承设置3.2.2 依赖设置3.3 测试总结前言不太会使用 IDEA 创建 Maven 的多模块项目,而在实际的项目开发中又经常遇到,并且自己平时

2020-09-10 21:35:51 1302

原创 在 Spring 中简单地使用测试类

文章目录1. 前言2. Spring 中使用测试类2.1 功能需求2.2 开发环境2.3 编写代码2.4 代码测试2.4.1 方法一2.4.1 方法二3. 总结1. 前言想着可能以后用测试类比较多,所以,就在在这里简要地记录一下 Spring 中如何使用测试类2. Spring 中使用测试类2.1 功能需求在测试类中判断实体类的属性值是否与给定的值相等2.2 开发环境IDEA-2019.1MAVEN-3.5.3Spring-5.0.6.RELEASE2.3 编写代码【项目结构】:

2020-09-08 14:05:20 1305

原创 Spring(一)------ Spring 整体架构、环境搭建、入门案例

系列文章目录例如:第一章 Python 机器学习入门之pandas的使用文章目录系列文章目录1. 前言2. Spring 简介3. Spring 的整体架构3.1 Core Container3.2 Data Access/Integration3.3 Web3.4 AOP3.5 Test4. 环境搭建4.1 源码获取4.2 IDEA 导入总结1. 前言        在大学期间,我有接触过 Spring 框架,能

2020-09-07 21:20:51 283

原创 由一个 @RequestBody 注解引起我的深思

以下内容并不保证其准确性,但具有可参考性。1. 背景1.1 HTTP 协议​ HTTP 协议 是一个应用层协议,它是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。​ HTTP 协议 规定:POST 提交的数据必须包含在消息主体中的 Entity-body 中,但是协议并没有规定数据使用什么编码方式。开发者可以自己决定消息主体的格式。​ 数

2020-09-07 13:30:04 316

原创 使用 Maven 命令将 jar 包添加到本地仓库去

在 IDEA 中,想在 Maven 项目中添加一个依赖,一直下载不下来。所以,就直接将 jar 包下载下来,然后通过 Maven 命令添加到本地仓库去。如:<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.26</version></dependency>打开

2020-08-10 13:35:40 639

原创 RabbitMQ 入门

文章目录1. RabbitMQ 简介2. RabbitMQ 安装2.1 判断 RabbitMQ 是否安装成功?3. HelloWorld3.1 常用术语3.2 HelloWorld3.2.1 demo 结构图3.2.2 demo 功能描述3.2.3 开发环境3.2.4 编码3.2.4.1 添加依赖:3.2.4.2 消息生产者3.2.4.3 try-with-resources 语句3.2.4.4 消息消费者3.2.4.5 测试1. RabbitMQ 简介官网简单来说:RabbitMQ 是开源的、面向

2020-08-09 21:19:18 265

原创 并发编程(一)之创建线程和线程中的常用方法

章节目录1. 进程线程1.1 进程1.2 线程2. Java中的线程2.1 创建并运行线程2.1.1 Thread2.1.2 Runnable1. 进程线程1.1 进程程序由指令和数据组成。但这些指令要运行,数据要读写,就必须将指令加载至CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备,而进程就是用来加载指令、管理内存、管理IO的程序和进程当一个程序被运行,从磁盘加载这个程序的代码至内存。这时,就开启了一个进程。进程(动态)可以视为程序(静态)的一个实例。大部分程序可以同时运行多

2020-07-04 20:51:51 279

原创 Shiro + JWT实现Token验证的快速入门

章节目录1. 用户认证1.1 Session认证1.1.1 什么是Session?1.1.2 什么是Session认证?1. 用户认证用户认证一般分为:Session认证、Token认证(JWT是一种特殊的Token认证)1.1 Session认证Session认证用于一般的Web项目中。1.1.1 什么是Session?HTTP协议是一种无状态协议。即:每次服务端接收客户端的请求时,都是一个全新的请求,服务端并不知道客户端的历史请求。例如说:当客户端进行账号和密码通过了身份认证,接着向服务端发

2020-06-23 23:10:00 3768 5

原创 使用Shiro+Redis实现Session共享

章节目录1. 为什么要实现Session共享?1.1 负载均衡1.2 负载均衡中的Session问题1.3 案例演示2. Shiro架构3. Shiro集成Redis1. 为什么要实现Session共享?说到这个问题,我们先来了解一下负载均衡的概念吧1.1 负载均衡当一个项目的访问量很大时,一个Tomcat吃不消,这时候就准备多个Tomcat,由Nginx按照权重来对请求进行分配,从而缓解单独一个Tomcat受到的压力。如果想进一步了解的话,可以访问网站:Nginx 负载均衡1.2 负载均衡中的

2020-06-20 12:49:48 3562 1

原创 SpringBoot搭建Shiro的快速入门

章节目录1. Shiro1.1 Shiro简介1.2 Shiro三大核心组件1.2.1 Subject1.2.2 SecurityManager1.2.3 Realm1.3 Shiro的认证和授权流程1.3.1 认证流程1.3.2 授权流程2. SpringBoot集成Shiro并完成登录操作2.1 集成Shiro1. ShiroShiro官网1.1 Shiro简介以下为Shiro的简单介绍:Shiro 是一个强大、简单易用的 Java 安全权限框架Shiro 可以非常容易的开发出足够好的应用

2020-06-18 22:12:56 1282 2

原创 SpringCloud搭建一个简单的天气预报系统(四)----集成Zuul

章节目录1. 前言2. API网关2.1 意义2.2 利与弊2.2.1 利2.2.2 弊2.3 常见的实现方式3. 集成Zuul3.1 简介3.2 如何集成1. 前言之前的实现中,已经有了很多的微服务API,如:天气数据API微服务、天气预报API微服务等。每个微服务提供各自的API,其他第三方是通过微服务的名称进行调用,这样的管理是有一个问题-----API没有一个统一的管理。自己想要哪个微服务就调用哪个微服务,没有一个统一的入口。而API网关就是来做一个统一的入口。2. API网关2.1 意义

2020-06-10 20:19:24 451

原创 SpringCloud搭建一个简单的天气预报系统(三)----集成Feign

章节目录1. 前言2. 微服务的消费模式2.1 服务直连模式2.1.1 什么叫服务直连模式?2.1.2 特点2.2 客户端发现模式2.2.1 工作流程2.3 服务端发现模式3. 常见的微服务消费者3.1 Apache HttpClient3.1.1 用法3.2 Ribbon3.2.1 简介3.3 Feign3.3.1 简介4. 集成Feign4.1 如何集成Feign4.2 天气预报系统集成Feign5. 实现微服务的负载均衡及高可用5.1 运行微服务实例1. 前言在上一篇博客 SpringCloud搭

2020-06-10 12:34:36 443 1

原创 SpringCloud搭建一个简单的天气预报系统(二)----集成Eureka

章节目录1. 集成Eureka1.1 简介1.2 工作原理1.3 搭建一个HelloWorld的Eureka项目1.3.1 Server端1.3.1.1 引入依赖1.3.1.2 配置文件application.yml1.3.1.3 修改主类1.3.2 Client端1.3.2.1 引入依赖1.3.1.2 配置文件application.yml1.3.1.3 修改主类1.4 将Eureka应用到天气预报系统中去1. 集成Eureka1.1 简介EureKa在Spring Cloud全家桶中担任着服务的注

2020-06-09 20:42:33 367

原创 SpringCloud搭建一个简单的天气预报系统(一)----服务拆分

章节目录1. 前言2. 单体架构如何进化为微服务架构3. 微服务架构的设计原则1. 前言2. 单体架构如何进化为微服务架构3. 微服务架构的设计原则

2020-06-09 10:09:40 721

原创 String类中的intern()方法

1.前言        其实,促使我写这篇博客的原因说起来就挺可笑的。疫情在家,无所事事,就和室友对于专业方面的知识互相吹牛皮。然后,室友出了好几道题考我。也许结果早就在他的意料之中吧。其中,最让我不解的是这道题:String s1 = new String("a") + new String("bc");s1.intern();String s2 = "abc";System.out.println(s1 == s2

2020-06-06 16:10:17 3989 5

原创 SpringBoot搭建一个简单的天气预报系统(二)

章节目录1. 剧情回顾2. 存在的问题3. SpringBoot集成Redis3.1 解决方案3.2 为什么选择Redis?3.3 使用Redis3.3.1 开发环境3.3.2 添加依赖3.3.3 功能需求3.3.4 手动编码3.3.5 测试4. SpringBoot集成Quartz4.1 实现天气数据的同步1. 剧情回顾在 SpringBoot搭建一个简单的天气预报系统(一)博客中已经实现了一个非常简单的天气预报系统------用户访问这个天气预报系统的时候,那么系统会响应给用户一个天气数据。但这个数

2020-06-03 20:27:45 1710 7

原创 手把手地带你走进Lambda表达式之门

章节目录1. 前言2. 认识Lambda2.1 Lambda简介2.2 Lambda语法2.3 Lambda表达式实例2.4 自定义一个Lambda表达式2.5 Lambda表达式对接口的要求2.5.1 函数式接口2.5.2 注解@FunctionalInterface2.5.3 举个例子3. 使用Lambda3.1 将Lambda作为方法的参数,传进方法中3.2 Lambda表达式替换匿名内部类3.2.1传统方法创建线程3.2.1.1 使用外部类创建线程3.2.1.2 使用匿名内部类创建线程3.2.2La

2020-06-02 21:27:43 440

原创 SpringBoot搭建一个简单的天气预报系统(一)

1. 前言        先用SpringBoot搭建一个简单的单体项目,后期,再用SpringCluod把它改造一个微服务架构的项目。其实,写这篇博客的真实原因也就学习一下SpringCloud。从单体架构过渡到微服务架构,可以深刻地体会到这两者架构的区别。而且,从今后的发展来看,确实很有必要接触微服务架构2. 实战        因为此项目

2020-06-01 21:05:09 2222 4

原创 使用Jackson解析Json字符串数组

1. 前言        最近,自己在做一个天气预报Demo,其中利用到了高德地图中的行政区域查询接口-----通过url请求,返回相应的json数据,并将此数据转换为Java对象。主要是json数据的结构比较复杂,有json数组,而自己这方面的知识涉及得又比较少,所以,折腾了好长一段时间。2. 需求分析        在Demo中,我是使用了

2020-05-31 22:29:27 5950 5

原创 Java中的内部类了解一下

文章目录1. 什么是内部类?2. 为什么要使用内部类?3. 如何使用内部类?3.1 成员内部类3.1.1 什么是成员内部类?3.2 局部(方法)内部类1. 什么是内部类?        Java 类中不仅可以定义变量和方法,还可以定义类,在类内部定义的类就被称为内部类。根据定义的方式不同,可以将内部类分为四种:成员内部类局部(方法)内部类静态内部类匿名内部类2. 为什么要使用内部类?  &

2020-05-28 17:08:29 223

原创 IDEA启动Web项目后,在Tomcat中的webapp文件夹下找不到?

1. 前言        说到这个问题,我也觉得很纳闷。当时我是刚从Eclipse转换到IDEA的,并正在慢慢熟悉IDEA。有一次,我运行一个JavaWeb项目时,突然想到:我把JavaWeb项目部署到Tomcat中,那Tomcat中的webapp文件夹下应该有它。当我找到这个文件夹时,很意外,竟然没有。        然后,我意识到了Eclip

2020-05-27 21:22:23 10242 4

原创 SSM项目中实现文件上传并保存到本地文件夹中

1. 前言         之前使用Servlet实现文件(图片)上传,并将图片保存到当前项目的路径下,在页面通过img标签将图片显示。但这会出现一个问题:把Tomcat服务器停止后,再启动,就会发现之前上传到Tomcat中的图片全消失了。这是因为再次启动Tomcat时,Tomcat会重新部署此项目,那么之前的项目会被覆盖掉,所以,上传的文件会消失,在页面的img标签中不能访问。   &nbsp

2020-05-27 16:30:01 3789 10

原创 手写一个迷你版的Mybatis框架

1. 前言接触Mybatis框架有些时日了,但我仅仅处于“会使用它”的这个层面,并没有对它进行深入地理解。所以,现在抽时间想对它一探究竟。2. Mybatis工作原理Mybatis工作原理参考了此博文:Mybatis工作原理2.1 Mybatis架构2.1.1 Mybatis框架的分层Mybatis框架大致分为四层:引导层、接口层、数据处理层、框架支撑层。如下图:2.1.2 Mybatis框架的实现原理Mybatis的底层还是采用了原生JDBC技术来实现对数据库的操作。只是通过 Sql

2020-05-19 14:48:19 316

原创 走进数据库连接池

1. 前言“池”(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销。此“池”是一种广义上的池,如:数据库连接池、线程池、内存池。此处只涉及到数据库连接池2. 数据库连接池2.1 什么是数据库连接池?那么,什么是数据库连接池呢?数据库连接池就是一个创建和管理数据库连接的缓冲池技术,这些连接随时会被需要它们的线程调用。2.2 java中常用的数据库连接池在java语言中,一些常用的数据库连接池有:C3P0、DBCP、Proxool以及阿里巴巴的Druid

2020-05-17 14:58:00 317

空空如也

空空如也

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

TA关注的人

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