- 博客(29)
- 收藏
- 关注
原创 什么是Feign以及用法
声明式 API:Feign 提供了一种声明式的 API 定义方式,让开发者可以通过简单的 Java 接口描述服务之间的调用。使用 Feign 时,只需定义一个 Java 接口,接口中声明需要调用的远程服务的方法和参数,而无需编写具体的 HTTP 请求和响应的处理逻辑。在上面的例子中,我们注入了ExampleFeignClient接口的实例,并使用它来调用远程服务。通过Feign,我们可以轻松地在微服务架构中实现服务之间的通信,并利用负载均衡和容错机制来提高系统的可靠性和性能。在上面的示例中,我们使用了。
2024-05-29 17:38:40 593
原创 SpringCloud系列——Feign+Ribbon配置实战篇
一般情况下,Feign和Ribbon我们都是结合使用的。Feign是网络请求客户端,Ribbon用于,feign底层实现了ribbon。
2024-05-28 18:02:38 541
原创 nginx和feign负载均衡并不冲突
3、客户端负载:ribbon是集成在服务消费端,他的负载是,首先去注册中心获取到可以提供服务的列表,把这个服务列表缓存到本地,然后自己决定去调用哪一个服务;(这里列表是存在(注册中心客户端),所以一般称为客户端负载)(所以在微服务中,如果注册中心运行期间宕机,短时间之内并不影响服务消费者向服务生产者的调用。默认用的是轮循,如果需要修改,首先启动类里边实例化一个IRule,实例化他的不同接口,就可以实现不同的负载算法(7种)ribbion的负载,是代码中微服务的负载(客户端负载);这两个负载并不冲突。
2024-05-28 11:29:32 381
原创 int和Integer boolean和Boolean
int是基本数据类型,Integer是int的封装类,是引用类型。int默认值是0,而Integer默认值是null。boolean只有true和false,Boolean是引用类型可以为null。
2024-05-11 17:44:18 125
原创 单元测试某个类的内部类或者某个类的私有方法
Method method = class.getDeclaredMethod("方法名",参数类型1.class,参数类型2.class,...);在进行单元测试时,我们往往需要直接访问某个类的内部类或者某个类的私有方法,此时正常的调用就无能为力了,因此我们可以使用反射进行调用。Class class = Class.forName("类名") 或 Class class = 类实例.getClass()method.invoke(类实例,参数1,参数2,...);使用反射调用类的私有方法。
2024-05-07 11:28:08 370
原创 @Resource 和 @Autowired 的区别
注入方式@Autowired默认按类型注入,@Resource默认按名称注入。来源和兼容性@Autowired是Spring特有的,而@Resource是JSR-250规范的一部分,可以在任何支持JSR-250的容器中使用。配置选项@Autowired提供了更多的配置选项,@Resource相对简单。注解位置@Autowired的使用范围更广,可以用于构造器、字段、setter方法和其他方法,而@Resource通常用于字段和setter方法。
2024-04-07 17:23:53 280
原创 JDK、JRE和JVM的理解
JDK是Java开发工具包,它包含了JRE以及编译器(javac)、调试器(jdb)、Java文档生成器(javadoc)等开发工具。如果您需要开发Java程序,您需要安装JDK,因为它提供了编译、调试、运行和部署Java应用程序所需的所有工具。:JVM是Java程序的运行环境,它负责将Java字节码(.class文件)解释或编译成机器码,并在计算机上执行程序。如果您只是要运行Java程序而不是开发程序,通常只需要安装JRE即可。而JVM是JDK和JRE的核心组件,用于执行Java程序。
2024-04-07 16:34:20 267
原创 JVM(Java虚拟机)和 HotSpot 虚拟机的关系
HotSpot是Oracle JDK 和 OpenJDK 中使用的一种优化技术,是JVM的一种实现。HotSpot虚拟机通过即时编译(JIT)技术将Java字节码转换为本地机器码,以提高程序的执行效率。HotSpot还包括了许多优化技术,如垃圾回收器的优化、代码缓存、内联优化等,帮助提升Java应用程序的性能。因此,可以说HotSpot是JVM的一种实现,它通过优化技术提高了Java程序的性能。在实际应用中,我们经常听到提到的“HotSpot虚拟机”,指的就是使用了HotSpot技术的Java虚拟机。
2024-04-07 16:14:04 530
原创 什么是jvm?
JVM是一个在物理计算机上模拟运行Java字节码的虚拟机,它负责将Java源代码编译成字节码并在运行时执行这些字节码。总的来说,JVM作为Java程序的运行环境,起着承上启下的关键作用,它为Java程序提供了跨平台运行、内存管理、性能优化等重要功能,使得Java成为一种广泛应用的编程语言。:由于JVM的存在,Java程序具有跨平台性,即一次编译,到处运行。:JVM提供了安全性机制,包括字节码校验器(Bytecode Verifier)等,以确保Java程序的安全性。
2024-04-07 16:04:53 355
原创 静态编译执行、动态编译执行、动态解释执行
1.程序执行的方式一般有三种,包括静态编译执行、动态编译执行、动态解释执行。编译指的是将程序编译成可让操作系统直接执行的机器码。在java语言中,程序的执行方式是以动态解释为主,动态编译为辅(静态编译执行类似C语言,编译成可执行文件(windows一般是exe,Linux一般为sh),里面存的都是机器码)。1.1字节码与机器码的区别:机器码:是CPU直接读取的机器指令,运行速度非常快。字节码:一种中间状态的二进制文件,需要直译器转译后才能变成机器码。
2024-04-03 18:03:45 495 1
原创 编译执行和解释执行
将源代码逐条转换为目标代码同时逐条执行的过程,每次程序运行时随时翻译随时执行(类似于同声传译)编译是讲源代码一次性转换为目标代码的过程,一次性翻译,之后就不需要源代码了(类似于英文翻译)执行解释过程的程序叫做解释器(interpreter)执行编译过程的程序是编译器(compiler)
2024-04-03 17:56:03 102 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人