摘要: 多个线程同时读写同一共享变量存在并发问题 ,其中的必要条件之一就是 ,如果没有写,只存在读,是不会存在并发问题的。 如果让一个共享变量只有读操作,没有写操作,如此则可以解决并发问题。该理论的具体实现就是 不变性(Immutability)模式 。所谓 不变性,简单来讲,就是对象一旦被创建之后,状态就 阅读全文
posted @ 2019-09-17 20:27 gaoyanliang 阅读(941) 评论(1) 推荐(1) 编辑
摘要: 对于 kafka 主题(topic)的管理(增删改查),使用最多的便是kafka自带的脚本。 创建主题 kafka提供了自带的 脚本,用来帮助用户创建主题(topic)。 create 表明我们要创建主题,而 partitions 和 replication factor 分别设置了主题的分区数以及 阅读全文
posted @ 2019-09-17 19:45 gaoyanliang 阅读(4231) 评论(3) 推荐(3) 编辑
摘要: 相信大家已经对 的基本概念已经有一定的了解了,下面直接来分析一下 ISR 和 AR 的概念。 ISR and AR 简单来说,分区中的所有副本统称为 (Assigned Replicas)。所有与leader副本保持一定程度同步的副本(包括leader副本在内)组成 (In Sync Replica 阅读全文
posted @ 2019-09-08 14:48 gaoyanliang 阅读(7822) 评论(1) 推荐(4) 编辑
摘要: `HW LEO ISR`有着紧密的关系,如果不了解 ISR 可以先看下ISR相关的介绍。 (High Watermark)俗称高水位,它标识了一个特定的消息偏移量(offset),消费者只能拉取到这个offset之前的消息。 下图表示一个日志文件,这个日志文件中只有9条消息,第一条消息的offset 阅读全文
posted @ 2019-09-08 14:47 gaoyanliang 阅读(12733) 评论(2) 推荐(5) 编辑
摘要: kafka问题总结 "kafka如何保证数据可靠性和数据一致性" "Kafka Rebalance机制分析" Kafka的用途有哪些?使用场景如何? "Kafka中的ISR、AR又代表什么?ISR的伸缩又指什么" "Kafka中的HW、LEO、LSO、LW等分别代表什么?" Kafka中是怎么体现消 阅读全文
posted @ 2019-09-06 17:44 gaoyanliang 阅读(1637) 评论(1) 推荐(2) 编辑
摘要: 数据可靠性 Kafka 作为一个商业级消息中间件,消息可靠性的重要性可想而知。本文从 Producter 往 Broker 发送消息、Topic 分区副本以及 Leader 选举几个角度介绍数据的可靠性。 Producer 往 Broker 发送消息 如果我们要往 Kafka 对应的主题发送消息,我 阅读全文
posted @ 2019-09-06 17:41 gaoyanliang 阅读(8907) 评论(1) 推荐(1) 编辑
摘要: 什么是 Rebalance Rebalance 本质上是一种协议,规定了一个 Consumer Group 下的所有 consumer 如何达成一致,来分配订阅 Topic 的每个分区。 例如:某 Group 下有 20 个 consumer 实例,它订阅了一个具有 100 个 partition 阅读全文
posted @ 2019-08-24 17:33 gaoyanliang 阅读(45976) 评论(7) 推荐(12) 编辑
摘要: 英文版 582. Kill ProcessGiven n processes, each process has a unique PID (process id) and its PPID (parent process id). Each process only has one parent 阅读全文
posted @ 2018-10-11 09:00 gaoyanliang 阅读(3850) 评论(0) 推荐(0) 编辑
摘要: 英文版A sequence X_1, X_2, ..., X_n is fibonacci-like if: - n >= 3- X_i + X_{i+1} = X_{i+2} for all i + 2 <= n Given a strictly increasing array A of pos 阅读全文
posted @ 2018-10-09 22:23 gaoyanliang 阅读(905) 评论(0) 推荐(0) 编辑
摘要: 有两种方法可以上传项目到Github 一、github在线上传文件夹 在线上传也可以上传完整的文件夹结构,直接拖拽到上传文件页面的框中即可。 点击上传文件 直接拖拽即可上传文件夹及文件夹里面的文件。如果点击 choose your files 就只能上传单个文件。 二、通过Git工具上传本地项目 关 阅读全文
posted @ 2017-10-24 00:10 gaoyanliang 阅读(2496) 评论(0) 推荐(0) 编辑
摘要: 初识Github GitHub 是程序员的必备技能 1.什么是Github? 确切的说 GitHub 是一家公司,位于旧金山,由 Chris Wanstrath, PJ Hyett 与 Tom Preston-Werner 三位开发者在2008年4月创办。这是它的 Logo: 2008年4月10日, 阅读全文
posted @ 2017-10-23 23:17 gaoyanliang 阅读(18800) 评论(0) 推荐(2) 编辑
摘要: 第一步:打开Eclipse,windows下,打开“window”→“Preferences” ;mac下,打开“偏好设置”。 第二步:选择“Java”,展开,“Editor”,选择“Content Assist”。 第三步:选择“Content Assist”,在右边的“Auto-Activati 阅读全文
posted @ 2017-10-19 13:21 gaoyanliang 阅读(6309) 评论(0) 推荐(1) 编辑
摘要: 一、安装JDK 1、 JVM(Java Virtual Machine—Java虚拟机) JRE(Java Runtime Environment—Java运行时环境) JDK(Java Development kit—Java开发工具包) 2、JDK包含了JRE和JVM,所以安装了JDK就安装了J 阅读全文
posted @ 2017-10-13 21:15 gaoyanliang 阅读(262) 评论(0) 推荐(0) 编辑
摘要: volatile特性 内存可见性:通俗来说就是,线程A对一个volatile变量的修改,对于其它线程来说是可见的,即线程每次获取volatile变量的值都是最新的。 volatile的使用场景 通过关键字sychronize可以防止多个线程进入同一段代码,在某些特定场景中,volatile相当于一个 阅读全文
posted @ 2017-09-24 14:48 gaoyanliang 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 实验任务 任务一:设计实现发声接口 任务二:动物乐园 实验内容 任务一:设计实现发声接口 任务目的: 任务描述: 设计和实现一个Soundable接口,该接口具有发声功能,同时还能调节声音大小 Soundable接口的这些功能将由有3种声音设备来实现他们分别是Radio、Walkman、 Mobil 阅读全文
posted @ 2017-09-14 15:46 gaoyanliang 阅读(5820) 评论(0) 推荐(0) 编辑
摘要: 实验任务 任务一:图形面积周长计算小程序 任务二:饲养员喂养动物程序 实验内容: 任务一: 图形面积周长计算 任务目的: 任务描述: 设计一个小程序,可以计算圆形和长方形的面积及周长,其中 定义抽象类 图形类为圆形和长方形的父类,在图形类中定义抽象方 法获取面积方法和获取周长方法。定义面积和周长计算 阅读全文
posted @ 2017-09-14 12:42 gaoyanliang 阅读(3296) 评论(0) 推荐(0) 编辑
摘要: Eclipse快捷键大全Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前 阅读全文
posted @ 2017-09-12 19:32 gaoyanliang 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 转载自:https://www.douban.com/group/topic/13784047/ 1.澳大利亚国立大学ANU电子出版库:http://dspace.anu.edu.au/ 2.阿德雷德大学电子文本收藏中心,包括古典文学,哲学,科学和医学著作:http://ebooks.adelaid 阅读全文
posted @ 2017-09-10 16:46 gaoyanliang 阅读(1051) 评论(0) 推荐(0) 编辑
摘要: 实验任务 任务一:手机类的封装 任务二:基于控制台的购书系统 任务三:简单的投票程序 实验内容 任务一:手机类的封装 任务目的 任务描述 参考程序结果图,使用面向对象的思想模拟手机类,编写测试类,使用手机类创建对象,测试手机的各个属性和功能 实施步骤 任务分析: 通过对现实中手机的分析,手机类(Ph 阅读全文
posted @ 2017-09-07 17:54 gaoyanliang 阅读(5693) 评论(0) 推荐(0) 编辑
摘要: File类 字符流与字节流 File 类 1.1 File 概述 打开API,搜索File类。阅读其描述:File文件和目录路径名的抽象表示形式。即,Java中把文件或者目录(文件夹)都封装成File对象。也就是说如果我们要去操作硬盘上的文件,或者文件夹只要找到File这个类即可,那么我们就要研究研 阅读全文
posted @ 2017-09-03 16:25 gaoyanliang 阅读(469) 评论(0) 推荐(0) 编辑