自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (3)
  • 收藏
  • 关注

原创 SpringCloud服务调用 OpenFeign

Feign是一个声明式的Web服务客户端,让编写Web服务客户端变得非常容易,只需 创建一个接口并在接口上添加注解即可。OpenFeign 是Spring Cloud 在Feign 的基础上支持了SpringMVC 的注解,如@RequestMapping等。OpenFeign 的@FeignClient 可以解析SpringMVC的@RequestMapping注解下的接口,并通过动态代理的方式产生实现类,实现类中做负载均衡并调用其他服务。Feign自带负载均衡配置项。首先向注册中心注册微服务

2021-02-23 00:49:00 1358 7

原创 SpringCloud注册进Consul

启动Consul下载Consul https://www.consul.io/downloads在consul.exe路径下,启动conusl命令:consul agent -dev客户端程序添加依赖 pom.xml <!-- SpringCloud consul server --> <dependency> <groupId>org.springframework.cloud</groupId> ..

2021-02-22 11:29:13 301 4

原创 SpringCloud注册进Zookeeper

首先启动zk集群zk搭建可查看以前博客客户端程序pom.xml <!-- SpringBoot 整合Zookeeper客户端 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId> ..

2021-02-21 21:41:17 294 2

原创 Springcloud config 配置中心

Springcloud config 配置中心一、Config 配置原理二、Config 服务端2.1 搭建配置中心Spring Cloud Config是一个单独的微服务模块,分为服务端和客户端,主要为微服务框架提供集中化的配置支持。服务端一般可称为配置中心,用来连接配置仓库,并为客户端提供配置信息。客户端可以是微服务框架中的各个微服务应用,可以指定使用配置中心管理配置内容,在启动的时候读取远程git的配置加载到应用中,并将配置文件加载到本地文件系统。一、Config 配置原理二、Config 服

2021-02-16 16:21:33 488

原创 Springcloud负载均衡Ribbon

Springcloud负载均衡Ribbon一、Ribbon使用1. 客户端负载均衡2. Ribbon实例二、RestTemplate使用1. GET请求API1.1 getForEntity方法1.2 getForObject方法2. POST请求API2.1 postForLocation方法2.2 postForObject方法2.3 postForEntity方法PUT请求APIDELETE请求APISpring Cloud Ribbon 是一个客户端负载均衡器,且并不是单独进行部署的。Ribbon

2021-01-29 22:10:55 597 3

原创 SpringBoot之AOP

面向切面编程(Aspect Oriented Programming, AOP)。它能够建立一种横向关系,对业务类使用横切技术,将多个类的公共方法抽取出来,留下业务核心方法,这样将业务类的关注点变成了核心关注点和横切关注点。Springboot之AOP的Demo新建spring项目。pom.xml<dependency> <groupId>org.springframework.boot</groupId> <arti.

2021-01-27 16:42:03 441 2

原创 SpringBoot之IOC

IOC 即为(Inversion of Control),控制反转。SpringBoot支持XML方式,推荐使用注解方式。实现一个简单的IOC实例新建一个spring 项目。实现一个简单的Bean对象。@Datapublic class Student { private Long id; private String username; private String password;}实现一个配置文件@Configurationpublic class

2021-01-25 16:37:39 396

原创 Springcloud Eureka原理

Spring Cloud Eureka 基于 Netflix Eureka 进行了封装,增加了Spring Boot 特有的自动化

2021-01-21 01:08:36 457

原创 Springcloud服务治理EureKa。服务注册中心与客户端

Springcloud服务治理EureKaEureka 的服务注册中心搭建Eureka 的服务提供者Eureka Server 的高可用Eureka 消费RestTemplate调用LoadBalancerClient调用Eureka 的服务注册中心搭建创建项目,选择Spring Initializr。选择依赖 Cloud Discover(Eureka Server)该项目为服务注册中心修改启动类程序启动类加上@EnableEurekaServer注解。用于启动服务注册中心,以提供给

2021-01-19 00:08:33 544

原创 SSM框架整合

Spring整合SpringMVC,Mybatis项目构建目录结构导入依赖pom.xml文件log4j2.xml 模板web.xml配置文件Spring配置文件SpringMVC配置文件Mybatis配置文件spring-mybatis.xmljdbc.propertiesmybatis-config.xml全局配置文件编码beandao层controllerservice层测试项目构建目录结构导入依赖pom.xml文件<?xml version="1.0" encoding="UTF-8

2021-01-12 14:59:55 662 2

原创 JDBC编程流程与原理

JDBC编程流程与原理JDBC介绍JDBC是指JAVA数据库连接,Java database connectivity的缩写,是Java提供的一个独立于特定数据库,通用的数据库存储和操作的公共接口。它为Java开发人员操作数据库提供了一个标准的API,可以为多种数据库提供统一访问。JDBC优势:Java语言访问数据库操作完全面向抽象接口编程。代码不依赖于任何的数据库,只要少量的修改就可以访问其它数据库。程序的可移植性增强。现在操作数据库的框架像Mybatis,Hibernate都非常优秀

2020-12-29 11:43:11 1384 1

原创 线程池任务提交原理,阻塞任务队列与拒绝策略

ThreadPoolExecutor参数解析之前学习线程池,发现线程池大致有四种创建方法:newFixedThreadPool 创建一个指定大小的线程池newCachedThreadPool 创建一个可缓冲的线程池newSingleThreadExecutor 创建一个仅有一个线程的线程池。newScheduledThreadPool 创建一个可周期性调度任务的线程池 public static ExecutorService newFixedThreadPool(int nThreads

2020-12-21 18:07:00 2640

原创 jstack命令测试

jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息。命令格式Usage: jstack [-l] <pid> (to connect to running process) 连接活动进程 jstack -F [-m] [-l] <pid> (to connect to a hung process) 连接阻塞进程 jstack [-m] [-l] <executable&g

2020-12-17 20:02:03 327 1

原创 HashMap原理与底层源码实现

HashMap的基层架构HashMap可以说非常重要,也是面试中的常考。HashMap底层的数据结构是:数组+链表+红黑树数组查询效率高,链表插入删除效率高,HashMap的底层结构完美的解决了数组和链表的问题,使查询和插入、删除效率都很高。当链表长度大于等于8并且数组长度大于等于64,链表长度就会转换为红黑树。如果红黑树的大小小于等于6,就会转换为链表。每一个节点保存的是Entry<Key,Value>的键值对。HashMap的常见属性 /** * The d

2020-12-17 15:25:15 1733

原创 LinkedList源码 底层原理实现

LinkedList源码 底层原理实现LinkedList底层实现初始化 构造函数增加元素LinkedList底层实现LinkedList底层实现为一个双向链表。如下图所示每个节点有前驱prev和后继next节点,以及节点保存的值item.private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E el

2020-12-17 10:31:15 524

原创 ArrayList原理与底层源码实现

ArrayList原理与底层源码实现整体架构成员变量初始化函数常用API新增和扩容实现整体架构成员变量ArrayList整体架构比较简单,就是一个一维数组。public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable{ private static final long

2020-12-15 18:27:52 2175 3

原创 Zookeeper、Kafka集群一键启动、关闭,脚本编写

Zookeeper集群一键启动在 /usr/local/bin目录下创建脚本 zk#!/bin/shcase $1 in"start"){ for i in centos3 centos4 centos5 do echo "********$i --> zkServer.sh start **********" ssh $i 'source /etc/profile; /opt/module/zookeeper/bin/zkServer.sh start;exit' done

2020-12-14 17:14:34 2867 1

原创 (二) Zookeeper内部原理之选举机制、Stat结构体与监听器原理

Zookeeper内部原理之选举机制、Stat结构体与监听器原理1. 选举机制2. 节点类型3. Stat 结构体4. 监听器原理5. 写数据流程1. 选举机制半数机制:集群中半数以上机器存活,集群可用。所以Zookeeper适合安装奇数台服务器。Zookeeper虽然在配置文件中没有指定Master和Slave。但是,Zookeeper工作时,是有一个节点为Leader,其他则为Follower,Leader是通过内部的选举机制临时产生的。在zk集群中,如果集群中某个服务器获得选举票数

2020-12-04 17:48:35 1398

原创 (三) Zookeeper实战篇之集群部署与客户端命令行操作

一、分布式集群安装部署查看详细部署步骤二、客户端命令行操作不同Zookeeper版本命令也不一样,本文以ZooKeeper:3.6.2为主。命令基本语法功能描述help显示所有操作命令ls [-s] [-w] [-R] path使用 ls 命令来查看当前znode中所包含的内容。-s 查看当前节点数据并能看到更新次数等数据create [-s] [-e] [-c] [-t ttl] path [data] [acl]普通创建 , -s 含有序列 ,-e 临时(

2020-12-04 16:49:25 1676

原创 Docker部署Zookeeper集群 详细步骤

Docker部署Zookeeper集群 详细步骤自定义镜像mycentos前往查看步骤——自定义mycentos镜像将Dockerfile文件 修改 EXPOSE 2181如下图则完成自定义镜像。启动3个mycentos容器,分别命名centos01、centos02、centos03。启动三个窗口分别运行下面三条命令。docker run -it -v /Zookeeper:/zk --name centos01 mycentos:1.0docker run -it -v /Zo

2020-12-04 01:33:01 4025

原创 (一) Kafka特性介绍与基础架构、消息队列

Kafka特性介绍与基础架构、消息队列1. Kafka定义2. 消息队列2.1 消息队列应用场景2.2 消息队列的两种模式3. Kafka的设计概要3.1 吞吐量/延时3.2 消息持久化3.3 负载均衡和故障转移3.4 伸缩性4. Kafaka基础架构5. Kafka的使用场景1. Kafka定义Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。Kafka设计之初就旨在提供3个方面的功能特性:为生产者和消费者提供一套简单的API降低

2020-12-03 10:43:29 726

原创 (四) Docker之Dockerfile编写与指令解析,自定义镜像实战

Docker之编写Dockerfile1. Dockerfile介绍1.1 docker build1.2 dockerignore文件1.3 Dockerfile格式2. Dockerfile构建过程解析2.1 Dockerfile内容基础知识:2.2 Docker执行Dockerfile的大致流程:2.3 三者关系3. DockerFile体系结构(指令详解)1. Dockerfile介绍Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。类似于Makefile

2020-12-02 18:37:58 2642

原创 (三) Docker容器数据卷 详细讲解

容器的数据与DockerFile解析1. 容器的数据1.1 数据卷1.2 数据卷能干嘛2. 如何操作2.1 映射一个外部卷2.2 创建一个数据卷2.3 DockerFile添加2.4 使用数据型容器1. 容器的数据容器中的文件系统由分层文件系统提供的,包含只读层(镜像)和可读可写层(容器运行时层),这些都被封装在容器内部,如果用户需要将主机上的文件系统共享给容器使用,目前由两种处理方式:数据卷——将主机的卷mount进入容器。数据容器——将外部容器分享给容器。1.1 数据卷先来看看Docke

2020-12-01 17:18:05 1043

原创 (二) Docker 镜像与容器的区别与存储结构

Docker 镜像与容器1. 是什么1.1 UnionFS(联合文件系统)1.2 Docker镜像加载原理1.3 镜像分层2. Docker镜像和容器的存储结构2.1 镜像和镜像层2.2 容器和容器层1. 是什么镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。1.1 UnionFS(联合文件系统)Union文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的

2020-12-01 11:20:48 1275

原创 (一) Docker介绍与安装、测试和常用命令等。一篇文章足以。

Docker介绍与测试使用、常用命令1. 云计算介绍1.1 虚拟化技术1.2 云计算服务模式2. Docker介绍2.1 Docker是什么?2.2 Docker能干吗?2.3 Docker的三要素3. Docker安装与常用命令3.1 Docker安装3.2 Docker测试3.3 Docker底层原理3.4 Docker常用命令3.5 Hub Docker的使用4. 阿里云镜像加速1. 云计算介绍1.1 虚拟化技术虚拟化一般分为硬件级虚拟化(hardware-level-virtualizatio

2020-11-30 20:04:13 3929 3

原创 (一)MySQL之数据库基本理论

数据库基本理论什么是范式事务的概念以及四个特性事务的常见分类事务的4中隔离级别什么是CAP定理什么是范式当设计关系型数据库时,需要遵守不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式 ( Normal Form),越高的范式冗余越小。第一范式(1NF),每一属性不可再分。是指在关系模型中,对域添加一个规范要求,所有的域都应该是原子性的,即数据库的每一列都是不可分隔的原子数据项,而不能是集合、数组记录等非原子数据项。第二范式(2NF),消除部分依赖。在1NF的基础上,每一

2020-11-25 17:13:15 785 1

原创 (一) Zookeeper入门篇之详细介绍与安装

Zookeeper入门学习1. 介绍2. 特点3. 数据结构4. 应用场景4.1 统一命名服务4.2 统一配置管理4.3 统一集群管理4.4 分布式锁4.5 软负载均衡5. Zookeeper安装1. 介绍Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。Zookeeper = 文件系统 + 通知机制Zookeeper从设计

2020-11-24 11:26:18 1333 2

原创 (四) Spring整合ActiveMQ---超详细教程

Spring整合ActiveMQ环境配置Spring整合ActiveMQ之队列生产者Spring整合ActiveMQ之队列消费者三级目录前面三节讲了ActiveMQ的安装、测试。JMS介绍以及四大组成元素,还有ActiveMQ的可靠性(持久化、事务、签收),还有Broker等等。但是光学会还不够,我们还要把ActiveMQ应用到我们已有的框架中,如Spring和SpringBoot等等。这一节主要学习如何在Spring中使用ActiveMQ。环境配置首先创建一个spring项目,在pom文件中导入

2020-11-22 11:13:06 4004 13

原创 (三) ActiveMQ的可靠性(持久化、事务与签收) 与 Broker

ActiveMQ的可靠性与BrokerActiveMQ的可靠性持久化事务签收ActiveMQ的BrokerActiveMQ的可靠性ActiveMQ的可靠性我们主要从一下三点分析PERSISTENT: 持久化Transacted: 事务Acknowkedge: 签收持久化持久化可以在创建生产者之后开启:messageProducer.setDeliveryMode(DeliveryMode.PERSISTENT);看一下DeliveryMode的源码,来了解setDeliveryMode

2020-11-18 16:55:58 1522

原创 (二) ActiveMQ之JMS介绍与组成的四大元素

ActiveMQ之JMS介绍、落地产品与组成的四大元素JMSJMS落地产品 比较JMS组成的四大元素JMSJavaEE是一套使用Java进行企业级应用开发的大家一致遵循的13个核心规范工业标准。JavaEE平台提供了一个基于组件的方法来加快设计、开发、装配及部署企业应用程序。JDBC(java Database Connectivity)JNDI(Java Name and Directory Interface)EJB(Enterprise JavaBean)RMI(RemoteMethod

2020-11-18 15:47:25 885

原创 (一) ActiveMQ介绍、安装与测试

ActiveMQ介绍、安装与测试ActiveMQ介绍与安装在什么场景下使用消息中间件?消息中间件能干嘛ActiveMQ测试ActiveMQ介绍与安装MQ是消息中间件,是一种在分布式系统中应用程序借以传递消息的媒介,常用的有Kafka、RabbitMQ、RocketMQ、ActiveMQ。我们要介绍的ActiveMQ是Apache下的开源项目,可以说学完ActiveMQ后,我们可以横向学习其他几个中间件也会变得容易。下载activemq的压缩包上传到Linux服务器,通过tar命令解压后,可以看到

2020-11-12 19:42:12 3747 4

原创 单例模式饿汉式与懒汉式,内部类实现单例模式

单例模式单例模式(Singleton Pattern)是指确保一个类在任何情况下都绝对持有一个实例,并提供一个全局访问点。饿汉式单例模式就是在类加载的时候就立即初始化,并且创建单例对象。绝对的线程安全public class HungrySingleton { //private static final HungrySingleton hungrySingleton = new HungrySingleton(); //静态代码块 private static final HungryS

2020-11-08 19:17:07 20586 18

原创 生产者与消费者模型

生产者-消费者模式是一个经典的多线程设计模式。在生产者-消费者模式中,通常有两类线程,即若干个生产者和消费者线程。生产者线程负责提交用户请求消费者线程负责处理生产者提交的任务。内存缓冲区 缓存生产者提交的任务或数据,供消费者使用。开发需要解决的问题:生产者线程与消费者线程对内存缓冲区的操作的线程安全问题。虚假唤醒。测试:/** * 生产者与消费者案例。 * @author */public class TestProductorAndConsumer { public

2020-09-26 18:40:01 1856

原创 并发编程线程基础

JAVA并发编程(一)线程的创建与运行线程的等待与通知等待线程执行终止的join方法线程睡眠sleep方法让出CPU执行权的yield方法线程中断线程死锁线程的创建与运行在线程创建之前,需要先知道什么是线程。线程 是进程的一个实体,线程是进程的一个单一的顺序执行路径,一个进程中至少有一个线程,进程中的多个线程共享进程资源。Java中线程创建有三种方法:继承Thread类并重写run方法实现Runnable接口的run方法使用FutureTask方式我们看一下代码实现package co

2020-08-26 16:21:28 1685

原创 PHP初级学习(三)

PHP初级学习(三)PHP函数php函数名以字母或下划线开头。语法风格类似于javascript。看一下语法<?php function functionName() { //函数体 }?>通过一个简答的例子来测试一下无参函数。<?php function hello(){ echo "hello,php!"."<br/>"; echo "hello,php!"."<br/>"; } hello(); //运行结果 //

2020-08-12 15:27:51 1349

原创 PHP初级学习(二)

PHP初级学习(二)常量常量即为值不变的量,或者常量的值被定义后不允许修改。分为自定义常量和系统常量。自定义常量PHP使用define函数来定义常量。define()函数的语法格式为:bool define(string $constant_name, mixed $value[, $case_sensitive = true])第一个参数为必选参数,常量名称,可不带美元符号。第二个参数为必选参数,是常量的值。第三个参数为可选参数,指定是否大小写敏感,设定为true不敏感,默认为fa

2020-08-12 14:04:48 1720

原创 PHP初级学习(一)

PHP初级学习初识PHP通用的开源脚本语言。运行在服务器端,适用于WEB开发领域。跨平台运行(Windows、Linux、Unix、Mac OS X 等)。可以与很多主流数据库建立连接(MySQL、ODBC、Oracle等)。免费下载使用PHP语法:PHP 脚本以 <?php 开始,以 ?> 结束, ?>可以省略每条语句用";"结束<?php //PHP代码?>实例1:输出 “hello php”(echo是PHP中的输出语句,可以把字符串输出

2020-08-11 00:08:10 1953

原创 LinkedList与LinkedHashMap的区别

LinkedList与LinkedHashMap的区别LinkedListLinkedList 底层数据结构是一个双向链表,链表的每个节点都可以向前或者向后传递。具有一下概念:链表的节点称为Node,有属性next,prev。分别指向后一个节点和前一个节点。first表示头节点,前一个节点为nulllast表示尾节点,后一个节点为nullLinkedList源码 public class LinkedList<E> extends AbstractSequentialL

2020-08-08 11:10:46 5451 1

原创 微信小程序线上版本自动更新

微信小程序线上版本自动更新解决代码这是当时做的小程序,供各位参考。小编也刚开始学习微信小程序,花了一周时间,终于完成了我的第一个小程序。这个漫长的开发过程中会遇到各种问题,往往由很多问题我们事先都想不到,只有经历过,才会去处理这些问题。一周之后,我完成了我的第一个小程序,并发布了正式版。之后我又不断完善程序,发布新的版本。然而有一天我发现我的用户用的还是最开始的版本,我突然意识到我忘记版本更...

2019-05-25 20:48:34 10458

Zookeeper集群配置所需安装包

Zookeeper集群所需安装包,包括zookeeper与jdk8-linux所需安装包,与教程版本一样,无需更改教程命令,方便大家配置。

2020-12-04

校园服务类小程序源码.zip

校园服务类小程序,开放功能有二手市场,代取快递,失物招领,老乡群,校内各部门电话,校内地图查询等等。源码详细,即可使用。

2020-06-27

jsoncpp与scons安装教程与资源.zip

Linux系统 JsonCpp库安装,scons包安装 内附库资源。 jsoncpp有多个版本,还有jsoncpp库安装与scons安装的详细教程。

2020-07-23

空空如也

空空如也

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

TA关注的人 TA的粉丝

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