- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 jackson注解
@JsonIgnoreProperties在类上标注哪些属性不参与序列化和反序列化@JsonIgnoreProperties(value = { "age" }) public class Person { private String name; private String age;}@JsonIgnore在属性上标注哪些属性不参与序列化和反序列化public class Person { private String hello; @JsonIgnore pr
2020-06-18 14:31:54
1061
原创 java对象的内存布局
我们用如下代码来说一下java对象的内存布局。class A { long l; int i;}class B extends A { long l; int i;} 如图所示展示的是new B()在堆中的内存模型: JVM中,每个对象都有一个对象头(图中黄色部分),由标记字段和类型指针构成,标记字段存储has...
2018-09-21 17:46:04
6285
原创 Kafka-Record(消息格式)
注:本文依赖于kafka-0.10.0.1-src kafka消息格式是经过多个版本的演变的,本文只说0.10.0.1版本的消息格式。 消息格式以及解释如图1所示: 图1 Record实际上是用Java NIO ByteBuffer存储的,那我...
2018-05-24 18:25:32
3497
原创 Kafka-生产者-BufferPool
注:本文依赖于kafka-0.10.0.1-src 我们都知道kafka生产者send一条记录(record)后并没有直接发送到kafka服务端,而是先将它保存到内存(RecordAccumulator)中,用于压缩之后批量发送,这里内存的创建和释放是比较消耗资源的,为了实现内存的高效利用,基本上每个成熟的框架或者工具都有一套内存管理机制,kafka的生产者使用BufferPool来实现内...
2018-05-21 10:05:09
1317
原创 Kafka源码分析--生产者
ps.本文所有源码都基于kafka-0.10.0.1Kafka提供了Java版本的生产者实现--KafkaProducer,使用KafkaProducer的API可以轻松实现同步/异步发送消息、批量发送、超时重发等复杂的功能,KafkaProducer是线程安全的,多个线程之间可以共享实用同一个KafkaProducer对象。下面先看一个使用上的小例子:public static void mai...
2018-04-14 17:10:53
1776
原创 linux打通两台机器的ssh功能(linux远程连接可以不输入密码)
注意: .ssh 这个文件夹需要有700权限 执行chmod -R 700 .ssh && chmod 700 .ssh/. && chmod 700 .ssh/.. 记住,两个隐藏文件夹也要有700权限。ssh-copy-id 方法://到用户目录cd//生成一对密钥:id_rsa(私钥)和id_rsa.pu
2017-05-25 17:58:01
2599
原创 Comparator与Comparable
总结:所以说这两个接口干的是一个事情,只不过一个在里面,一个在外面所以,如果我们不能修改那个类的源码,那么就可以用Comparator接口来在外面对他进行排序,而且还可以用Comparator接口来实现一些通用的比较,方便使用
2016-04-09 00:25:39
398
原创 史上最详细的ConcurrentHashMap详解--源码分析
ps.本文所有源码都是基于jdk1.6ConcurrentHashMap的数据结构 话不多说,先上代码 final Segment<K,V>[] segments; 可以看到ConcurrentHashMap实际上就是一个Segment数组,那么Segment是什么呢? static final class Segment<K,V> extends Reentran
2016-03-31 19:20:35
10273
3
原创 expect
使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄、收藏。可是为什么要这么写却不知其然。本文用一个最短的例子说明脚本的原理。 脚本代码如下: ############################################## #!/usr/bin/expect set tim
2014-08-19 23:46:27
447
原创 最新版TCPCOPY的下载安装及使用
tcpcopy下载地址:https://github.com/wangbin579/tcpcopy/releases
2014-04-28 18:32:45
2328
原创 linux定时执行脚本
Cron是一个Linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务: /sbin/service crond start //启动服务/sbin/service crond stop //关闭服务/sbin/service crond restart //重启服务
2014-04-24 18:30:31
587
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人