• HomePage
  • Tags
  • About
  • Posts

Posts

知识笔记 分享 折腾

grpc 介绍和 Go 示例

grpc介绍 rpc:远程过程调用。对比本地的函数调用,远程是节点A调用节点B上的服务,比如http等协议的调用。现在流行很多种rpc框架,百度的brpc,谷歌的

I/O 多路复用之 epoll

背景 前文总结了IO复用中select的相关知识 ,其有着性能上的缺点。Linux内核在2.6中支持的epoll在大量fd场景下有着更优秀的性能。 例如Redis在使

I/O 多路复用之 select

I/O多路复用的概念,我们已经再耳熟能详不过了,比如接触很多的nginx、Redis,均利用了I/O多路复用。那么I/O多路复用到底是什么?内核提供了多种方法,

inode使用率过高

突然收到报警,有台机器提示inode使用率过高。一开始只注意到监控项名字有disk字眼,以为还是磁盘空间预警,跑机器上执行下 df -h,发现还很充足。原来报警监控项

Java GC垃圾收集

概述 GC的三个问题: 哪些内存需要回收 什么时候回收 如何回收 Java 是自动垃圾回收的语言,所回收的内存区域指堆和方法区,主要面向占用大部分内存的堆区。类如线程栈这种,执行

Java NIO理解

理解好Java NIO前提要熟悉IO模型,IO复用(以epoll为例)、非阻塞IO的基础知识。java.nio抽象出来一些类或接口,底层实际是对epoll等系统调

Java synchronized实现原理

synchronized是Java中的关键字,提供了一种对共享资源互斥访问的并发控制,也可以作为线程同步的一个工具。这里我们看下synchronized背后的实

Java ThreadLocal原理

为什么要有ThreadLocal 多线程利用锁来解决共享变量的问题,那如果每个线程都有自己的一份变量,就不涉及到线程安全的事情了。 当然这个变量不是方法里线程栈上的

Java YoungGC的一次排查优化

问题发现 线上报警发生频繁young gc 初步排查 频繁ygc很快就结束了,持续几十秒。没有dump日志或者统计信息可看。 初步排查,是最近刚上线一个功能,10点整有外部

Java 在线调试利器 Arthas

Arthas 简介 为什么要用它,能做什么 开发测试中经常遇到需要调试的时候,比如代码走到某个调用方法时这里的参数是什么值,方法出参是什么值?代码是否走了某个方法?优化接口耗时

Java8 总结笔记

Java8 给出了很多新特性,让Java编程更丝滑。如引入Stream流处理、Lambda表达式、默认方法、Optional处理等等。这里做个应用总结。 stream 构建stream

Java常见面试题解析

1. 内存区域划分 程序计数器PC 和操作系统的PC类似,Java虚拟机也需要,都是指执行下一条的命令。每个线程私有的。 虚拟机栈 也可以称作线程栈,每个线程私有的。在每个

Java日期处理

引言 在各种语言编程中,日期和时间的处理都是一个常见的需求。Java中还特殊一点,在Java8 前后提供了不同的日期和时间 API,它们在设计和使用上有很大的差异。本

Java条件变量之阻塞队列实现

条件变量概念 条件变量,不需要代码层面盲目轮询一个条件,线程可以等待直到有其他线程唤醒。 条件变量使用 条件变量的使用,通常是基于一个互斥锁,并在while循环条件中

Java线程池

线程池的实现原理用一句话理解:维持多个线程和一个阻塞队列。队列里的放的是待执行任务,线程从队列里循环获取任务并执行。

Java集合容器一览

说到Java容器集合,忍不住要对比下Go。 Java要掌握的语法和API更多,相比来说Go要更简洁。但另一个角度看,Java提供了非常丰富的类和API,这点Go就

JUC 常用并发组件

这里列举几个常用的并发组件:

  • Semaphore
  • CountDownLatch
  • CyclicBarrier
  • SynchronousQueue

JUC 并发组件CompletableFuture

优势 不会阻塞当前线程,如主线程后续逻辑; 异常处理 多个异步任务的编排 函数式编程、链式处理等 基本原理 CompletableFuture 同样实现了之前的 Future ,此外新增加了接口 CompletionSta

Kafka server的线程模型与网络模型

Kafka 的标签高吞吐、高并发、高可扩展等等,为什么它有这么好的性能,我们看看它的server 线程模型和网络模型。 Kafka 性能为什么这么好 Kafka 有着高吞吐、高并发的特性,是什么支

Kafka 深入理解

问题一:消费者自动提交的机制,是有单独的自动提交线程么? 实际不是的,自动提交还是隐藏在每一次的poll方法里,还是一个线程。 auto.commit.interv
  • ««
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
  • »»
© 苏打Blog 2017 - 2025 京ICP备18005017号-1