![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 77
alf_cee
想做个技术牛人。真他爷爷的难。
展开
-
dubbo源码实践-总结
自己大概花了一个月的时间,断断续续的看了一遍dubbo源码,之前的文章从实践出发搭建了dubbo各层的例子!Dubbo源码的学习也暂时告一段落。这篇就谈谈自己对dubbo源码学习个人感受!原创 2023-01-11 10:40:35 · 602 阅读 · 0 评论 -
dubbo源码实践-config层例子
本文主要参考官方例子:https://cn.dubbo.apache.org/zh/docsv2.7/user/configuration/api/今天例子我们总要使用Config层的API来搭建dubbo调用的例子。通过图可以看到,主要是两个类:ReferenceConfig类(客户端使用该类)、ServiceConfig类(服务端使用该类)。原创 2023-01-10 00:53:59 · 291 阅读 · 0 评论 -
dubbo源码实践-protocol层例子
本文提供了基于protocol层的一个客户端、服务端代码例子。从dubbo 2.7的架构图上可以看到protocol层上在Remoting层之上的,个人理解Protocol层不在讨论客户端和服务端的概念了,开始讨论服务提供者和服务消费者的概念了。参考上一篇dubbo源码实践-protocol层-invoker理解,本文理解起来应该不难。细心的读者已经发现代码中还使用Proxy层的类,Protocal层+Proxy层已经实现了服务的发布与消费。原创 2023-01-09 00:27:49 · 420 阅读 · 0 评论 -
dubbo源码实践-protocol层-invoker理解
Invoker官方解释:Invoker 是实体域,它是 Dubbo 的核心模型,其它模型都向它靠扰,或转换成它,它代表一个可执行体,可向它发起 invoke 调用,它有可能是一个本地的实现,也可能是一个远程的实现,也可能一个集群实现。原创 2023-01-07 16:44:20 · 680 阅读 · 0 评论 -
dubbo源码实践-Exchange 信息交换层例子
官方定义:exchange 信息交换层:封装请求响应模式,同步转异步,以RequestResponse为中心,扩展接口为Exchanger其中Exchanger是SPI扩展点,是该层的入口。其中客户端通过ExchangeClient.request发送请求,服务端通过ExchangeHandler的reply方法处理请求并返回结果。为了理解上面官方的定义,下面将使用该层的类创建一个客户端和服务器端的应用。2 实践例子2.1 项目结构由于是TCP框架,所以有服务端和客户端,两端的代码。原创 2023-01-06 01:44:32 · 460 阅读 · 0 评论 -
dubbo源码实践-transport 网络传输层的例子
Transporter层位于第2层,已经实现了完整的TCP通信,定义了一套Dubbo自己的API接口,支持Netty、Mina等框架。官方定义:transport 网络传输层:抽象 mina 和 netty 为统一接口,以Message为中心,扩展接口为Channel,,Client,Server,Codec个人理解:这里说的Message其实就是指java的任意对象(Object类)。如:ChannelHandler类中的方法,负责接收一个对象。如:Client类的。原创 2023-01-03 21:18:54 · 515 阅读 · 0 评论 -
dubbo源码实践-serialize层的例子
本文描述了dubbo serialize层API的简单使用。 原理请自行网上搜索(网上描述的都比较详细了,就不在copy一份了。)。原创 2023-01-02 20:42:00 · 619 阅读 · 0 评论 -
dubbo源码实践-SPI扩展-自适应扩展机制
dubbo源码实践-SPI扩展-自适应扩展机制 @Adaptive原创 2023-01-02 01:26:09 · 852 阅读 · 2 评论 -
dubbo源码实践-SPI扩展
想要看Dubbo的源码,SPI机制必须搞明白。dubbo提供通用的处理逻辑,具体的处理细节都是使用SPI机制提供扩展和实现的。比如dubbo的服务发现,通过SPI共有6种实现(file、zookeeper、consul、etcd3、eureka、nacos)。原创 2022-12-31 23:54:36 · 1066 阅读 · 0 评论 -
dubbo源码实践-开篇
dubbo源码实践开篇原创 2022-12-30 16:54:19 · 167 阅读 · 0 评论 -
Failed to introspect Class from LaunchedURLClassLoader
Failed to introspect Class from LaunchedURLClassLoader原创 2022-09-16 12:23:12 · 528 阅读 · 0 评论 -
springboot应用程序不打印Info日志
Springboot项目中自己写的代码不打印info日志,但是框架中的info日志都可以打印。原创 2022-07-24 01:46:40 · 8555 阅读 · 0 评论 -
dubbo admin 部署时遇到的nginx代理问题
1 概述1) 前端页面使用vue开发,默认部署到服务端的内嵌tomcat中。vue依赖nodejs。2)服务端采用springboot开发,内嵌tomcat。2 部署 参考官方文档3 遇到的问题由于部署到域中,域名有限,所有做了nginx代理多个中间件的页面。如:http://abc.com/apollo/xxx nginx转发给apollo后台;http://abc.com/dubbo/index.html nginx转发给...原创 2021-07-27 10:11:36 · 544 阅读 · 0 评论 -
笔记系列-SynchronousQueue笔记
这两天分析了一下SynchronousQueue类的实现,代码比较复杂,看来两三天才大概理解里面的逻辑。其中有个名词“dual queue”感觉网上的文档翻译的有问题,不好理解。我解释一下:dual queue:二元队列,队列中只存储相同类型的元素,要么都是“data”类型, 要么都是“requests”的。代码中有解释:A dual queue is one that at any given time either holds “data” – items provided by put ope原创 2020-10-29 20:12:29 · 147 阅读 · 0 评论 -
开源项目收录
1 antv/G6https://gitee.com/antv/g6G6 是一个图可视化框架。它提供了一套图可视化的基础设置,能帮助开发者搭建属于自己的图 图分析 应用或是 图编辑器 应用原创 2020-07-05 15:16:32 · 171 阅读 · 0 评论 -
java垃圾回收-G1-备忘
java垃圾回收-G11 G1概念1.1 G1回收,分RegionG1采用了分区(Region)的思路,将整个堆空间分成若干个大小相等的内存区域,每次分配对象空间将逐段地使用内存。因此,在堆的使用上,G1并不要求对象的存储一定是物理上连续的,只要逻辑上连续即可;每个分区也不会确定地为某个代服务,可以按需在年轻代和老年代之间切换。启动时可以通过参数 -XX:G1HeapRegionSize=...原创 2020-04-14 18:32:07 · 912 阅读 · 0 评论 -
Java获取jar中的文件
转载自:https://blog.csdn.net/qq_27870421/article/details/100751503一、获取自身中的文件(以jar运行的程序)public class Application { public static void main(String[] args) throws IOException { // fileName是在...转载 2020-02-05 00:52:16 · 582 阅读 · 0 评论 -
String与Integer 之间的转换
来自 : http://hanric.spaces.live.com/blog/cns!b758f6a5183497ed!117.entry注:如果使用JDK5.0的话,JVM会自动完成装包解包的。 如何将字串 String 转换成整数 int? int i = Integer.valueOf(my_str).intValue(); int i转载 2008-09-09 11:33:00 · 1967 阅读 · 0 评论 -
Java 和 Tomcat 配置
http://java.chinaitlab.com/Tomcat/32238.html原创 2008-10-15 19:01:00 · 462 阅读 · 0 评论 -
模式的乐趣
任何一个新项目,从已经就位的几件标准的事情开始:1 一套编码准则,有效的工具,符号规则等等.2 模式课程的介绍,以确保小组中的每个人都能够理解模式以及相关术语.3 跟踪设计评审和附加培训,确保开发人员正确应用. 文档 系统开发中最大的麻烦的事情就是创建良好并且有意义的文档. 找到系统将来的变化点只有当真正需要支持"种类"关系的时候,才应该使用继承.对于是否正确的使用了继承,有一原创 2009-01-14 16:35:00 · 567 阅读 · 0 评论 -
Java类加载器介绍
类加载器负责把类加载到Java虚拟机(JVM)中。指定类的名称,类加载器就会定位这个类的定义,每一个Java类必须由类加载器加载。当启动JVM的时候,可以使用三个类加载器:引导(bootstrap)类加载器、扩展(extensions)类加载器、应用程序(application)类加载器。1.引导类加载器仅仅负责加载核心的Java库,比如位于/jre/lib 目录下的vm.jar,core转载 2009-02-05 20:22:00 · 4673 阅读 · 2 评论 -
基于TOMCAT的JAVA web开发的一些建议
1、修改默认端口在conf/server.xml 50 行处: 6688" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="gbk" />2、配置应用 在标签里配置:转载 2009-05-10 23:45:00 · 491 阅读 · 0 评论 -
在线学习的好网站
http://www.javapassion.com/提供J2EE 和Ajax 的学习。原创 2009-05-23 21:38:00 · 433 阅读 · 0 评论 -
Struts2 学习(1到11讲)
第一讲: 在 server.xml 中配置context 标签,来配置Tomcat。让它知道目录。配置org.apache.struts2.dispatcher.FilterDispather类,来启动Struts2。JSP EL表达式 ${requestScope.属性}Struts.xml 配置文件 /result.jsp原创 2009-05-19 23:57:00 · 1051 阅读 · 0 评论 -
一个可以搜索Jar包的网站
http://www.findjar.com/原创 2009-05-28 09:47:00 · 1065 阅读 · 0 评论 -
Ant 常用任务
1 property 任务: 用法: file="./xxx/comversion.properties" />可以在构建文件中引入属性文件中的value属性,使用${key} 来引用。 2 ant 任务: 用法:antfile="./xxx/buildcomponent.xml" > 调用buildcomp原创 2009-08-27 09:30:00 · 3840 阅读 · 0 评论 -
Java Eclipse 国际化
关于国际化的文章http://www.ibm.com/developerworks/cn/opensource/os-cn-eclipse-rcploc/index.html?S_TACT=105AGX52&S_CMP=tut-ctohttp://www.ibm.com/developerworks/cn/java/j-rbmgr/index.htmlhttp://www.eclips原创 2009-09-04 17:25:00 · 562 阅读 · 0 评论 -
What is Hibernate?
oo原创 2009-10-20 23:02:00 · 506 阅读 · 0 评论 -
Java zip 解压缩API
参数说明fileName: 表示想解压的文件名 如:c://aaa/a.zipunZipDir: 表示想解压到的路径 如:c://cccpublic static void unZip1(String fileName, String unZipDir) { try { File f = new File(unZipDir);原创 2010-01-28 09:47:00 · 732 阅读 · 0 评论 -
推荐两个好用的小工具
1 屏幕截图小工具 Jing.app 官方下载地址:http://www.jingproject.com/download/2 Java 反编译小工具 JD-GUI.app 官方下载地址:http://java.decompiler.free.fr/原创 2009-12-03 15:38:00 · 627 阅读 · 0 评论 -
java调用notes API 发送邮件
最近需要调用Notes java API来发送邮件.主要参考了以下两个博客: 1 http://www.blogjava.net/jiangmin/articles/76137.html这个博客完成了代码的主体. (把代码粘贴过来,马上可以用)有一个地方需要更正: 通过 Session s = NotesFactory.createSession((String)nul原创 2010-02-22 17:37:00 · 4741 阅读 · 2 评论 -
Java读取文件的简单代码
网址: http://blog.csdn.net/justinavril/archive/2008/08/06/2775767.aspx import java.io.*; public class FileToString { public static String readFile(String fi转载 2010-02-25 18:13:00 · 642 阅读 · 0 评论 -
Java 类路径
管理 Java 类路径(UNIX 和 Mac OS X)网址: http://www.ibm.com/developerworks/cn/java/j-classpath-unix/ 作者的网站:http://www.cafeaulait.org/ 总结:不管类路径有多么棘手,您都可以通过一些简单的规则对它加以管制,尤其是要记住如下的一些原则:将类放到包中。转载 2010-01-05 13:44:00 · 440 阅读 · 0 评论 -
Class 文件版本察看
读取class 文件的编译版本号的代码如下:import java.io.File;import java.io.FileInputStream;public class LookClassVersion { /** * @param args */ public static void main(String[] args) { test原创 2010-03-26 16:51:00 · 516 阅读 · 0 评论 -
Eclipse 启动分析
[本文主要来自eclipse 3.3 的帮助文档,其中带[]个人的分析和注解] 更新Eclipse 3.6[2010.12.16]启动过程:Eclipse本地启动者分两个部分: 1 eclipse.exe 2 一个共享库(eclipse_1017.dll) eclipse_1017.dll 在plugin 目录下以插件的fragment 形式出现翻译 2010-05-08 19:41:00 · 1905 阅读 · 1 评论 -
关于 MD5
MD5 在我们的项目中用来判断两个文件的内容相等转载 2010-07-12 15:23:00 · 891 阅读 · 0 评论 -
Java JNI Mac
java JNI 可以实现java 与 C 代码互相调用。原创 2010-07-13 23:59:00 · 652 阅读 · 0 评论 -
[SWT] SWT 精品文章
想精通SWT API 和他的原理么?在这里你能找到答案。原创 2010-06-02 18:26:00 · 579 阅读 · 0 评论 -
[难题]windows 、linux 和 Mac 的换行问题
<br />问题:今天遇到了一个奇怪的问题,通过属性文件给jvm 传递参数,C 程序能够读到参数并打印出来,但是当用C 调用jvm 并传递给参数后,jvm 根本找不到这个参数。<br /> <br />问题的解决:原来是不同系统换行符的问题,因为程序在Window 系统上Build 完成后,才下载到我使用的Mac 机器上。所以在C 程序打印参数时候没有问题,传递给jvm 就是不好用。<br /> <br />这个问题如果不知道,问题想解决太难了。原创 2010-06-10 16:59:00 · 652 阅读 · 0 评论 -
Java System Properties( java 系统属性 )
Java System Properties 参数记录翻译 2010-08-09 13:12:00 · 1229 阅读 · 0 评论