SF
code-craft
code-craft
注册登录
关注博客
注册登录
主页
关于
RSS
Java23的新特性
codecraft
9 月 29 日
阅读 21 分钟
351
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java18的新特性Java19的新特性Java20的新特性Java21的新特性Java22的新特性Java23的新特性Java24的新特性序本文...
聊聊rocketmq-proxy的popMessage
codecraft
8 月 13 日
阅读 44 分钟
209
序本文主要研究一下rocketmq-proxy的popMessageMessagingProcessororg/apache/rocketmq/proxy/processor/MessagingProcessor.java {代码...} MessagingProcessor接口定义了popMessage方法DefaultMessagingProcessororg/apache/rocketmq/proxy/processor/DefaultMessagingProcessor.java {代码...} DefaultMessagingProce...
聊聊PushConsumer与SimpleConsumer拉取消息的区别
codecraft
8 月 11 日
阅读 10 分钟
332
PushConsumer通过ProcessQueueImpl的receiveMessageImmediately拉取消息,其内部是通过consumer.receiveMessage(request, mq, longPollingTimeout)来拉取的,request是通过consumer.wrapReceiveMessageRequest(batchSize, mq, filterExpression, longPollingTimeout, attemptId)构建的
聊聊rocketmq5的PushConsumer
codecraft
8 月 10 日
阅读 21 分钟
359
PushConsumerImpl实现了AbstractIdleService的startUp方法,该方法会每隔5秒定时调度执行scanAssignments
聊聊rocketmq5的顺序消息队列选择
codecraft
8 月 9 日
阅读 6 分钟
453
proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/producer/SendMessageActivity.java
聊聊rocketmq5的RocketMQClientTemplate
codecraft
7 月 27 日
阅读 24 分钟
359
自从rocketmq推出了5版本之后,rocketmq-spring就区分了4.x与5.x版本,4.x版本是rocketmq-spring开头,5.x版本是rocketmq-v5-client开头;rocketmq5的RocketMQClientTemplate对应的是旧版的RocketMQTemplate,他们都同样继承了org.springframework.messaging.core.AbstractMessageSendingTemplate,只是各自扩展的方法发...
聊聊jetcache的BroadcastManager
codecraft
6 月 21 日
阅读 14 分钟
499
jetcache-core/src/main/java/com/alicp/jetcache/support/BroadcastManager.java
聊聊jetcache的CacheMonitor
codecraft
6 月 20 日
阅读 21 分钟
495
CacheMonitor是一个FunctionalInterface,它定义了afterOperation方法用于消费CacheEvent,它有两个实现类,分别是DefaultCacheMonitor、CacheNotifyMonitor
聊聊jetcache的ProxyCache
codecraft
6 月 19 日
阅读 24 分钟
469
序本文主要研究一下jetcache的ProxyCacheProxyCachejetcache-core/src/main/java/com/alicp/jetcache/ProxyCache.java {代码...} ProxyCache继承了Cache接口,它定义了getTargetCache方法,并默认实现了unwrap方法SimpleProxyCachejetcache-core/src/main/java/com/alicp/jetcache/SimpleProxyCache.java {代码...} Simp...
聊聊jetcache的MultiLevelCache
codecraft
6 月 18 日
阅读 27 分钟
574
Cache接口主要是定义了大写的GET、GET_ALL、PUT、PUT_ALL、REMOVE、REMOVE_ALL、PUT_IF_ABSENT方法,以及基于这些大写方法包装的小写default方法V get(K key)这样的方法虽然用起来方便,但有功能上的缺陷,当get返回null的时候,无法断定是对应的key不存在,还是访问缓存发生了异常,所以JetCache针对部分操作提供了另外...
聊聊jetcache的CacheManager
codecraft
6 月 17 日
阅读 8 分钟
491
CacheManager定义了getCache、putCache、getBroadcastManager、putBroadcastManager、getOrCreateCache方法,并提供了aera为default的默认getCache、putCache、putBroadcastManager方法
聊聊JetCacheProxyConfiguration
codecraft
6 月 13 日
阅读 19 分钟
523
序本文主要研究一下JetCacheProxyConfigurationJetCacheProxyConfigurationcom/alicp/jetcache/anno/config/JetCacheProxyConfiguration.java {代码...} JetCacheProxyConfiguration定义了JetCacheInterceptor、CacheAdvisorJetCacheInterceptorcom/alicp/jetcache/anno/aop/JetCacheInterceptor.java {代码...} JetCach...
聊聊mybatis-plus的DefaultIdentifierGenerator
codecraft
5 月 11 日
阅读 9 分钟
516
MybatisSqlSessionFactoryBuilder的build方法,在globalConfig.getIdentifierGenerator()为null的时候创建并使用DefaultIdentifierGenerator
聊聊powerjob的maxResultLength
codecraft
5 月 8 日
阅读 11 分钟
221
powerjob-worker/src/main/java/tech/powerjob/worker/common/PowerJobWorkerConfig.java
再聊HttpClient的NoHttpResponseException
codecraft
4 月 28 日
阅读 10 分钟
495
序本文主要研究一下抛出NoHttpResponseException的调用链异常堆栈 {代码...} HttpRequestExecutor.executeorg/apache/http/protocol/HttpRequestExecutor.java {代码...} doSendRequest返回null,则执行doReceiveResponse,这里会抛出NoHttpResponseExceptiondoReceiveResponseorg/apache/http/protocol/HttpRequestExec...
聊聊redisson的RRateLimiter
codecraft
4 月 23 日
阅读 23 分钟
544
RRateLimiter继承了RRateLimiterAsync、RExpirable接口,它主要定义了trySetRate、setRate、tryAcquire、acquire、getConfig、availablePermits方法
聊聊linux的文件缓存
codecraft
4 月 17 日
阅读 4 分钟
536
linux使用page cache来缓存最近读取的文件,也有目录结构(dcache: Directory Entry Cache)缓存及inode缓存,它们都使用了LRU算法来管理这些page及dentries cache
聊聊docker容器的memory限制
codecraft
4 月 8 日
阅读 7 分钟
860
所谓Cache,就是为了弥补高速设备和低速设备之间的矛盾而设立的一个中间层。缓冲(Buffer)是根据磁盘的读写设计的,它把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。
聊聊k8s服务发现的优缺点
codecraft
3 月 26 日
阅读 3 分钟
301
这里有张spring cloud与kubernetes的对比,如果将微服务部署到kubernetes上面,二者有不少功能是重复的,可否精简。这里主要是讲述一下如果不使用独立的服务发现,而是使用k8s的服务发现的优缺点
Java22的新特性
codecraft
3 月 25 日
阅读 14 分钟
1.4k
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java18的新特性Java19的新特性Java20的新特性Java21的新特性Java22的新特性Java23的新特性序本文主要讲述一下Ja...
聊聊powerjob的执行机器地址
codecraft
3 月 16 日
阅读 4 分钟
263
powerjob-common/src/main/java/tech/powerjob/common/request/http/SaveJobInfoRequest.java
聊聊powerjob的failedTaskNum
codecraft
3 月 15 日
阅读 19 分钟
296
powerjob-worker/src/main/java/tech/powerjob/worker/core/tracker/task/heavy/HeavyTaskTracker.java
聊聊powerjob的单机线程并发度
codecraft
3 月 12 日
阅读 13 分钟
408
powerjob-worker/src/main/java/tech/powerjob/worker/pojo/model/InstanceInfo.java
聊聊spring-cloud-kubernetes-client-loadbalancer
codecraft
2 月 26 日
阅读 12 分钟
401
org/springframework/cloud/loadbalancer/core/ServiceInstanceListSupplier.java
聊聊spring-cloud-kubernetes-client-discovery
codecraft
2 月 23 日
阅读 8 分钟
346
spring-cloud-commons提供了DiscoveryClient接口,它定义了description、getInstances、getServices、probe、getOrder方法
聊聊arthas的HttpTermServer
codecraft
2 月 21 日
阅读 8 分钟
349
序本文主要研究一下arthas的HttpTermServerTermServercom/taobao/arthas/core/shell/term/TermServer.java {代码...} TermServer是一个抽象类,它定义了termHandler、listen、actualPort、close抽象方法HttpTermServercom/taobao/arthas/core/shell/term/impl/HttpTermServer.java {代码...} HttpTermServer继承了TermSe...
聊聊arthas的ArthasBootstrap
codecraft
2 月 20 日
阅读 17 分钟
342
ArthasBootstrap的构造器执行initFastjson、initSpy、initArthasEnvironment、LogUtil.initLogger(arthasEnvironment)、enhanceClassLoader、initBeans、bind,最后注册shutdownHook来执行destroy方法
聊聊arthas的spring-boot-starter
codecraft
2 月 19 日
阅读 7 分钟
483
arthas-spring-boot-starter/src/main/java/com/alibaba/arthas/spring/ArthasConfiguration.java
聊聊如何停止某个pod的流量
codecraft
2 月 18 日
阅读 4 分钟
653
org/springframework/boot/actuate/availability/ReadinessStateHealthIndicator.java
聊聊如何变更pod的流量路由
codecraft
2 月 13 日
阅读 5 分钟
549
可以看到原来10.244.0.8:8080的pod由于label被更新了,所以被移除了,但因为需要保持3个副本,因而点多生成了一个pod(10.244.0.11:8080)
1
(current)
2
3
4
5
…
More
下一页
1
(current)
下一页