RussXia

身处寒夜,把握星光。

Java中的invokedynamic和lambda表达式

Java中的invokedynamic和lambda表达式 关于invokedynamic和其他四种字节码方法调用指令 在Java7中,JVM新增了invokedynamic指令。在此之前,JVM就已经提供了四种不同的字节码方法调用指令: invokevirtual——对实例方法的标准分派 invokestatic——用于分派静态方法 invokeinterface——用于...

时间轮定时器

时间轮定时器 时间轮算法的基本架构 时间轮是基于一个循环链表(实际上就是个数组,通过下标控制)的数据结构。所以也因此得名WheelTimer。时间轮算法的复杂程度跟分级层数有关,最简单的就是一层的,复杂一点的就是分层时间轮(Hierarchical Timing Wheels)。对于一层的时间轮,添加/删除/取消任务的复杂度是O(1),过期/执行任务时,最差情况是O(n)(类似HashMa...

Java中Thread相关的一些小知识

Java中Thread相关的一些小知识 Java使用进程执行shell命令 public static void main(String[] args) throws IOException, InterruptedException { String[] cmdline = {"sh", "-c", "echo $MYSQL_HOME"}; Runtime runtime...

Scala入门学习笔记(二)

Scala基础 Twitter提供的 Scala School 类 Scala中默认缺省的访问级别是public的。 如果没有任何显式的返回语句,Scala将返回方法中最后一个计算得到的值。 Scala中的方法参数,都是val的。如果想在方法内给参数重新赋值,会导致编译失败。 class ChecksumAccumulator { private var sum = 0 ...

Scala入门学习笔记(一)

Scala基础 Twitter提供的 Scala School 变量 定义不可变量:val, val类似于Java中的final变量。与之对应的var类似于Java中的非final变量。Scala自带类型推断(type inference), scala> val a = 2 a: Int = 2 scala> var b = 3 b: Int = 3 scala>...

PySpark中遇到过的问题合集

TypeError: ‘Builder’ object is not callable Spark structured streaming 参考PySpark时,quick-start中的一个demo运行失败,报错。 """SimpleApp.py""" from pyspark.sql import SparkSession logFile = "YOUR_SPARK_HOME/RE...

Dubbo源码笔记(二)

dubbo spi: 官方文档 dubbo框架设计:官方文档 dubbo源码分析:官方文档 服务发现 Dubbo服务引用分两种:饿汉式和懒汉式,默认使用的时懒汉式。第一种饿汉式在Spring容器初始化时,调用ReferenceBean的afterPropertiesSet方法时引用服务;第二种懒汉式,在对应服务被注入到其他类中时,Spring会调用getObject()方法...

Dubbo源码笔记(一)

官方文档目前的内容时基于2.6.x版本的,我下载的源码是2.7.2的。大体内容以官方文档为主,这里记一些官方文档不全的/自己看文档时迷惑过的内容。 dubbo spi: 官方文档 dubbo框架设计:官方文档 dubbo源码分析:官方文档 服务导出 Dubbo以ServiceConfig, ReferenceConfig 为中心,对应的Spring入口就是ServiceB...

Dubbo反序列化抛出的空指针异常问题

起因 线上出现了一段空指针异常,根据异常栈和经验,第一时间的反应是消费者段在发序列化的时候报错了,觉得应该是返回值在反序列化时出问题。但是前前后后检查了好几次返回值,都没有发现有什么有问题的地方。下面是异常堆栈: java.lang.NullPointerException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(N...

Kafka的三种消息投递语义

Kafka的三种消息投递语义 Kafka支持的三种消息投递语义: at most once:至多一次,消息可能会丢,但不会重复 at least once:至少一次,消息肯定不会丢失,但可能重复 exactly once:有且只有一次,消息不丢失不重复,且只消费一次。 at least once 和 at most once 消息的投递和消费分为两端:producer-br...