自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yufire的博客

一起学习Java知识

  • 博客(32)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 SpringBoot外部化配置,SpringBoot干掉配置文件?带你手动实现外部化配置

外部化配置前言本文主要讲解 手动实现外部化配置 的方法,目前未在生产环境进行验证,请谨慎使用,自己可以先在测试环境玩玩为了干掉配置文件而生!一、是什么外部化配置:从字面意思来讲就是把项目中的配置进行外部化(放入项目之外的其他地方) 这样的话我们的配置就可以进行灵活的变动了二、为什么如果项目到了生产环境,可能有某个配置需要进行变动,根据原始方法的话你就要在配置文件中更改配置然后进行重新发布。这样无疑会影响我们的效率,而且也相当的麻烦其实目前市面上已经有了很多很成熟的外部化配置框架,像:Spri

2021-03-19 10:46:27 258

原创 Docker简介及安装 Linux安装Docker Centos安装Docker Ubuntu安装Docker

一、什么是Docker?Docker时Docker.Lnc公司开源的一个基于LXC技术之上搭建的Container容器引擎,源代码托管在Github上,基于Go语言并遵从Apache2.0协议开源。Docker属于Linux容器的一种封装,提供简单易用的容器使用接口。Docker将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了Docker,就不用担心环境问题。总体来说,Docker的接口相当简单,用户

2020-06-02 14:08:08 373

原创 SpringBoot整合阿里云SMS短信服务 并实现发送短信验证码的功能 Redis Java 短信验证码

SpringBoot整合阿里云SMS短信服务 并实现发送短信验证码的功能简单简介短信服务(Short Message Service)是广大企业客户快速触达手机用户所优选使用的通信能力。调用API或用群发助手,即可发送验证码、通知类和营销短信;国内验证短信秒级触达,到达率99%;国际/港澳台短信覆盖200多个国家和地区,安全稳定,广受出海企业选用。本次用到的技术需要熟悉 Spri...

2020-05-04 12:52:50 2673 8

原创 HashMap原理硬核分析,细到每一行代码!

HashMap是Map接口下的一个实现类,它是线程不安全的,在日常开发中使用非常频繁,它是以key、value形式存储数据,具体使用数组+链表进行存储,在特殊情况下会转换为红黑树优化性能,其中存储时,key可以为null。

2022-09-22 17:28:29 502 1

原创 List接口源码详解以及选型:ArrayList、 LinkedList、Vector

List是一个接口,继承自Collection接口,其下方还有ArrayList、LinkedList、Vertor的实现类。本文主要讲解底层是如何实现的。

2022-09-22 16:59:51 342

原创 SpringCloud系列(九) 使用Zuul实现服务网关

公众号关注公众号和我一起学习哦!一、什么是ZuulSpring官方的解释:微服务架构很棒,但是随着您的应用程序编程接口(API)开始增长,与它们的维护相关的挑战也随之增加。API网关可以帮助您解决这些问题以及更多问题。它是一个功能强大的架构工具,可用于管理微服务架构中的消息路由,过滤和代理。Zuul 的主要功能是路由转发和过滤器。路由功能是微服务的一部分,比如 /api/user 转发到到 User 服务,/api/shop 转发到到 Shop 服务。Zuul 默认和 Ribbon 结合

2021-03-24 16:16:27 255

原创 SpringCloud系列(七) 使用Ribbon实现负责均衡

公众号关注公众号和我一起学习哦!什么是负载均衡?负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。为什么需要负载均衡?随着互联网时代的来临,为了扛得住高并发,高请求访问量,我们开发的项目随之演变为一个一个的微服务,微服务可以单独部署,那么怎么样才可以实现负载均衡呢?答案是:使用Ribbon一、添加配置1. 在 applicat

2021-03-24 16:13:35 160

原创 SpringCloud系列(六) 使用Hystrix进行服务熔断

公众号关注公众号和我一起学习哦!一、为何要容错?微服务架构的系统通常会包含多个模块,各个微服务部署在不同的机器上进行网络通信,那就不可避免以下几种问题网络请求超时微服务不可用微服务高负载如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet 容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的 “雪崩” 效应。针对上边的问题,处理容错通常使用以下手段超时重试熔断

2021-03-24 16:12:05 346 1

原创 SpringCloud系列(五) 使用Feign进行远程调用

公众号关注公众号和我一起学习哦!一、什么是FeignFeign是一个声明式的模板化的HTTP客户端,它使得写 Http 客户端变得更简单。使用 Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用 Feign 注解和 JAX-RS 注解。Feign 支持可插拔的编码器和解码器。Feign 默认集成了 Ribbon,并和 Eureka 结合,默认实现了负载均衡的效果Feign 采用的是基于接口的注解Feign 整合了 ribbonFeign 整合了 Hystrix

2021-03-24 16:10:14 692

原创 SpringCloud系列(四) 搭建Eureka注册中心

公众号关注公众号和我一起学习哦!目前市场上主流的第一套微服务架构解决方案:Spring Boot + Spring Cloud Netflix 用的人数最多但是 Netflix 已经在 2018年12月12日已经停止维护了,不过不影响我们正常使用一、创建项目工程目录在你的计算机上创建一个文件夹 名称为 hello-spring-cloud-netflix使用IDEA 打开该目录二、创建服务注册中心1. 使用IDEA 创建一个新的模块2. 创建SpringBoot 项目 名称为 spri

2021-03-24 16:09:19 208

原创 SpringCloud系列(三) 创建Euraka客户端

公众号关注公众号和我一起学习哦!创建客户端的目的只是 确保可以正确无误的连接上 注册中心1. 创建一个新的模块 选择SpringBoot项目 名称为: spring-cloud-netflix-client2. 添加 客户端需要的依赖pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.

2021-03-24 16:08:18 198

原创 SpringCloud系列(二) 传统开发与微服务的区别

一、传统的开发模式即所有的功都整合在一个项目里 然后打成一个war包里放在(Tomcat、JBoss、等javaEE容器里),其中包含 实体、DAO、Service、前端页面、等所有逻辑优点开发速度高效便于测试不存在各个功能之间调用存在的资源消耗缺点效率低下:可能会存在 A员工需要调用商品服务,但是B员工的登陆还没有写好,相互等待稳定性不好:一个功能出错可能导致整个项目崩溃难以维护:对于新接手项目的员工来说,所有的功能都耦合在一起不知从何下手难以扩展:一旦项目开发语言定住、不可以在

2021-03-24 16:06:42 326

原创 SpringCloud系列(一) SpringCloud简介

SpringCloud是基于SpringBoot的整套微服务架构,他提供了微服务开发所需的配置管理、服务发现、断路器、智能路由 等等。最重要的是,跟SpringBoot框架一起使用的话,会让你开发微服务架构的云服务非常好的方便。SpringBoot旨在简化创建产品级的 Spring 应用和服务,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用微服务功能。一、SpringCloud解决方案当下SpringCloud的解决方案诸多 例如:Dubbo + Zookeeper 目前市场上主流的

2021-03-24 16:06:19 164

原创 Dubbo的简介 Dubbo的前世今生

Dubbo简介一、Dubbo的简介1. Dubbo是阿里巴巴开源的一款解决微服务通信的框架, 它最大的特点是按照分层的方式来架构 ,使用这种方式可以使各个层之间解耦合2. Dubbo的模型非常的简单,要么是服务提供方,或者服务消费方3. Dubbo提供了三大核心能力:面向接口的远程方法调用智能容错,负载均衡服务注册和发现4. 特性一览面向接口代理的高性能RPC调用服务自动注册与发现运行期流量调度智能负载均衡dubbo内部支持多种负载均衡策略高度可扩展能力可视化的服

2020-06-11 19:52:31 352

原创 Dubbo整合SpringBoor的简单使用

Dubbo使用上一章已经初步了解了Dubbo 下面开始进行Dubbo的使用一、搭建zookeeper 环境zookeeper下载地址: http://archive.apache.org/dist/zookeeper/本次采用 zookeeper-3.3.6 版本下载完成之后进入conf目录先把 zoo-sample.cfg拷贝一份 以防万一修改 zoo-sample.cfg 为 zoo.cfg进入到bin目录右键使用管理员身份运zkServer.cmd 启动zookeepe

2020-06-11 19:50:39 182

原创 传统开发与微服务的区别

传统开发与微服务的区别一、传统的开发模式即所有的功都整合在一个项目里 然后打成一个war包里放在(Tomcat、JBoss、等javaEE容器里),其中包含 实体、DAO、Service、前端页面、等所有逻辑优点开发速度高效便于测试不存在各个功能之间调用存在的资源消耗缺点效率低下:可能会存在 A员工需要调用商品服务,但是B员工的登陆还没有写好,相互等待稳定性不好:一个功能出错可能导致整个项目崩溃难以维护:对于新接手项目的员工来说,所有的功能都耦合在一起不知从何下手难以扩展:一旦项

2020-06-02 14:15:23 1470

原创 使用 docker-compose快速启动docker容器 Docker-compose简介+使用

Docker-compose简介+使用Docker-compose简介Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排Docker Compose是 docker 提供的一个命令行工具,用来定义和运行由多个容器组成的应用。使用 compose,我们可以通过 YAML 文件声明式的定义应用程序的各个服务,并由单个命令完成应用的创建和启动。docker-compose.yml模板文件的指令version: "3"services: redis

2020-06-02 14:14:21 5344

原创 使用DockerFile构建属于自己的Docker镜像 DockerFile简介和使用

Dockerfile的使用Dockerfile简介Dockerfile 是一个文本文件,其内包含了一条条的 指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。基础知识每个命令都是大写 保留关键字执行顺序从上到下依次执行 每个命令都是一层#表示注释使用Dockerfile常用指令命令作用示例FROM基础镜像 告诉镜像的妈妈是谁FROM ubuntuMAINTAINER镜像是谁写的 姓名 + 邮箱R

2020-06-02 14:11:11 238

原创 Docker的使用 Docker的常用命令

Docker和Docker的使用Docker架构Docker daemon( Docker守护进程):Docker daemon是一个运行在宿主机( DOCKER-HOST)的后台进程。可通过 Docker客户端与之通信。Client( Docker客户端):Docker客户端是 Docker的用户界面,它可以接受用户命令和配置标识,并与 Docker daemon通信。图中, docker build等都是 Docker的相关命令。Images( Docker镜像):Docker镜像是一个只读

2020-06-02 14:09:38 218

原创 Docker搭建Nexus私服—Nexus私服的搭建

Maven私服的搭建一、什么是nexus?Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问Nexus不是Maven的核心概念,它仅仅是一种衍生出来的特殊的Maven仓库。对于Maven来说,仓库只有两种:本地仓库和远程仓库。Nexus只是Maven仓库之一Maven工作流程二、 为什么要使用nexus?我们可以把自己制作的jar包存放至nexus 供其他小伙伴使用他提供了强大的仓库管理功能加速Maven构建 构建项目时Maven会不停的请

2020-05-28 21:44:13 499

原创 Maven的简介及安装Maven Windows下安装Maven

Maven项目管理一、什么是Maven?Maven是Apache 下的项目管理工具,他是由纯Java语言开发,可以帮助我们更方便的构建和管理Java项目,项目包管理工具能和Maven相媲美的 估计就只有Gradle了二、为什么要使用MavenJar包管理1.1 从Maven仓库获取标准规范的Jar包,避免自己下载到错误的Jar包1.2 本地仓库同意管理Jar包,使Jar包与项目分离,减轻项目体积Maven可以跨平台Windows,Linux都可以使用清晰的项目结构多工程开发,将模块拆分

2020-05-28 21:41:45 418

原创 Markdown使用教程 Markdown简单使用

Markdown使用教程1. 首先来看下Markdown的简介Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建。Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。Markdown 编写的文档后缀为 .md, .markdown。2. Markdown的应用Markdown 能被使用来撰写电子书,如:

2020-05-13 17:28:47 270

原创 PageHelper分页插件 Mybatis分页 MySQL分页

PageHelperPageHelper 是 Mybatis 的分页插件,支持多数据库、多数据源。可以简化数据库的分页查询操作,整合过程也极其简单,只需引入依赖即可。码云地址该插件目前支持以下数据库的物理分页:OracleMysqlMariaDBSQLiteHsqldbPostgreSQLDB2SqlServer(2005,2008)InformixH2SqlServer2012DerbyPhoenix达梦数据库(dm)阿里云PPAS数据库神通数据库HerdDB

2020-05-13 17:27:18 855

原创 JS监听键盘按下事件 JavaScript JQuery

$(document).keypress(function (e) { // 回车和空格按下事件 if (e.keyCode == 13 || e.keyCode == 32) { $("#play").click(); }})keyCode大全附上字母和数字键的键码值(keyCode)按键键码按键键码按键键码按键键码A65J74S83149B66K75T84250C67L76U85

2020-05-09 14:06:10 660

原创 $.ajax的标准写法 ajax

$.ajax({ url:"http://www.baidu.com", //请求的url地址 dataType:"json", //返回格式为json async:true,//请求是否异步,默认为异步,这也是ajax重要特性 data:{"id":"value"}, //参数值 type:"POST", //请求方式 befo...

2020-05-06 15:00:32 376

原创 阿里云创建AccessKey 和 Access Key Secert

阿里云创建AccessKey 和 Access Key Secert首先去阿里云官网获取Access Key和AccessKey Secret打开控制台鼠标放在右上角头像上 点击AccessKey管理他会提示您不能使用您的主Key 要您使用子用户Key点击开始使用子用户AccessKey进入之后 选择创建用户 一定要勾选 编程访问 否则无法使用Java进行调用!...

2020-05-04 11:19:18 5348 1

原创 Spring Boot 整合 Thymeleaf模板引擎 Thymeleaf入门

Spring Boot 整合 ThymeleafThymeleaf简介1.Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较与其他的模板引擎,它有如下三个极吸引人的特点2.Thymeleaf 在有网络和无网络的环境下皆可运行,即 它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。3....

2020-05-04 10:45:31 329

原创 Spring Boot整合 数据库连接池 HikariCP Druid 阿里巴巴Druid

HikariCP (希卡利)数据库连接池部分(默认的连接池)简介:HiKariCP(xi ka li)1.HiKariCP是数据库连接池的一个后起之秀,号称性能最好,速度最快,可以完美地PK掉其他连接池。2.Hikari来自日文,是“光”(阳光的光,不是光秃秃的光)的意思 速度极快3.这个产品的口号是“快速、简单、可靠”4.快到SpringBoot2.0已经采用HikariCP作为默...

2020-05-04 10:44:28 1243

原创 SpringBoot 简介 快速入门初识SpringBoot 使用IDEA构建SpringBoot项目

Spring Boot 简介[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qn1dGflN-1588560141792)(https://spring.io/images/spring-logo-fc4350c59999bb62c468361537212419.svg)]简介1.什么是Spring Boot?Spring是新一代JavaEE开发标准 为我们提...

2020-05-04 10:43:16 232

原创 Ubuntu18.04使用技巧新机器的基本配置 SSL远程root链接

环境准备Ubuntu18.04Ubuntu启动服务 systemctl start 服务名克隆的Ubnutu获取root权限1.首先sudo passwd root输入两次root的密码允许使用root用户进行远程登陆(1)查询系统是否开启了ssh服务(2)若没有开启,尝试执行 /etc/init.d/ssh start命令(3)若没有该命令则表明没有安装opens...

2020-05-04 10:41:59 681

原创 Linux安装 Nginx 并配置https环境 Ubuntu Https apt Nginx命令

在Ubuntu 18.04上安装和配置Nginx1. 安装NginxNginx的软件包在Ubuntu默认软件仓库中可用。 安装非常简单,只需键入以下命令:# 更新软件包sudo apt update# 安装Nginxsudo apt install -y nginx安装完成后,请检查Nginx服务版本:sudo nginx -vNginx安装完毕Nginx防...

2020-05-04 07:46:16 2241

原创 MyBatis-Plus--快速入门Mysql Java持久层框架 Mybatis SpringBoot SpringMVC 配置文件

Mybatis-PlusMyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。特点无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 curd,...

2020-05-04 07:43:19 654

maven下载地址.txt

Maven是Apache 下的项目管理工具,他是由纯Java语言开发,可以帮助我们更方便的构建和管理Java项目,项目包管理工具 Maven最新下载地址

2020-05-28

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

TA关注的人

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