Java
文章平均质量分 65
哈哈咸鱼zjx
这个作者很懒,什么都没留下…
展开
-
我的第一次实质性开源贡献——Apache IoTDB
Apache IoTDB开源贡献记录前言虽然之前也在Github上尝试提过一些PR,但都是一些doc、typo等一些入门实践。真正算得上有一定实质性工作,要数最近在Apache IoTDB上提交的一个功能PR.原创 2022-03-18 17:22:44 · 5969 阅读 · 0 评论 -
SpringBoot整合Kafka控制消费启停遇到的问题记录(@KafkaListener注解使用)
SpringBoot+Kafka(@KafkaListener注解使用)问题原创 2021-12-15 00:21:22 · 3987 阅读 · 2 评论 -
ReentrantLock源码阅读(1)(JDK1.8)
ReentrantLock前言ReentrantLock(JDK 1.8)实现了Lock接口Sync类NonfairSync类FairSync类重要属性和方法总结前言最近在使用Java 并发包时遇到一些问题,感觉对于其还是不够了解,故开始着手阅读相关源码。ReentrantLock(JDK 1.8)实现了Lock接口public interface Lock { void lock(); void lockInterruptibly() throws Interru原创 2021-07-05 12:31:39 · 89 阅读 · 3 评论 -
AbstractQueuedSynchronizer源码阅读(1)(AQS JDK1.8)
AbstractQueuedSynchronizer前言AbstractQueuedSynchronizer(1)(JDK 1.8)用途主要源码分析Node内部类ConditionObject类重要方法主要的属性及方法主要属性重要方法主要要实现的方法前言最近在使用Java 并发包时遇到一些问题,感觉对于其还是不够了解,故开始着手阅读相关源码。AbstractQueuedSynchronizer(1)(JDK 1.8)用途Provides a framework for implementi原创 2021-07-05 12:22:22 · 80 阅读 · 2 评论 -
多接口继承和多层抽象类设计理解
多接口继承和多层抽象类设计理解以JDK集合List框架为例有感(以后可能又会有新的理解,先记录一下)设计得好的接口一般也要遵循单一职责原则,最上层的接口一般属于独立的,不再有依赖的,如Iterable接口定义获取迭代器接口的方法,以便实现遍历功能,而Collection接口除了容器遍历的能力外还需要容器特有的一些东西,所以定义了最基本容器的一些接口方法,而List接口则追加定义了一些基本线性表容器接口方法,层层继承充满设计之美;而抽象类,我感觉跟Java设计模式中的模板方法模式有着.原创 2021-03-15 12:23:08 · 264 阅读 · 0 评论 -
Java多线程里共享变量线程安全问题的原因
Java多线程里共享变量线程安全问题的原因Java多线程里对于共享变量的操作往往需要考虑进行一定的同步互斥操作,原来是因为Java内存模型导致的共享内存对于线程不可见。Java 内存模型规定,将所有的变量都存放在主内存中,当线程使用变量时,会把主内存里面的变量复制到自己的工作空间或者叫作工作内存,线程读写变量时操作的是自己工作内存中的变量 。如下图所示栗子一个双核 CPU 系统架构,每...翻译 2020-03-12 11:29:05 · 929 阅读 · 0 评论 -
Java中的==与equals()的区别(1)
Java中的==与equals()的区别(1)package study;public class Note1 { public static void main(String[] args) { // TODO Auto-generated method stub Integer n1 = new Integer(1); Integer n2 = new Integer...原创 2019-01-22 22:41:42 · 138 阅读 · 0 评论 -
JAVA泛型的学习(3)
JAVA泛型的学习(3)1.消除泛型泛型是使用一种成为类型消除的方法实现的。编译器使用泛型类型信息来编译代码,但是随后会消除它。因此泛型信息在运行时是不可用的。泛型存在于编译时,一旦编译器确认泛型类型是安全使用的,就会将它转换为原始类型。下面是一个具体的例子:ArrayList<String> list = new ArrayList<>();lis...原创 2019-01-25 10:53:59 · 155 阅读 · 0 评论 -
JAVA泛型的学习(2)
JAVA泛型的学习(2)1.受限泛型类型<E extends xxx>将E指定为xxx的泛型子类型非受限泛型<E>等同于<E extends Object> public static <E extends Comparable<E>> void sort(E[] list) { //E表示是Comparab...原创 2019-01-25 10:28:01 · 199 阅读 · 0 评论 -
JAVA泛型的学习(1)
JAVA泛型的学习(1)1.什么是泛型?泛型(generic)可以参数化类型,使我们在定义带泛型类型的类或方法时,随后编译器会用具体的类型来替换它。个人感觉与C++的模板很像。2.为什么要用到泛型使用泛型的动机就是可以在编译时检测出错误,使程序更加可靠,这么说可能没什么感觉,下面举个具体的小例子: JDK1.5以前的Comparable接口:package j...原创 2019-01-25 09:39:27 · 96 阅读 · 0 评论 -
读 Thinking in Java 笔记(1)
读 《Thinking in Java》 笔记 (1) 请看下面这个例子 (结构简单,但各种创建可能会有点晕,你可以通过它推出正确的打印顺序,就基本过关了,这里还包含了静态成员)package study;class Bowl { public Bowl(int marker) { System.out.println("Bowl(" + marker + ")");...原创 2019-01-24 10:19:42 · 151 阅读 · 0 评论