什么是反射Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期 借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内 部属性及方法加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个 类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可 以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看 到类的结
Java动态编程的作用:     通过配置生成代码,减少重复编码和维护成本      我们常用到的动态特性主要是反射,在运行时查找对象属性、方法,修改作用域,通过方法名称调用方法等。在线的应用不会频繁使用反射,因为反射的性能开销较大。其实还有一种和反射一样强大的特性,但是开销却很低,它就是Javassit。  &nbs
转载 2023-08-04 23:01:45
65阅读
Mybatis的运行分为两个部分,第一部分是读取配置文件缓存到Configuration对象,用以创建SqlSessionFactory,第二部分是SqlSession的执行过程。相对而言,SqlSessionFactory的创建比较容易理解,而SqlSession的执行过程远远不是那么简单了,它将包括许多复杂的技术,我们需要先讨论反射技术和动态代理技术,这是揭示mybatis底层架构的基础。反射
目录一、dubbo 服务化最佳实践1. 分包2. 粒度3. 版本二、改造 dubbo 项目三、link-interface1. pom.xml2. 实体类3. 公共接口四、提供者1. pom.xml2. 接口实现3. 服务提供者的核心配置文件4. 添加监听器5. 配置Tomcat五、消费者1. pom.xml2. 服务消费者的核心配置文件3. controller4. applicationCon
转载 2024-05-06 17:06:39
195阅读
linux命令也看了很多了,但工作中基本用不到,为了强制自己能够加深印象,下了一个vmware准备从0开始,一边熟悉各个技术点一边能让linux命令熟练起来.刚刚开始就遇到的问题不少. 1.想将本地的jdk上传到linux上,一起提示拒绝访问 第一反应是用户(我用的是admin)的权限不足.因此我需要设置root权限的密码,然后通过root权限修改sudoers文件将admin用户权限和root一
POM文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma...
原创 2022-11-30 14:24:36
67阅读
2 索引原理======在进行索引设计以及优化之前,我们先深入理解下索引的原理。因为所有的设计以及优化一定是建立在对原理的透彻理解的基础上。很多人都知道,在进行SQL查询时,同样一张表、同样的数据。不加索引以及加索引进行数据查询。两者差别很多。那么到底是为什么会有这种差距。简单来说,如果把业务数据比作为一本字典的话,那么索引就是这本字典的目录。如果我让你查一个字,在你不使用目录查的时候,那只能一页
写在前面dubbo提供了SPI机制可以通过外部配置文件来动态加载扩展类,有时我们可能需要配置这些扩展类挨个执行来满足业务场景,进行一些数据的处理等,此时这些扩展类我们都是需要的,还有一些其他的场景,需要根据外部环境的不同(如某参数的值),来动态的选择使用哪个扩展类,针对这种需求,dubbo提供了@Adaptive注解来完成该功能,源码如下:@Documented @Retention(Retent
转载 2024-07-13 07:04:26
35阅读
Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。 Dubbo缺省协议,使用基于mina1.1.7+hessian3.2.1的tbremoting交互。连接个数:单连接连接方式:长连接传输协议:TCP传输方式:NIO异步传输序列化:Hessian二进制序列化适用范围:传入传出参数数据包较小(建议小于100K
转载 2024-01-29 16:20:31
39阅读
Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是阿里巴巴 SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。Dubbo 采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spri
转载 2023-07-18 17:06:33
105阅读
dubbo学习第二部分高级功能dubbo服务降级 在微服务架构中,可能会面临这样的情况,就是某一台服务器上面有多个微服务,但是其中有些微服务访问量高,有些少,而访问量高的微服务需要的资源多一些,这时候可以手动停掉其他访问量少的微服务,但为了保证访问不会出错,这时候可以在访问时直接为null或者调用异常时返回null,这就称之为服务降级,dubbo提供了这种功能。可以在dubbo-admin管理里面
Dubbo作为淘宝搞出的框架,居然没提供相关文档,这样学习这个框架变得比较困难,尤其是入门这步,看了网上零零种种的关于Dubbo的总结,总感觉说的太罗嗦了,没有抓住重点,简单来说dubbo是种非侵入式的RPC(远程访问)框架。关键是两个词非侵入式,RPC。所谓的非侵入性是指dubbo并没有参杂入实现代码中,实现代码并不直接依赖dubbo的相关类。而是通过Spring XML的配置文件的形式进行完成
转载 2024-03-28 09:24:29
15阅读
 一、介绍   Dubbo 采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。  根据 DUBBO 官方文档,配置 DUBBO 有 4 种方式,分别是:XML 配置文件方式properties 配置文件方式annotation 配置方式API 配置方式 二、简单
转载 2024-03-07 07:11:53
1050阅读
如果还不了解Dubbo是什么或者不知道怎么搭建的可以先看一下我的上一篇文章。首先我先来讲下提供者(也就是服务端)的配置,先上配置文件代码:<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://w
转载 2024-03-15 20:57:11
103阅读
dubbo服务启动的方式:1、dubbo自带的脚本,2、直接用main方法启动dubbo的spring容器,参见dubbo-test里的各个例子3、dubbo的spring boot starter4、放到容器里,以servlet方式使用
转载 2023-06-08 14:30:40
62阅读
一、在windows搭建单点测试     在平时的开发过程中,如果我们的项目用到dubbo+zookeeper,我习惯在本地搭建一个单点,用于debug调试,因为win平台搭建单点,比较简单,网上也很多相关的文章,再次我就不再赘述,直接甩给大家一个链接(),大家可以自行参考。 二、在linux下搭建zookeeper集群(centos7)     1.需要
转载 2024-05-10 18:01:19
61阅读
记上篇学习,我们了解到了dubbo的xml配置文件配置方式。接下来我们继续介绍dubbo的其他的集中配置方式。Properties配置方式:        DUBBO 在读取配置的时候会先读取 XML文件中的配置,如果没找到就会默认去读取resources目录下的 dubbo.properties 文件。而 dubbo.properties 的配置方式与 X
转载 2024-02-26 06:47:43
31阅读
一、配置原则 JVM 启动 -D 参数优先,这样可以使用户在部署和启动时进行参数重写,比如在启动时需改变协议的端口。XML 次之,如果在 XML 中有配置,则 dubbo.properties 中的相应配置项无效。Properties 最后,相当于缺省值,只有 XML 没有配置时,dubbo.properties 的相应配置项才会生效,通常用于共享公共配置,比如应用名。 二
转载 2024-03-08 17:15:32
120阅读
   Dubbo基础一之实战初体验 - 池塘里洗澡的鸭子体验了两种配置方式一种注解一种xml。其中xml是在注解配置失败没有找到解决方法后选择xml替代体验的。那么Dubbo支持多少中配置方式呢?一般分为以下几种且每种配置方式各有不同:  1)注解:基于注解可以快速的将程序配置无效多余的配置信息,包含提供者和消费者。但是这种方式有一个弊端就是有些时候配置信息并不是特别好找,需要查找问题时
转载 2024-04-25 14:28:52
75阅读
Java反射可以通过以下三种方式实现:Class.forName()方式:通过指定类的全路径名来获取该类的Class对象,从而实现对该类的反射操作。例如:Class<?> clazz = Class.forName("com.example.MyClass");对象.getClass()方式:通过获取一个已经存在对象的Class对象,从而实现对该类的反射操作。例如:MyClass my
  • 1
  • 2
  • 3
  • 4
  • 5