java
文章平均质量分 63
jsenht
自己动手,要丰衣,也要足食
展开
-
java-object-diff对象对比
目录MetaDiffMetaDiffmetaDiff 可以对比两个java对象(nativeObject),然后生成一个MetaObject(包含了对象各个字段间的差异信息),同时可以将这个对象转为nativeObject。https://gitee.com/jsenht/meta-diff...原创 2021-05-01 01:28:25 · 1581 阅读 · 1 评论 -
关于 java CompletableFuture
在并发编程中有相当一大块只是为了使用并发技术加快程序的运行速度,这部分往往在多个线程之间没有太大关联,因此也谈不上有同步问题,在jdk提供高级并发编程工具,尤其CompletableFuture的出现,虽然在底层异步的时候默认使用了forkjoin线程池,但CompletableFuture更关注的是在屏蔽多线程、线程池的实现细节的情况下,充分利用cpu并发并行,异步地加快代码的执行效率。...原创 2019-04-25 11:34:07 · 192 阅读 · 0 评论 -
nacos调试
# 1、获取源码git clone https://github.com/alibaba/nacos.git# 2、打开nacos项目cd nacosidea .# 3、找到nacos-console模块,nacos的启动类com.alibaba.nacos.Nacos# 4、配置nacos启动参数 nacos.standalone=true保证已单机模式启动下面...原创 2019-01-23 15:19:12 · 3106 阅读 · 0 评论 -
nacos获取配置文件的大致过程
一、spring 体系相关类(主要借助spring的api,自动注入配置信息)com.alibaba.nacos.spring.core.env.AbstractNacosPropertySourceBuildercom.alibaba.nacos.spring.core.env.NacosPropertySourcePostProcessorcom.alibaba.nacos.spri...原创 2019-01-25 17:10:52 · 12910 阅读 · 2 评论 -
Data Center
源码地址(未完善):https://github.com/jsen-joker/DC场景分析: 现有多个业务系统,由于前期的规划和对业务的把握不足,导致出现多个类似的系统,现在需要在各个业务系统之间共享数据,由于前期业务复杂,耦合度高,很难一步到位,将系统微服务化,因此需要一个类似数据中心的系统来在各个业务系统(client)之间同步数据。 这里要完成的是对于client的CU...原创 2018-11-30 18:42:25 · 542 阅读 · 0 评论 -
RPC 整理
RPC-Reomto proceducer call 远程过程调用 基于 java一下主要基于自己的理解、这里我将http调用也视为一种rpc调用。 远程 这里远程应该相对于进程而言,甚至可能是线程。过程调用 简单地说就是执行代码(服务、业务逻辑)。 远程协议(姑且这么叫) 既然要远程,势必设计两端之间的通讯,在最通用化的假设下,该协议一般就是网络协议。所以相关的远程协议一...原创 2018-09-15 12:14:53 · 449 阅读 · 0 评论 -
Dubbo
这个是Dubbo的源码目录,dubbo源码非常清晰,每个子项目对应一个模块,在子项目下会有不同模块来对不同的技术作支撑。dubbo通过ExtensionLoader加载SPI,实现了对技术选择插件化、动态加载、懒加载、单利加载、动态注入,AOP,ExtensionLoader创建时会创建ExtensionFactory(同样用ExtensionLoader实例化)类,用于注入Extension...原创 2018-09-17 18:01:01 · 161 阅读 · 0 评论 -
jdk8函数式编程Predicate Supplier Consumer Function
以上四个都是函数式接口,对于这些接口,重要的是明白其存在的意义jdk推出这些函数式接口的目的是为了进行函数式编程,由于lambda表达式的应用,我们在实际编程中可能感受不到这些接口的使用,但其实在链式编程的时候,我们大量应用了这些接口。例如stream中的一个map方法,我们自然而然的直到这是将原值转换为另一个值,而我们在写lambda表达式的时候,其可行就是因为函数式接口Function的存在,...原创 2018-06-24 11:42:12 · 332 阅读 · 0 评论 -
再谈设计模式
关于对象创建:单利模式 意图:嗯比如管理类什么的抽象工厂模式 意图:一个复杂对象由很多部分组成,而且组件间还有一定的组合关系,可以使用抽象工厂模式,也就是说,一个具体工厂创建出来的组件一定符合某个具体对象的要求build模式 意图:一个对象可能由很多复杂对象构成,创建起来很复杂,可以在一个builder中进行条件化创建,和抽象工厂模式的一个重要区别是,抽象工厂模式关注创建零部件,而build模式更...原创 2018-06-23 18:28:28 · 152 阅读 · 0 评论 -
Java ClassLaoder小解
java中的ClassLoader:jdk中默认的classloader:程序打印一下可以看到sun.misc.Launcher$AppClassLoadersun.misc.Launcher$ExtClassLoaderAppClassLoader会加载jdk的核心库,而ExtClassLoader顾名思义会加载ext的lib,如${JAVA_HOME}/lib/ext对双亲委派模式的理解:所谓...原创 2018-05-29 10:28:58 · 310 阅读 · 0 评论