java_微服务11SpringCloud其他问题

其他辅助组件相关问题

java_spring06AOP

为什么用aop

java_微服务10SpringCloud常见问题之Zuul

zuul服务网关

java_微服务09SpringCloud常见问题之Ribbon

Eureka解决了服务如何进行注册,注册到哪里,服务消费者如何获取服务生产者的服务信息的问题,但是Eureka只是维护了服务生产者、注册中心、服务消费者三者之间的关系,真正的服务消费者调用服务生产者提供的数据是通过Spring Cloud Ribbon来实现的
服务消费者是将服务从注册中心获取服务生产者的服务列表并维护在本地的,这种客户端发现模式的方式是服务消费者选择合适的节点进行访问服务生产者提供的数据,这种选择合适节点的过程就是Spring Cloud Ribbon完成的。
Spring Cloud Ribbon客户端负载均衡器由此而来。
客户端负载均衡的特点
由客户端内部程序实现,不需要额外的负载均衡器软硬件投入。
程序内部需要解决业务服务器不可用的问题,服务器故障对应用程序的透明度小。
程序内部需要解决业务服务器压力过载的问题。

java_微服务08SpringCloud常见问题之Hystrix

我们知道,Eureka进行服务的注册和发现,使用Ribbon实现服务的负载均衡调用,还知道了使用Feign可以简化我们的编码。但是,这些还不足以实现一个高可用的微服务架构。
例如:当有一个服务出现了故障,而服务的调用方不知道服务出现故障,若此时调用放的请求不断的增加,最后就会等待出现故障的依赖方 相应形成任务的积压,最终导致自身服务的瘫痪。
Spring Cloud Hystrix正是为了解决这种情况的,防止对某一故障服务持续进行访问。Hystrix的含义是:断路器,断路器本身是一种开关装置,用于我们家庭的电路保护,防止电流的过载,当线路中有电器发生短路的时候,断路器能够及时切换故障的电器,防止发生过载、发热甚至起火等严重后果

java_微服务07SpringCloud常见问题之Feign

Spring Cloud Feign 是一个声明web服务客户端,这使得编写Web服务客户端更容易,使用Feign 创建一个接口并对它进行注解,它具有可插拔的注解支持包括Feign注解与JAX-RS注解,Feign还支持可插拔的编码器与解码器,Spring Cloud 增加了对 Spring MVC的注解,Spring Web 默认使用了HttpMessageConverters, Spring Cloud 集成 Ribbon 和 Eureka 提供的负载均衡的HTTP客户端 Feign。
简单的可以理解为:Spring Cloud Feign 的出现使得Eureka和Ribbon的使用更为简单

java_微服务06SpringCloud常见问题之Eureka

Eureka负责服务的注册与发现,如果学习过Zookeeper的话,就可以很好的理解,Eureka的角色和 Zookeeper的角色差不多,都是服务的注册和发现,构成Eureka体系的包括:服务注册中心、服务提供者、服务消费者

java_并发编程02锁综述

美团技术这篇文章不错,
不可不说的Java“锁”事:https://tech.meituan.com/2018/11/15/java-lock.html
简单了解相关名词和概念。

java_微服务04SpringCloud学习笔记

教程地址:跟我学Spring Cloud(Finchley版)
Spring Cloud系列教程:www.itmuch.com/spring-cloud/spring-cloud-index/#一、跟我学Spring-Cloud系列

java_微服务02SpringBoot学习笔记

公司有个外包的项目,未来可能需要转为自研,把之前的java捡起来吧。
本笔记源于:Spring Boot 入门 - 目录:https://www.iteye.com/blog/rensanning-2355928

java_微服务01SpringCloud基础

公司新项目又要用java了,我是最熟悉的,就我顶上了。复习的同时也整理下所学,方便他人学习。

java_spring05循环依赖

循环依赖:其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。如下图

java_基础04内存结构和gc垃圾回收

gc基础

java_读书02java核心面试知识整理

JAVA核心面试知识整理.pdf

java_读书03Java基础高频面试题(2021年最新版)

原文:Java 基础高频面试题(2021年最新版):https://blog.csdn.net/v123411739/article/details/115364158/

java_spring07mybatis学习要点

MyBatis 是一个小巧、方便、高效、简单、直接、半自动化的持久层框架,Hibernate 是一个强大、方便、高效、复杂、间接、全自动化的持久层框架。

java_spring04Autowired与Resource差异解析

spring中比较容易混淆的是Resource和Autowired,特此做下区分。

java_spring01读书要点

java_spring要点整理

java_读书01guide学习笔记

V1.1-JavaGuide面试突击版
原文:Java基础知识.md

java_并发编程12线程池

并发编程可以高效利用CPU资源,提升任务执行效率,但是多线程及线程间的切换也伴随着资源的消耗。当遇到单个任务处理时间比较短,但需要处理的任务数量很大时,线程会频繁的创建销毁,大量的时间和资源都会浪费在线程的创建和销毁上,效率很低。
这个时候就需要用的线程池了,线程作为一个工作者,线程执行完一个任务之后不销毁,而是继续执行其他的任务。

java_并发编程11阻塞队列

阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。阻塞队列就是生产者存放元素的容器,而消费者也只从容器里拿元素。

java_并发编程10ThreadLocal

ThreadLocal提高一个线程的局部变量,访问某个线程拥有自己局部变量。当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,在实际多线程操作的时候,操作的是自己本地内存中的变量,从而规避了线程安全问题。

java_并发编程09CyclicBarrier_CountDownLatch_Semaphore

JUC 中的同步器三个主要的成员:CountDownLatch、CyclicBarrier 和Semaphore。这三个是 JUC 中较为常用的同步器,通过它们可以方便地实现很多线程之间协作的功能。

java_并发编程08锁相关小结

锁相关小结

java_并发编程07从ReentrantLock到AQS

java锁

java_并发编程06从锁到ReentrantLock

java锁

java_并发编程05Synchronized

synchronized是用于修饰用的加锁关键词,synchronized属于隐式锁,即锁的持有与释放都是隐式的,我们无需干预。可以用于方法和代码块中,可以简单理解为锁住对象对应的指针地址,只要区分好指针对象是否同一个地址,就可以判断两个线程的锁是否互斥。
synchronized是可重入的,意思就是当前线程获得锁之后,其他线程就无法获得锁进入,但是当前线程自己还可以再次获得锁多次进入。

java_并发编程04Atomic原子类和CAS

Java从JDK1.5开始提供了java.util.concurrent.atomic包,方便程序员在多线程环境下,无锁的进行原子操作,其中包括:AtomicBoolean、AtomicInteger、AtomicLong、AtomicReference。其底层就是volatile和CAS 共同作用的结果
volatile 保证了内存可见性。
CAS(compare-and-swap)算法保证了原子性。 其中CAS算法的原理就是里面包含三个值:内存值A 预估值V 更新值 B 当且仅当 V == A 时,V = B; 否则,不会执行任何操作。

java_并发编程03Volatile

前置知识:需要先了解 Java内存模型(JMM) 相关知识.
用法:volatile只可以用来修饰变量,不可以修饰方法以及类

java_并发编程01JMM内存模型

Java内存模型(Java Memory Model,JMM)JMM主要是为了规定了线程和内存之间的一些关系。
根据JMM的设计,系统存在一个主内存(Main Memory),Java中所有变量都储存在主存中,对于所有线程都是共享的
每条线程都有自己的工作内存(Working Memory),工作内存中保存的是主存中某些变量的拷贝,线程对所有变量的操作都是在工作内存中进行,线程之间无法相互直接访问,变量传递均需要通过主存完成。

java_基础03双亲委派

双亲委派(可以理解为父类委派,parents翻译问题,理解起来有些费解):当某个类加载器需要加载某个.class文件时,它首先把这个任务委托给他的上级类加载器,递归这个操作,如果上级的类加载器没有加载,自己才会去加载这个类。

java_基础02集合

集合关系图

java_基础01常见坑

常见坑整理

java_spring02ioc有什么优点

有很多关于ioc优点说明,比如有如下不同的说法:
01,IoC最原初的目的就是充分利用OO的多态性,使得通过配置文件而不是在代码里硬编码(hardcode)的方式来实例化对象和装配对象图,这样就有了为不同的客户场景服务的灵活性(不同的客户通过配置文件使用不同的子类)。IoC本质上和插件化代码的思路很接近举例来说,软件公司只需要维护一套类库,然后通过使用配置文件装配对象图的方式为不同的客户定制不同版本的软件。这些软件可以在功能上、界面上大相径庭,但是区别只在于配置文件
02,ioc的思想最核心的地方在于,资源不由使用资源的双方管理,而由不使用资源的第三方管理,这可以带来很多好处。第一,资源集中管理,实现资源的可配置和易管理。第二,降低了使用资源双方的依赖程度,也就是我们说的耦合度。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×