自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (8)
  • 收藏
  • 关注

原创 Spring Boot 和Spring的区别

Spring Boot 是对Spring框架的封装和扩展,简化Web应用各层组件的开发过程、简化配置的管理、监控系统各个组件的运行状态、实现高效的应用程序部署

2022-11-08 16:37:54 177 1

原创 关系型数据库SQL开发语言

SQL(数据库开发语言)概念:用来管理数据库中的数据开发语言,主要用于插入数据、删除数据、更新数据、查询数据和管理关系数据库系统SQL语句分为数据定义语言(DDL)、数据操作语言(DML)、数据控制语言(DCL)。1、数据定义语言(DDL)概念:用于定义数据库、表、视图、函数、触发器、存储过程等语句:CREATE、ALTER、DROP、SHOW、USE、DESC、RENAME、TRUNCATE等2、数据操作语言(DML)概念:主要用于插入数据、查询数据、更改数据和删除数据...

2022-05-23 18:29:20 712

原创 Java 轻量级锁CAS原理

JVM的Synchronized重量级锁在操作系统内核态下是互斥锁的使用,所以线程阻塞和唤醒都涉及应用进程在用户状态到内核状态的频繁切换,导致锁开销大,性能低。JVM的轻量级锁使用CAS进行抢锁,CAS是CPU指令级的原子操作,处于用户状态下,所以JVM轻量级锁的开销较小。使用Unsafe类采用CAS原理,使用CAS中有四个参数,字段所在的对象、字段内存位置、原值、新值。在调用CAS方法时,首先判断内存位置的值与原值对比,如果相等,那么CPU会自动将该内存位置的值更新为新值,并返回TRUE,如果不匹

2022-05-15 19:25:23 425

原创 Linux(CentOS7) 系统安装PostgreSQL14

创建Postgre 用户组[root@MiWiFi-R4AC-srv local]# useradd postgres添加Postgre用户useradd -g postgres postuser1安装PostgreSQL资源库文件RPM#安装存储库RPM[root@MiWiFi-R4AC-srv local]# sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x8

2022-05-14 22:22:22 2053

原创 1、Spring5 功能模块和新特性

Spring5 功能模块和新特性

2022-05-02 21:41:37 1645

原创 1、kafka体系架构

kafak体系架构1、Producer:生产者,创建消息2、Consumer: 消费者,接受消息3、Broker:服务代理节点,多个broker组成一个Kafka集群4、Topic:主题,生产者将消息发送到指定的主题,消费者负责订阅主题进行消费5、Partition:分区,一个分区只属于一个主题,但是主题可以有多个分区,分区可以分别在不同的broker上,所以一个主题可以跨越多个broker,提供更强大的性能。分区引入主从架构机制,可以解决容灾能力和故障转移问题通过同步副本和异步

2022-04-06 17:14:44 2223

原创 java 线程池ThreadPoolExecutor

ThreadPoolExecutor 关闭 public void shutdown():关闭后,提交的任务被有序运行,不会再接收新任务//线程阻塞队列 BlockingQueue<Runnable> bQueue = new LinkedBlockingDeque<Runnable>(2); //创建线程池 //核心线程数 3 //最大线程数 5 //阻塞队列3 ThreadPoolExecutor poolExecutor = ne..

2022-02-09 11:33:00 343

原创 java 创建线程的5种方式

第一种创建线程方法public class Test { public static void main(String[] args) { //创建线程方法1 Thread thread = new Thread(); System.out.println("线程ID:"+thread.getId()); System.out.println("线程名称:"+thread.getName()); System.out.println("线程状态:"+thread.getStat

2022-01-12 16:58:21 295

原创 Mysql8 my.cnf文件说明

my.cnf配置文件说明,组成部分section name+参数配置[mysql] #section name 被mysql命令行客户端读取内容parameter_name = value #parameter values[mysqld] #section name 被mysql服务器读取parameter_name = value #parameter values[client] #被所有连接的客户端读取parameter_name = value #parameter v..

2022-01-06 19:00:00 1546

原创 Mysql8 创建用户、授权

#创建用户 #用户名:admin #从61.186.30.127可以连接 %代表所有主机 #身份认证 mysql_native_password #密码 @ab168168create user if not exists 'admin'@'61.186.30.127' identified with mysql_native_password by '@ab168168';#刷新指令FLUSH PRIVILEGES;#授权权限 #授权数据库mysql下的所有...

2022-01-05 17:35:35 837

原创 linux 安装Mysql-8.0.ll版本

mysql安装下载wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz解压tar -zxvfmysql-8.0.11-linux-glibc2.12-x86_64.tar.gz移动命名mv ./mysql-8.0.11-linux-glibc2.12-x86_64 /usr/local/mysql创建data文件cd /usr/..

2021-12-29 19:00:00 912

原创 linux redis6.2.6安装

下载安装包wget https://download.redis.io/releases/redis-6.2.6.tar.gz解压安装包 tar xzf redis-6.2.6.tar.gz进入解压文件cd redis-6.2.6make安装make如提示如下情况说明安装成功失败信息请执行如下命令[root@VM-8-16-centos local]# yum -y install centos-release-scl[root@VM-8-1.

2021-12-22 19:00:00 963

原创 java中的进程、线程

应用程序是以进程的方式运行在操作系统中,是操作系统分配资源的最小单位,进程中可以有多个线程。进程组成:程序段、数据段、进程控制块(进程ID、名称、状态、地址、文件句柄,上下文等)程序段:是进程中的代码程序指令集合,执行指令运行时,在内存中。数据段:是进程操作的数据集合,是在内存中进程控制块:是进程的基本信息和控制信息,进行的唯一标识Java的应用程序运行在Java虚拟机中,每执行一个Java应用程序,就会启动一个JVM进程,而JVM进程中是以线程来运行,执行main()方法后会产生一个j

2021-12-17 19:00:00 848

原创 Mybatis源码解读,目录

MyBatis的所有包如下,我们将MyBatis的包划分为基础功能包、配置解析包、核心操作包

2021-12-16 00:15:00 139

原创 MyBatis源码解读,基础包(exceptions)

exceptioins包下有四个类,exceptioins包下异常类类图如下(按类型划分)ExceptionFactory 类,是生产Exception的工厂类public class ExceptionFactory { private ExceptionFactory() { // Prevent Instantiation } public static RuntimeException wrapException(String message, Ex..

2021-12-13 20:30:00 217

原创 Linux I/O模型(网络编程),5种I/O模型

Linux的内核把对所有的外部设备操作为文件操作,对文件读写操作对调用内核提供的系统命令 ,返回File Descriptor(fd),对socket的读写同样返回相应的描述符,socketFd.5种I/O模型 1、阻塞I/O模型:对所有的文件操作都是阻塞,应用进程在调用操作时,一直在等待阶段,直到系统调用把数据包复制到应用进程的缓冲区或者发生异常时才响应返回,从调用操作到返回响应时间阶段是阻塞的。 2、非阻塞I/O模型:对所有的文件操作都是非阻塞,应用进程在调用操...

2021-12-10 16:15:17 134

原创 I/O多路复用技术(网络编程)

优点:通过单线程处理多个客户端同时接入请求,不需要创建额外的进程和线程,减少了维护额外进程和线程运行,系统开销小,减少维护工作量,节省了系统资源。应用场景: 1、同时处理多个连接和监听状态的套接字2、同时处理多种网络协议的套接字原理:把多个I/O的阻塞复用到同一个模型(select、pselect、poll、epoll)的阻塞上,使在单线程的情况下同时处理多个客户端请求IO复用模式select:时间复杂度O(n),通过轮询所有读写流,...

2021-12-10 15:18:26 297

原创 Docker 镜像

镜像是容器运行的基数,是只读文件,当运行容器时需要指定镜像名称或者镜像ID。镜像分层启动文件系统镜像(bootfs)->根镜像(linux)->应用镜像(Mysql)->容器(可读写)镜像读写镜像是不可写的,以只读方式pull,当创建运行容器时,就会在指定镜像上创建一个可读写系统层的临时镜像,容器只读指定镜像共享的内容,修改指定镜像会触发操作的内容复制到临时镜像中,所有的操作在本地文件系统,不会对指定镜像造成任何修改。通过提交命令保存临时镜像,成为真正的镜像查看本地..

2021-12-08 11:40:54 394

原创 CentOS环境安装Docker-ce社区版

Docker引擎支持CentOS7及以上版本,Linux内核版本至少为3.10,安装步骤如下更新软件包[root@VM-8-2-centos local]# sudo yum update安装命令sudo yum install -y docker-ce查看服务错误日志journalctl -u docker.service查看Docker信息[root@VM-8-2-centos local]# docker info...

2021-12-08 10:38:33 279

原创 docker 在linux系统启动、重启、状态

docker 启动命令sudo systemctl start dockerdocker 重启命令systemctl restart dockerdocker 查看状态命令systemctl status docker

2021-12-08 10:20:18 448

原创 3、spring boot2x bean多个实现类注入

创建接口IOne和实现接口IOne的类OneImpl和OneTwoImpl通过@Autowired注解,它会根据类型或者名称找到对应的Bean进行注入,如果不能区别就会报错IOne 接口如下package com.sboot.pr.service;/** * 作者:羊先生 * 邮箱:[email protected] * @2021-11-08 */public interface IOne { public String getInfo();}OneImpl类如下

2021-11-09 23:18:24 697

原创 2、spring boot2x 依赖注入

Bean装配到IOC容器中,而Bean之间的依赖,叫做依赖注入创建接口IOne和实现接口IOne的类OneImpl创建类Two类,把IOne注入到Two类中,通过Two获取IOne的信息,那么IOne和Two就是依赖关系,依赖注入IOne接口如下package com.sboot.pr.service;/** * 作者:羊先生 * 邮箱:[email protected] * @2021-11-08 */public interface IOne { public Strin

2021-11-08 00:55:53 74

原创 1、Springboot 注入装配到IOC容器方式

1、通过bean注解装配到IOC容器 创建装配的类,如下package com.sboot.pr.bean;/** * @author ygb * @Mailbox [email protected] * @date 2021年10月28日 * 通过bean注解装配到IOC容器 */public class BeanPOJO { private int id; private String name; private int age; public int g...

2021-10-30 13:15:02 480

原创 1、eureka 真的是停用了吗?是否人云亦云

人云亦云。有人说eureka2.x已经停用,停止维护,已经闭源了,我想说的是你们真会玩,都是外行的观点,都是以个人的喜欢和另有目的的传播机器吧了。有人数只能使用eureka1.x版本,风险自负,真的是这样吗?告诉大家,我们用的是eureka3.x版本,打破所有流言蜚语。维护的eureka停用的eureka...

2021-08-23 11:33:50 4186 5

原创 6、java中的设计模式,对象池模式

对象池模式:对象的实例化耗费太多资源,重用和共享创建耗费性能的对象

2021-08-06 01:11:27 79

原创 5、java中的设计模式,原型模式

原型模式:克隆对象,比如需要克隆已经实例化的对象。在不确定所属具体类时需要对象的实例

2021-08-06 01:00:04 53

原创 4、java中的设计模式,建造者模式

建造者,实例化一个不同结构和内部状态的复杂对象,使用的类对它们进行实例化操作逻辑进行封装,这样的类叫建造者,符合单一职责和开闭原则

2021-08-06 00:37:07 66

原创 3、java中的模式,工厂模式

工厂模式通过一个新类赋值对象实例化,保证开闭原则和单一职责原则,简单工厂模式对实现的逻辑进行封装,通过暴露公共接口提供对象的实例化。如下图Car 源码如下package szms.gc;/** * 作者:羊先生 * 邮箱:[email protected] * @2021-08-02 */public class Car { private String date; public String getDate() { return date; } ...

2021-08-02 00:48:55 72

原创 2、java中的模式,单例模式

单例模式 单例模式是最常用的设计模式,作用是保证一个对象只能创建一个实例,并可以通过全局方法访问实例。简单的单例,单个类组成,确保单例实例的唯一性,单例构造器函数声明为私有,通过声明静态方法实现全局访问单例实例,代码如下:package szms.main;/** * 作者:羊先生 * 邮箱:[email protected] * @2021-07-31 */public class Singleton { private static Singleton singleto..

2021-07-31 07:19:38 98

原创 1、Java面向对象设计原则

单一职责原则 指一个类只有单一功能,比如一个Bean对应数据库属性,而负责持久化到数据库操作功能类是bao层,如果修改这个bean的功能这有一类原因。开闭原则 类和方法对外扩展开放,对修改关闭。里氏替换原则 子类型必须完全可替代其基类型,一子类型多态密切相关接口隔离原则 不应该依赖于它所不需要的接口,减少了代码耦合,易于维护和扩展依赖倒置原则 高级模块不依赖低级模块,...

2021-07-30 23:57:21 36

原创 10、spring cloud 集成admin微服监控和报警

集成admin,对各个微服进行管理,报警、监控微服环境目录如下网关配置admin 服务端gatewayServer 和gatewayTwoServer的pom.xml 添加内容如下<!-- 集成admin --> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-adm...

2021-07-29 08:08:42 372

原创 2、Nginx代理,正向代理和反向代理

正向代理 是指用户无法通过目标服务器访问后台服务器资源,通过代理服务器的方式访问,让用户绕过防火墙,连接到后台网络或服务器,反向代理 是指代理服务器接收客户端请求,然后转发给内部网络上的服务器,从内部网络服务器响应结果给客户端。...

2021-07-20 07:00:15 79

原创 1,Nginx负载均衡策略upstream,六种策略

upstream提供负载均衡功能,支持6种负载分配方式,默认是轮询分配方式工作流程分析客户端请求,构建调用服务器 调用ngx_http_upstream_init开始调用服务器建立TCP连接 发送客户端中的请求报文 接收调用服务器的响应头进行解析并往服务器转发 接收调用服务器的响应体,并进行转发Nginx轮询 默认upstream backServer{ server 127.0.0.1:8083; server 127.0.0.1:8085; # 补充: bac..

2021-07-20 06:31:36 1730 1

原创 9、spring cloud 微服之间的调用openfeign

在分布式中微服之间的调用通过openfeign进行调用,openfeign集成了Ribbon和Eureka以及Spring Cloud LoadBalancer,提供负载平衡的HTTP客户端我们以项目magServer作为服务提供者userServer作为服务消费端在userServer的pom.xml中添加openfeign包 <dependency> <groupId>org.springframework.cloud</.

2021-07-20 05:25:18 219

原创 8、spring cloud 每个微服swagger3统一聚合在同一个入口

8

2021-07-05 14:54:34 703

原创 redis数据库管理

切换数据库(select index)127.0.0.1:6379> keys *1) "test2"2) "test3"3) "test23"127.0.0.1:6379> select 2OK127.0.0.1:6379[2]> keys *(empty array)清空当前数据库(flushdb)127.0.0.1:6379[2]> dbsize(integer) 1127.0.0.1:6379[2]> flushdbOK127....

2021-06-30 23:41:41 90

原创 redis 键的通用命令

键的重命名(rename key newkey)如果新键名已经存在则它的值也被覆盖127.0.0.1:6379> rename test rtestOK键的重命名(renamenx key newkey)如果新键名已经存在则创建失败127.0.0.1:6379> get test2"value2"127.0.0.1:6379> renamenx rtest test2(integer) 0127.0.0.1:6379> renamenx rtest t...

2021-06-30 23:30:29 94 3

原创 redis有序集合的内部编码

有序集合的内部编码ziplist 压缩列表,条件元素个数小于128个,每个元素的值都小于64字节。 skiplist 跳跃表 当ziplist条件不满足时,有序集合采用skiplist作为内部实现

2021-06-24 02:50:39 86

原创 redis有序集合

有序集合中的元素是可以排序的,通过score 作为有序集合排序的依据有序集合添加元素(zadd key [nx)

2021-06-24 02:46:59 191 1

原创 redis集合(set)类型的内部编码

列表(list)类型的两种内部编码ziplist(压缩列表)linkedlist(链表)当创建哈希类型时,如果列表的元素个数小于512个,同时每个元素的值小于64字节时 ,采用ziplist为内部编码保存,如果元素和元素值不满足ziplist内部编码条件,则采用linkedlist内部编码保存————————————————版权声明:本文为CSDN博主「科技发烧爱好者-羊工」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://...

2021-06-21 06:34:26 182

javaProject.zip

javaProject.zip

2021-10-28

AndroidResources.zip

323236666

2021-10-28

spring-cloud-code-master.zip

spring-cloud-code-master.zip

2021-05-28

CentOS-7-x86_64-Minimal-2009.zip

centos7

2021-05-07

redis-6.0.8.zip

redis安装包

2021-05-07

nginx-1.9.8.zip

linux nginx-1.9.8 下载解压后得到安装包nginx-1.9.8.tar.gz

2021-05-05

jdk-8u191-linux-x64.tar.gz

下载后解压 取出jdk-8u191-linux-x64.tar.gz

2021-05-05

jdk-8u171-windows-x64.zip

jdk1.8windows

2021-05-05

空空如也

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

TA关注的人

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