自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 zookeeper核心之ZAB协议就这么简单!

zookeeper核心之ZAB协议就这么简单!背景我们都知道 Zookeeper 是基于 ZAB 协议实现的,在介绍 ZAB 协议之前,先回顾一下 Zookeeper 的起源与发展。Zookeeper 究竟是在什么样的时代背景下被提出?为了解决了哪些棘手的问题?Zookeeper 最早起源于雅虎研究院的一个研究小组。当时,研究人员发现,在雅虎的很多大型系统基本都需要依赖一个类似的系统来进行分布式协调,但是这些系统都存在分布式单点问题,所以雅虎的开发人员就试图开发出一个通用的无单点问题的分布式协调框架

2020-10-21 13:37:27 313 3

原创 MySql中varchar和char,如何选择合适的数据类型?

背景学过MySQL的同学都知道MySQL中varchar和char是两种最主要的字符串类型,varchar是变长的类型,而char是固定长度。那关于如何选择类型就成为令人头疼的事,很多初学者为了保证业务兼容性强,存储字符串类型一律都是varchar类型。这是不妥的,需要根据varchar和char的特性来进行选择。varchar和char数据类型的区别varchar类型用于存储可变长的字符串...

2020-04-16 11:12:32 891

原创 MySql中varchar(10)和varchar(100)的区别

背景许多使用MySQL的同学都会使用到varchar这个数据类型。初学者刚开始学习varchar时,一定记得varchar是个变长的类型这个知识点,所以很多初学者在设计表时,就会把varchar(X)的长度设置的非常长,目的也是为了保证以后有更长的数据存储时,能更好的兼容。于是本来varchar(10)就可以满足当前的存储的长度需求了,改成了varchar(100)。那么疑问来了:既然是变...

2020-04-15 10:42:25 1235

原创 java反射原来是这么玩的(反射一开,谁都不爱)

反射的发展历史1996年01月23日,jdk 1.0版本发布,代号为Oak(橡树)。这个代号为Oak(橡树)的版本,在发布后的第二年,1997年02月19日,发布jdk 1.1版本,这次版本发布中引入了反射机制。关于反射机制,由于年代久远,能搜索到对于反射机制的记载少之又少,能找到最为久远的是一篇题为《Using Java Reflection》的文章,发表于 1998年1月,文中提到:反射...

2020-03-25 11:14:16 199

原创 工厂模式的三种实现,就这么简单!

工厂模式工厂模式是开发中常用的一种设计模式,每一种设计模式都会极大的解决程序设计方面的问题,工厂模式也是一样,本文将会用通俗的语言来解释什么是工厂模式?工厂模式的种类、代码示例、每种工厂模式的优缺点和工厂模式适用的场景。为什么要是使用工厂模式?首先我们用一个生动故事来描述下什么是工厂模式,这会让你更快的理解工厂模式,为后面理解的工厂模式的几种实现方式打下基础。假如,你需要让公司开一个收入证...

2020-03-24 10:53:01 361

原创 代理模式的种类、原理及各种实例详解

代理模式是开发中常用的一种设计模式,每一种设计模式的出现都会极大的解决某方面的问题,代理模式也是一样,本文将会用通俗的语言来解释什么是代理模式?代理模式的种类、代码示例、每种代理模式的优缺点和代理模式适用的场景。代理模式是什么?首先我们用一个小故事来描述下什么是代理模式,这会让你更快的理解代理模式的相关角色,为后面的各种代理打下基础。假如,你是一个大明星,人气很旺,粉丝也特别多。因为人气高,...

2020-03-23 13:45:12 678

原创 HashMap在并发情况下为什么造成死循环?

这个问题是在面试时常问的几个问题,一般在问这个问题之前会问Hashmap和HashTable的区别?面试者一般会回答:hashtable是线程安全的,hashmap是线程不安全的。那么面试官就会紧接着问道,为什么hashmap不是线程安全的,会造成什么问题么?于是面试者就回答:HashMap在并发情况下的put操作会造成死循环。这时候就会被面试官问:HashMap在并发为什么造成死循环?很多...

2020-03-07 11:20:29 987

原创 Mybatis原理之数据源和连接池

在Java工程项目中,我们常会用到Mybatis框架对数据库中的数据进行增删查改,其原理就是对 JDBC 做了一层封装,并优化数据源的连接。​ 我们先来回顾下 JDBC 操作数据库的过程。JDBC 操作数据库JDBC 操作数据库的时候需要指定 连接类型、加载驱动、建立连接、最终执行 SQL 语句,代码如下:public static final String url = "jdbc...

2020-01-17 14:22:24 273

原创 Linux下安装RabbitMQ

Linux下安装RabbitMQ安装Erlang环境安装GCC GCC-C++ Openssl等模块,安装过就不需要安装了yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel安装ncursesyum -y install ncurses-devel安装erlang环境wget...

2020-01-09 17:20:20 201

原创 SpringBoot和Mybatis配置多数据源连接多个数据库

SpringBoot和Mybatis配置多数据源连接多个数据库目前业界操作数据库的框架一般是 Mybatis,但在很多业务场景下,我们需要在一个工程里配置多个数据源来实现业务逻辑。在SpringBoot中也可以实现多数据源并配合Mybatis框架编写xml文件来执行SQL。在SpringBoot中,配置多数据源的方式十分便捷,下面开始上代码:在pom.xml文件中需要添加一些依赖&l...

2020-01-08 10:50:44 3290 1

原创 SpringBoot连接多RabbitMQ源

在实际开发中,很多场景需要异步处理,这时就需要用到RabbitMQ,而且随着场景的增多程序可能需要连接多个RabbitMQ。SpringBoot本身提供了默认的配置可以快速配置连接RabbitMQ,但是只能连接一个RabbitMQ,当需要连接多个RabbitMQ时,默认的配置就不太适用了,需要单独编写每个连接。在SpringBoot框架中,我们常用的两个类一般是:RabbitTemplate...

2020-01-07 13:42:17 921

原创 SpringBoot教程之RabbitMQ示例

SpringBoot教程之RabbitMQ示例SpringBoot框架已经提供了RabbitMQ的使用jar包,开发人员在使用RabbitMQ的时候只需要引用jar包简单的配置一下就可以使用RabbitMQ,这极大的简化了开发人员的开发成本,提升开发效率。话不多说,直接上代码:先在pom.xml文件添加依赖spring-boot-starter-amqp如下:<?xml versi...

2020-01-04 09:55:48 314

原创 SpringBoot整合Swagger快速构建REST-API并生成优美的API文档

上一篇《简单搭建SpringBoot项目》讲了简单的搭建SpringBoot 项目,而 SpringBoot 和 Swagger-ui 搭配在持续交付的前后端开发中意义重大,Swagger 规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务,对调用方而言非常直观,接口也可以点击try it out!按钮 进行调试,在实际开发中大大增加了开发效率。点击可了解更多 s...

2020-01-03 11:26:30 375

原创 简单搭建SpringBoot项目

Spring Boot 简单介绍Spring Boot 本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具,同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等...

2020-01-02 16:29:37 456 1

原创 MAC安装python,一次性搞定(必看)

MAC安装pythonMac 上默认已经安装了 python,查看当前python的版本,可以在终端执行:python(默认安装的是python2.7版本)但是实际软件开发时,我们需要python3,查看Mac上是否安装python3?终端输入:python3如果出现command not found那就说明没有装Mac上安装python3如果电脑中没有安装pytho...

2019-12-24 15:14:21 508

原创 mac安装nodejs,一次性搞定(必看)

mac安装nodejsmmp安装过程真的折腾死我了。先安装brew然后下载node.jsbrew install node下载完成之后,验证下版本:node -vnpm -v然后再下载淘宝镜像npm install -g cnpm --registry=https://registry.npm.taobao.org权限不够的话,加上sudosudo npm insta...

2019-12-24 15:13:18 1700 1

原创 MAC上安装brew,一次性搞定(必看)

MAC上安装brewbrew 是 Mac 下的一个包管理工具,作用类似于 centos 下的 yum。brew 可以用一条命令,就可以在mac上安装、卸载、更新各种软件包,因为brew的使用方便,如今已成为使用mac电脑的程序员的必备工具mac上如何安装brew?安装brew安装brew也很简单,一条命令即可:/usr/bin/ruby -e "$(curl -fsSL https:...

2019-12-24 14:04:01 3764

空空如也

空空如也

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

TA关注的人

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