- 博客(26)
- 资源 (1)
- 收藏
- 关注
原创 Eureka原理看这一篇就够了
1.服务发现概念首先,要理解服务发现的概念,需要先了解分布式系统,这里引用一个通俗易懂的分布式系统比喻“当一头牛拉不动车的时候,不要试图寻找一头更强壮的牛,而是用两头牛来拉车”因此,从狭义来解释,分布式系统是:由多个应用程序协同来完成任务的一种工作模式系统。这里的任务可以是一个下单操作、可以是一个复杂的统计计算、可以是存储一个超大数据等等,总之就是这个任务不适合或者无法通过单个程序独立完成,需要多个程序协同完成。2.服务发现解决的问题2.1.解耦、屏蔽程序之间IP及端口依赖分布式..
2022-03-23 17:11:25 5226 1
原创 一篇彻底学会Maven使用(超详细)
Maven译为专家、内行,是Apache组织下的一个开源项目。基于项目对象模型POM(Project Object Model),Maven进行项目的构建、文档管理。对java项目可以进行构建、依赖管理。
2023-09-26 10:22:15 1012
原创 最全Linux安装JDK1.8及Maven
Linux安装Jdk 1.8,以CentOS 7安装为例,安装好CentOS 7会自带Open JDK,所以首先卸载自带的OpenJDK,安装自己的JDK版本。
2023-09-23 22:49:06 4174
原创 一文掌握SourceTree使用(超级详细)
SourceTree是一款开源的代码仓库客户端工具,界面美观,操作简单,具有代码克隆、本地创建、提交代码、撤销修改,拉取(pull)代码、上传(push)代码、合并分支等操作。对于软件开发人员是一款必备的应用软件。
2023-09-22 23:29:21 17390 5
原创 吊打面试官之Java线程抽象队列同步器AQS
JDK 1.5之后提供了JUC线程同步包,AQS就是该包下面提供的一个线程同步框架,提供给用户在实现多线程并发编程时使用。AQS(Abstract Queued Synchronizer)抽象同步队列,既然是一个抽象类,那么就需要用户实现该类。JUC包下面,已经提供了一些通过AQS实现的同步工具栏,例如CountDownLatch(倒计数门闩)、ReentranLock(重入锁)、ReentranReadWriteLock、Semaphore(信号量)、SyclicBarrier(循环屏障)等。
2023-09-17 12:46:37 101
原创 吊打面试官之CAS机制
CAS(Compare And Swap)即比较并交换,CAS是一种乐观锁,即它比较乐观,它总是默认为不会出现线程并发,当出现以后再进行解决,而Java中Synchronized是一种悲观锁,它比较严谨,认为总是会出现并发情况,所有它直接就获取锁,不管有没有后面的线程竞争资源。Java的JUC包下面提供了atomic包,里面有很多原子操作类AtomicInteger、AtomitLong等。都是基于CAS机制实现。
2023-09-16 17:23:02 74
原创 一文彻底掌握Spring三级缓存
DefaultSingletonBeanRegistry类中定义了三级缓存。一级缓存:singletonObjects,保存完整的单例bean实例对象earlySingletonObjects,存放原始单例对象,即实例化后未进行属性赋值和初始化的bean对象三级缓存:singletonFactories,存放factoryObject,因为FactoryObject是函数式接口,所有三级缓存存放的是lambda表达式2、三级缓存的作用。
2023-08-24 13:45:22 1810
原创 Mysql索引吊打各种面试
Mysql官方对于索引的解释,索引是帮助mysql更高效的利用数据的一种数据结构,类似于一本书,书的目录就是索引,能够快速的定位到内容索引的类型比较多,有聚集索引、组合索引、前缀索引、主键索引默认情况下,索引方法有BTree、HASH两者。
2023-07-21 15:51:36 79
原创 powerdesigner看这一篇就够了
首先创建一个物理模型:file->new modelModel name:物理模型名称,可以自定义命名,或者使用默认名称DBMS:物理模型所匹配的数据库点击确定,生成一个物理模型。
2023-05-09 12:57:03 3603 1
原创 Mybatis-plus自动生成代码
1、添加依赖<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.5.2</version></dependency><dependency> <groupId>org.freemarker</gr
2022-05-23 17:34:46 471
原创 下载安装redis 3.0
安装环节CentOS 71、安装gccyum install gcc2、下载redis 3.0 安装包wget http://download.redis.io/releases/redis-3.0.0.tar.gz3、解压redis-3.0.0.tar.gztar -xvfredis-3.0.0.tar.gz4、安装cd redis-3.0.0#如果不加参数,linux下会报错make MALLOC=libc5、启动redissrc/redis-s.
2020-11-25 15:00:10 875
原创 Spring-cloud之Feign-源码分析
1、OpenFeign简介OpenFeign是一个声明式的网络请求客户端,OpenFeign会根据带有注解的方法信息构建出请求模板。1)OpenFeign配合注册中心(Eureka)一起使用,可以从注册中心获取服务提供方信息,例如IP地址和端口号;2)服务提供者,OpenFeign是RESTful网络请求客户端,对服务提供者没有任何影响,服务提供者只要对外提供网络接口即可,确保该服务提供者被注册到注册中心;@RestController@RequestMapping("/feign-
2020-11-23 11:34:35 105
原创 Eureka源码分析-Eureka Server
Eureka Server作为一个开箱即用的服务注册中心,提供了服务注册、接收心跳、服务剔除、服务下线、集群同步、或者注册表信息等功能,Eureka Server也是一个Eureka Client,在配置文件中如果不关闭客户端行为,也会进行注册拉取注册信息的操作1、服务实例信息InstanceRegistry是Eureka Server的核心接口,类图如下InstanceRegistry接口职责是内存中管理注册到Eureka Server的实例信息,该接口继承了LeaseManager(管理
2020-11-20 17:35:44 182
原创 最全的MYSQL下载安装
Mysql下载安装操作系统CentOS71、下载 MySQL yum包wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm2、安装MySQL源rpm -Uvh mysql57-community-release-el7-10.noarch.rpm3、安装MySQL服务端,需要等待一些时间,大概会下载200Myum install -y mysql-community-server4、启
2020-11-16 14:36:46 200
原创 Java实现多线程四种方式
Java多线程实现方式主要有四种:继承Thread类、实现Runnable接口、实现Callable接口通过FutureTask包装器来创建Thread线程、使用ExecutorService、Callable、Future实现有返回结果的多线程。1、继承Thread类Thread类本质上是实现了Runnable接口的一个类,代表一个线程的实例,Runnable接口中只定义了一个方法run...
2020-04-09 16:35:35 417
原创 熟练掌握 List 原理
ArrayList是一个列表,底层实现是通过数组,和数组的区别在于ArrayList可以自动扩容首先分析一下ArrayList的构造方法:1、通过参数构造public ArrayList(int initialCapacity) {if (initialCapacity > 0) {this.elementData = new Object[in...
2020-01-03 16:06:00 295 1
原创 完整的Java序列化方式
Java序列化Java提供了一种对象序列化机制,可以将对象表示为一个字节序列,该字节序列包括对象的数据、对象的类型信息,和对象中数据的类型,将序列化的对象保存在文件中,然后在文件中读取序列,然后反序列化。类 ObjectInputStream 和 ObjectOutputStream 是高层次的数据流,它们包含反序列化和序列化对象的方法。public final void write...
2019-12-23 11:49:34 432
原创 Java中锁的分类
1、Java锁的种类乐观锁/悲观锁 独享锁/共享锁 互斥锁/读写锁 可重入锁 公平锁/非公平锁 分段锁 自旋锁 偏向锁/轻量级锁/重量级锁2、各种锁的解释 乐观锁/悲观锁 乐观锁与悲观锁并不是指具体的某一类实现的锁,而是一种实现的思想或者是构想,主要是从看待并发的角度区分乐观锁:乐观锁总是乐观的认为在修改数据的时候,没有其他线程对数据进行修改,只是在更改数据时进行...
2019-12-17 17:13:21 1180
原创 快速学懂String、StringBuffer、StringBuilder区别
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(线程不安全)String类在源码中会发现是被final关键字修饰,及不可改变的,所以在对String字符串进行操作改变时,都不会操作原有的字符串,而是重新生成一个新的字符串。String str1 = “hello world”和String str2 = new Str...
2019-09-27 18:32:11 204 1
如何快速提升CSDN知名度
2023-09-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人