首页
学习
活动
专区
工具
TVP
发布

山行AI

山行AI(原开发架构二三事),后续专注于AI应用领域
专栏作者
294
文章
650970
阅读量
57
订阅数
十亿行大数据挑战——用Java快速聚合文本文件中的10亿行的有趣探索
一亿行挑战(1BRC)是一项有趣的探索,旨在了解现代Java在从文本文件中聚合十亿行数据方面的极限。拿起你的(虚拟)线程,使用SIMD,优化你的GC,或者尝试其他任何技巧,创建解决此任务的最快实现!
山行AI
2024-01-05
6290
flink中如何自定义Source和Sink?
动态表(Dynamic tables)是Flink的Table&SQL API的核心概念,用于以统一方式处理有界和无界数据。
山行AI
2021-02-19
4.7K0
一文读懂比BitMap有更好性能的Roaring Bitmap
1.什么是bitmap?为什么使用bitmap?Roaring bitmap与其他bitmap编码技术相比有哪些优势?2.Roaring bitmap将32位无符号整数按照高16位分容器,即最多可能有216=65536个容器(container),存储数据时,按照数据的高16位找到container(找不到就会新建一个),再将低16位放入container中。高16位又称为共享有效位,它用于索引应该到哪个容器中查找对应的数值,属于roaring bitmap的一级索引。3.Roaring bitmaps以紧凑高效的两级索引数据结构存储32位整数。高密度块使用位图存储;稀疏块使用16位整数的压缩数组。当一个块包含不超过4096个整数时,我们使用一个排好序的16位整数数组。当有超过4096个整数时,我们使用2^16 位的位图。为什么按4096作为阀值呢?仅仅是因为当数据块中的整数数量超过这个值之后,bitmap将比数组的内存使用率更高。
山行AI
2020-11-26
7.7K0
javacc功能一览
1.编译原理中常见的解析器LL和LR的对比;2.javacc的特征;3.如何在java ide中进行javacc的开发;4.通过演示一个javacc计算器的例子让你对javacc有更多了解(只是一个简单地演示,不涉及过多的语法说明)。
山行AI
2020-11-10
1.8K0
antlr4入门篇
ANTLR实际上有两件事:一种将您的语法转换为Java(或其他目标语言)的解析器/词法分析器的工具,以及生成的解析器/词法分析器所需的运行时。即使您使用ANTLR Intellij插件或ANTLRWorks来运行ANTLR工具,生成的代码仍将需要运行时库。
山行AI
2020-08-18
4K0
lettuce和hbase中对netty的使用你都了解吗?
在使用lettuce作为redis连接池时,在上一节中我们知道,lettuce中维护连接有两种使用连接池的方式,目前一种已经废弃,另一种大家正在使用的版本是apache commons pool。咱们来回顾下。
山行AI
2020-07-24
2K0
flink的local模式启动全流程源码分析
这是一个执行WordCount的操作,我们以这个demo为入口来对整个执行流程进行分析记录。
山行AI
2020-05-22
1.9K0
AQS源码分析之ReentrantLock
在该方法内部会调用非公平锁java.util.concurrent.locks.ReentrantLock.NonfairSync#tryAcquire和 acquireQueued和addWaiter方法,这些方法会在后面进行分析。
山行AI
2020-03-25
3340
AQS源码分析二之Condition
reentrantLock.newCondition()方法返回的对象类型是ConditionObject类型,ConditionObject是AbstractQueuedSynchronizer的内部类,它对象的创建依赖于外部类的对象,在它里面可以调用外部类中的方法。
山行AI
2020-03-25
5490
AQS源码分析之ReentrantReadWriteLock
实例化的时候会根据fair值的不同来创建不同的sync,代表着同步的公平性与非公平性。同时实例化读锁和写锁。
山行AI
2020-03-25
5280
AQS源码分析之CyclicBarrier
六个线程都会在await方法处等待,等到六个线程都到位后才会并发往下执行,接下来我们基于源码来分析下其内部实现原理。
山行AI
2020-03-25
3910
AQS源码分析之Elasticsearch BaseFuture
Java多线程编程中,常用的多线程设计模式包括:Future模式、Master-Worker模式、Guarded Suspeionsion模式、不变模式和生产者-消费者模式等
山行AI
2020-03-25
7000
Elasticsearch源码分析八之锁管理工具KeyLock
KeyedLock的map属性是存放资源标识和KeyLock的容器,也就是一个大的锁容器。KeyLock为每一个资源标识对应的锁对象,它继承自ReentrantLock:
山行AI
2020-03-25
5930
AQS源码分析之CountDownLatch
tryAcquireShared方法在调用时只有在state值为0时才会返回1,否则会一直返回-1。
山行AI
2020-03-25
3450
AQS源码分析之Semaphore
公平版本在获取许可时需要先通过hasQueuedPredecessors方法判断是否有比当前节点等待更久的节点。
山行AI
2020-03-25
3570
AQS源码分析之ThreadPoolExecutor Worker
它的主要作用是在对worker进行interrupt操作时需要先获取worker的独占锁。
山行AI
2020-03-25
1.6K0
kotlin中使用myibatis-plus的lambdaQuery的问题
这里在使用时会在调用 eq 方法时报错,错误信息为"该方法仅能传入 lambda 表达式产生的合成类"
山行AI
2020-01-02
6.5K0
dubbo中使用hystrix遇到ThreadLocal变量的上下文传递时问题分析
在实际运行时,大多数情况下会出现 consumer 端放入的 traceId 和国际化变量在 provider 端取不到的情况。而且具体分析时发现,consumer 端放入 MDC 的环境变量在 consumer 端的 filter 中从 MDC 去取时都会有取不到的情况。将 HystrixFilter,MDCFilter 的顺序调换成 MDCFilter,HystrixFilter 后在 consumer 端的 filter 中去 MDC 中是能取到正确的值的,但是在 provider 端是取不到的。
山行AI
2020-01-02
3.1K0
聊一聊线程变量绑定之TransmittableThreadLocal
可以看出,在配合 TtlExecutors、TtlRunnable 和 TtlCallable 时,TransmittableThreadLocal 可以实现 InheritableThreadLocal 实现不了的效果——线程复用条件下的 ThreadLocal 变量传递。
山行AI
2019-12-19
1.3K0
聊一聊线程变量绑定之InheritableThreadLocal
我们继续按照分析 ThreadLocal 源码的思路来分析一下 InheritableThreadLocal 变量。
山行AI
2019-12-19
7980
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档