-
-
最近在使用kafkatool 作为查看Kafka消息的工具,但是只支持text、json、xml等常见格式。若想支持自定义的消息格式,例如protobuf,则需要自己编写插件。辛辛苦苦写好一个插件后,发现需要付费才能使用。向来都是白嫖的我,想到它既然是用Java写的,那么反编译一下,是不是有希望绕过付费呢?
-
Java中的异常分为两种,
Checked Exceptions
以及Unchecked Exceptions
。Error
、RuntimeException
及其子类都是Unchecked Exceptions
,其余所有Throwable
及其子类都是Checked Exceptions
,即需要被显式地声明或处理。
-
ConcurrentLinkedQueue 使用了非阻塞的方式提供线程安全的队列,内部使用的是一个普通的单向链表,记录首尾节点,并且首部有一个
dummy node
。入队时在尾部加入节点,出队时从首部删除节点。所有对链表的修改都通过CAS操作来保证原子性。下面分析其主要的代码实现。
-
-
想要运行一个Java程序需要经过三个阶段:编写源代码—编译—在JVM上运行。那么一个字符串在以上三个阶段的编码方式是怎样的呢?另外,如果Java程序中要输出字符串,那么输出的字符串的编码又是什么呢?
-
一个源文件怎么会生成这么多的
.class
文件呢?下面通过问答的形式阐述Java在编译内部类的私有构造函数时采用的策略。JDK版本为1.8.0_111
-
有这样一个场景:
需要把Android手机中所有的图片按文件夹分类查出,并将文件夹排序。
我的实现方式是这样的:
- 使用
MediaStore
将所有的图片文件的路径查出,得到一个List
- 遍历
List
,按文件所处文件夹的路径将文件按文件夹分类,得到一个Map<String,List<String>>
。也就是相册路径与其相片路径列表的对应。
由于为了区分同名相册,
Map
中Key
使用的是文件夹的绝对路径。那么怎么将上述Map
按文件夹排序呢?我想到了使用TreeMap
- 使用