- 博客(36)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 Apache Kafka基础认知-Part1
Kafka 的核心抽象是“主题”,即记录流的类别。每个主题既支持负载均衡的处理,也支持多订阅者的扩展。Kafka 的消费者组概念实现了队列和发布-订阅模式的结合,使其既能进行并行处理,又能保持记录顺序。Kafka 不仅充当传输中的消息存储系统,还能以高性能、低延迟存储日志,提供类似分布式文件系统的功能。Kafka 提供的 Streams API 支持构建复杂的流处理应用,能够处理乱序数据、执行状态计算等复杂任务。Kafka 将日志的分区分布到集群的多个服务器上,每个分区可复制到多个服务器,以实现容错。
2024-10-12 22:13:16 622
原创 Vavr - java函数式编程,分离业务代码与非业务代码神器
Vavr 基于jdk8的编码神器,可以让非业务代码不影响业务代码,代码变得优雅可靠
2024-10-10 22:54:32 1169
原创 使用Redisson实现延时消息
Redis 的过期事件监听是基于 pub/sub 的,key 过期时会 pub 消息到一个内置的 channel 中,客户端可以通过监听这个 channel 获取到消息,进而实现延时队列的功能。所以删除过期的key不一定是过期的时间。:Redisson的延时队列可以在分布式环境中使用,并提供了分布式锁和协调机制,确保多个节点或实例之间的任务处理的一致性和可靠性。:Redisson的延时队列支持异步任务处理,减少了等待时间和阻塞,提升了整体的吞吐量和响应性能。,查询头部元素,如果过期,使用ZREM移除。
2024-05-17 10:42:49 750 1
原创 英语学习(十)疑问句及否定句
三种疑问句:where is the toilet.Are you OK?Will you marry me ?1.分析疑问句的套路是什么?还原。将疑问句调整顺序还原成陈述句,用其他的从句或者词代替疑问副词。2.疑问副词有哪些?表地点:where(问哪里)表原因:why(问为什么)表方式:how(问怎么做)表说明:what(问什么)表时间:when(问什么时候)主语和谓语...
2020-05-08 17:05:29 699
原创 英语学习(九)复合句
1.什么是复合句?由独立性从句(老大)和非独立性从句(小弟)组成的句子“小弟”组成的句子。“小弟”的主要组成作用是装饰、补充或者替补,不能自成一派,只有依靠“老大”2.非独立性从句分为哪三种?名词性从句、形容词性从句、副词从句3.什么是名词性从句?名词性从句就是用多个单词来表达一个名词或者人称代词。例如:On weekends,we can do whatever we want....
2020-04-30 16:51:53 521
原创 英语学习(八)独立性从句之并列句
并列连词常见的并列连词有7个:fanboys(迷弟):For(因为)And(和,而)Nor(也不)But(但是)Or (否则)Yet(缺)So(所以)并列句构成的两个必要条件?1)有两个并列的独立性从句2)两个独立性从句之间,有一个并列连词(注意:逗号并不是组成并列句的必要条件)例如:Adam and Eve love apples. (不是并列句,是主谓宾结构的...
2020-04-12 18:10:46 2145
原创 英语学习(七)从句
1.句子的核心表达一个完整且准确的思想。apple badThe apple on the desk has gone bad.2.主语主语(subject)表示的是句子主要说明的人物或者事务;主语可以是人物,事务,地点,或者想法。I(主语) am good.Lamps(主语) are bright.3.谓语谓语是对主语动作或者状态的陈述和说明。就是告诉你主语到底咋了。4.谓...
2020-04-12 17:51:42 537
原创 英语学习(六)代词/介词/连词/数词(辅助词)
代词:人称代词疑问代词what who whose whom which whatever whichever whoever whomever其他的代词this that these those most all some any介词起中介作用的词一些动词(不及物动词)。无法直接跟名词,需要一个中介。例如:run to school.arrive in Shangha...
2020-04-12 09:40:50 906
原创 Redis的使用JedisPool、Jedis
Redis的使用JedisPool、JedisPoolConfig、Jedisa)在启动服务时,redis中添加a =>1;b=> 2的数据:@PostConstructpublic void init() { try (Jedis jedis = new Jedis("127.0.0.1", 6379)) { Assert.isTrue("OK".eq...
2020-04-01 16:35:54 329
原创 英语学习(五)形容词和副词(Adjective&Adverb)
形容词:1.什么是形容词?形容词(adjective,缩写为adj.)指的是修饰名词或指代的单词。翻译成中文都是…的。2.一个句子中,形容词的位置在何处?放在要修饰的名词前面。(最常见)例如:You’re my only goddess.The most beautiful and lovely woman.主系表结构中作表语例如:You are beautiful.主谓宾宾补结...
2020-04-01 11:31:08 1353
原创 英语学习(四)动词(Verb)
一般进行完成完成进行现在时do/doesbe doinghave donehave been doing过去式didwas/were doinghad donehad been doing将来时will dowill be doingwill have donewill have been doing1 动词分为哪几类?a)实意...
2020-03-31 21:02:27 478
原创 英语学习(三)冠词(Article)
冠词分为不定冠词和定冠词不定冠词有:a、an;定冠词有:the。a、an 相当于汉语中的“一个”the相对于汉语里的“这个”或“那个”【可数名词】表示泛指,加a/an。(根据后面名词首字母的因素判断是a还是an),或直接使用复数形式。表特指,在该名词的单复数前面加上表特指的冠词the。【不可数名词】表泛指,不加任何冠词表特指,加定冠词the冠词的例外有哪些?乐器前加t...
2020-03-31 10:05:36 419
原创 英语学习(二)名词(Nouns)
判断一个名词是否可加s,要问三个问题:这个词是不是一个专有名词如果不是专有名词,那么它是可数名词还是不可数名词如果是可数名词,复数形式有没有特殊情况?专有名词是指:就是那些独一无二、首字母大写的词。比如国家、人名不可数名词包含三类:表示物质:材料的词,如glass、water,常借助两次表示其数量表示事物总称:如fruit、money、furniture、jwewller...
2020-03-31 09:55:36 318
原创 英语学习(一)五大基本句型
五大基本句型:主谓(SV):I remember.主谓宾(SVO):I love you.主谓宾宾(SVOO):I told you a story.(Lilei just gave me a corrent answer.)主谓宾宾补(SVOC):The story made you happy.(Ifind English easy.)主系表(SVC):You are beautif...
2020-03-31 09:40:54 316
原创 threadpool的oom(out of memory)问题分析
线程池的声明需要手动进行《阿里巴巴 Java 开发手册》中并不推荐使用Java 中的 Executors 类里的快捷的工具方法来快速创建线程池,更应该根据实际的需求等,通过手动 new ThreadPoolExecutor 来创建线程池。否则可能会出现oom问题接下来我们开始使用Executors.newFixedThreadPool,Executors.newCachedThreadPoo...
2020-03-30 20:46:19 1335
原创 设计模式之动态代理(spring、cglib、 jdkproxy)
静态代理与动态代理的区别:静态代理的目标对象比较单一 是某一类或实现同一接口的实例,不利于扩展,而动态代理的目标对象就没有限制,目标对象可以任意实例,如果目标对象实现了接口则可以使用jdk自带的代理类实现,如果没有实现接口则可以使用第三方的组件Cglib来实现。动态代理1) 先创建一个通用接口package com.arno.summary.proxy.dynamicproxy.jdkpr...
2020-03-27 21:38:22 139
原创 java8笔记(一)方法接口 Functional Interface(lamada 表达式)
方法接口 Functional InterfaceFunctionalInterfacejdk1.8开始,新增了一个接口注释FunctionalInterface(官方文档)文档里的解释:An informative annotation type used to indicate that an interface type declaration is intended to be a...
2020-03-26 17:52:16 170
转载 Lombok介绍、使用方法和总结
Lombok介绍、使用方法和总结1 Lombok背景介绍官方介绍如下:Project Lombok makes java a spicier language by adding 'handlers' that know how to build and compile simple, boilerplate-free, not-quite-java code.2 Lombok使用方法...
2020-03-26 10:06:46 95
原创 锁和被保护的对象的分析
静态字段属于类,非静态字段属于类的实例类实例类级别的锁可以保护不可保护实例级别的锁不可保护可以保护我们知道静态字段属于类,类级别的锁才能保护;而非静态字段属于类实例,实例级别的锁就可以保护。...
2020-03-25 13:52:47 261
原创 volatile、synchronized的使用
synchronized在JDK1.6后,synchronized与Lock性能上差距很小了(优化了很多,自旋锁,自适应自旋锁、偏向锁,轻量级锁等),synchronized不用手动释放锁,很实用volatilevolatile保证了可见性。被它修改的属性改完后会强制让工作内存失效。去主存拿。(也可以使用java.util.concurrent.atomic下的类)接下来测试以下代码pa...
2020-03-24 16:24:42 238
原创 Map的computeIfAbsent和putIfAbsent区别
Map的computeIfAbsent和putIfAbsent都是判断第一个参数Object k 在map.keyset中是否存在,不存在则将k同后面的Object value一同保存到Map中。putIfAbsent 不管怎样key是否存在,都会执行value的计算。当Key存在的时候,如果Value获取比较昂贵的话,putIfAbsent就白白浪费时间在获取这个昂贵的Value上Key不...
2020-03-23 17:11:11 5882
原创 computeIfAbsent的使用
Map中computeIfAbsent的使用HashMap.computeIfAbsent如果需要向Map中push一个键值对,需要判断K key在当前map中是否已经存在,不存在则通过后面的 Function<? super K, ? extends V> mappingFunction 来进行value计算,且将结果当作value同key一起push到Map中。Concurr...
2020-03-22 15:39:43 4114
原创 使用ConcurrentHashMap的聚合方法作为逻辑条件时也要考虑线程安全
ConcurrentHashMap的优雅使用相对于hashMap,ConcurrentHashMap则具有原子性的读写特性,但是ConcurrentHashMap的聚合方法(例如:size、isEmpty 和 containsValue…)在并发场景下,可能只是一个参考值,不可用于流程的控制。在一个线程pullAll的时候,另一个线程获取size,此时的size就是错误的。要想避免上述问题,则...
2020-03-22 09:36:03 222
原创 运行在tomcat容器中的ThreadLocal容易产生的问题
运行在tomcat容器中的ThreadLocal容易产生的问题ThreadLocal在tomcat容器中的的生命周期并不等于web request的生命周期,所以(以下讨论的是tomcat容器中使用ThreadLocal),所以ThreadLocal不应保存与请求会影响的相关的信息。ThreadLocal在tomcat容器中的的生命周期并不等于web request的生命周期,所以(以下讨论的是...
2020-03-21 17:19:43 1339
为什么我的i7 -6700处理器启动本地服务和i3话的时间差不多啊?
2017-07-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人