Java

JAVA获取文件夹下所有的文件

packagecom.test;importorg.junit.Test;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importjava.io.File;/***获取文件夹下所有的文件*/publicclassFileTest{privatestaticf...

C# 代码中调用 Javascript 代码段以提高应用程序的配置灵活性(使用 Javascript .NET 与 Jint)

一般来说,我们需要在开发应用软件的配置文件中,添加一些参数,用于后续用户根据实际情况,自行调整。配置参数,可以放在配置文件中、环境变量中、或数据库表中(如果使用了数据库的话)。通常,配置数据,以key/value的形式。有时候,这种  key/value的形式,不足以满足用户需求。比如,系统中有个定...

JavaScript 内存泄露问题

内存泄露是每个开发者最终都不得不面对的问题。即便使用自动内存管理的语言,你还是会碰到一些内存泄漏的情况。内存泄露会导致一系列问题,比如:运行缓慢,崩溃,高延迟,甚至一些与其他应用相关的问题。什么是内存泄漏本质上来讲,内存泄露是当一块内存不再被应用程序使用的时候,由于某种原因,这块内存没有返还给操作系统或者空闲内存池的现...

细说 JavaScript 七种数据类型

在JavaScript规范中,共定义了七种数据类型,分为“基本类型”和“引用类型”两大类,如下所示:基本类型:String、Number、Boolean、Symbol、Undefined、Null 引用类型:Object下面将详细介绍这七种数据类型的一些特性。1、String类型String类型用于表示由零或...

Springcloud Gateway 路由管理

SpringCloudGateway是SpringCloud的一个全新项目,该项目是基于Spring5.0,SpringBoot2.0和ProjectReactor等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的API路由管理方式。SpringCloudGateway作为SpringCloud生态系统中的网...

Fescar(Seata)-Springcloud流程分析-2阶段

上文我们分析了fescar的一阶段执行过程。在一阶段中,服务起始方发起全局事务并注册到TC。在调用协同服务时,协同服务的事务分支事务会先完成阶段一的事务提交或回滚,并生成事务回滚的undo_log日志,同时上报其事务状态。出现任何异常都会通知TC,TC会通知各个一阶段已提交的事物通过undo_log发起回滚。如果没有异...

Fescar(Seata)-Springcloud流程分析-1阶段

Fescar是阿里18年开源的分布式事务的框架。Fescar的开源对分布式事务框架领域影响很大。作为开源大户,Fescar来自阿里的GTS,经历了好几次双十一的考验,一经开源便颇受关注。今天就来看了Fescar的代码,看看到底是怎么一回事。  在XA协议中分为两阶段: 第一阶段:事务管理器...

Springboot整合Elastic-Job(二)

上文我们讲到Springboot整合Elastic-Job整合的demo,只是简单的实现了主要功能。本文在上文基础上,进行新的调整。 Elastic-Job提供了事件追踪功能,可通过事件订阅的方式处理调度过程的重要事件,用于查询、统计和监控。Elastic-Job目前提供了基于关系型数据库两种事件订阅方式记录...
代码星球·2021-02-15

Springboot整合Elastic-Job

Elastic-Job是当当网的任务调度开源框架,有以下功能分布式调度协调弹性扩容缩容失效转移错过执行作业重触发作业分片一致性,保证同一分片在分布式环境中仅一个执行实例自诊断并修复分布式不稳定造成的问题支持并行调度支持作业生命周期操作丰富的作业类型Spring整合以及命名空间提供运维平台具体信息可以查看官网 ...
代码星球·2021-02-15

Java IO模型

  Linux的内核将所有外部设备都看做一个文件来操作,对一个文件的读写操作会调用内核提供的系统命令,返回一个filedescriptor(fd,文件描述符)。而对一个Socket的读写也会有相应的描述符,称为Socketfd(Socket描述符),描述符就是一个数字,它指向内核中的一个结构体(结构体,C/C++数据类...
代码星球·2021-02-15

SpringCloud Feign的分析

Feign是一个声明式的WebService客户端,它使得编写WebSerivce客户端变得更加简单。我们只需要使用Feign来创建一个接口并用注解来配置它既可完成。@FeignClient(value="qrcodepay-dike-service")publicinterfaceTestRoute{@Request...
代码星球·2021-02-15

SpringCloud Ribbon的分析(二)

上文我们分析到 loadBalancer根据具体的算法选择相应的server。protectedServergetServer(ILoadBalancerloadBalancer){if(loadBalancer==null){returnnull;}returnloadBalancer.chooseServ...
代码星球·2021-02-15

SpringCloud Ribbon的分析

  SpringCloudRibbon主要用于客户端的负载均衡。最基本的用法便是使用RestTemplate进行动态的负载均衡。我们只需要加入如下的配置便能完成客户端的负载均衡。@ConfigurationpublicclassRestConfiguration{@Bean@LoadBalancedpublicRest...
代码星球·2021-02-15

Springboot 拦截器的背后

今天写了个拦截器对一些mapping做了些处理,写完之后突然很想看看拦截器是怎么加进spring里面。对着源码debug了一遍。又有了新的收获。1.拦截器的实现  1.实现HandlerInterceptorpublicclassMyHandlerInterceptorimplementsHandlerIntercep...
代码星球·2021-02-15

Springboot 启动详解

1.前言  最近一直在看Springboot和springcloud代码,看了将近20多天,对这两个系统的认知总算是入了门。后续应该会有一个系列的文章,本文就先从Springboot的启动入手.2.容器初始化 上面的代码是Springboot的入口,现在从run方法进去 点击进来后到了这里就会分成两...
代码星球·2021-02-15