首页
学习
活动
专区
工具
TVP
发布

小白鼠

专栏作者
67
文章
92372
阅读量
15
订阅数
Go语法指南
出处---Go编程语言 欢迎来到 Go 编程语言指南。本指南涵盖了该语言的大部分重要特性 Go 语言的交互式简介,它分为三节。第一节覆盖了基本语法及数据结构,第二节讨论了方法与接口, 第三节则简单介绍了 Go 的并发原语。每节末尾都有几个练习,你可以对自己的所学进行实践。 你可以 在线学习 或 安装到本地。 Go基础语法,方便查阅 包、变量和函数 学习 Go 程序的基本组件 1.包 每个 Go 程序都是由包组成的。 程序运行的入口是包 main。 这个程序使用并导入了包 "fmt" 和 "math/rand
spilledyear
2022-05-13
9330
Seata分布式事务之TM、RM、TC源码分析
笔者通过绘制时序图,我们可以清晰的知道在集成Seata、ShardingSphere、Dubbo之后,我们插入一条数据的整个内部调用链逻辑
spilledyear
2022-05-13
1.9K0
Actor模型
传统的游戏服务器要么是单线程要么是多线程,过去几十年里CPU一直遵循摩尔定律发展,带来的结果是单核频率越来越高。而近几年摩尔定义在CPU上已然失效,为什么呢?
spilledyear
2022-05-13
6710
Dubbo 优雅停机
优雅停机主要用在服务版本迭代上线的过程中,比如我们发布了新的服务版本,经常性是直接替换线上正在跑的服务,这个时候如果在服务切换的过程中老的服务没有正常关闭的话,容易造成内存清理问题,所以优雅停机也是重要的一环。 Dubbo的优雅停机是依赖于JDK的ShutdownHook函数,下面先了解一下JDK的ShutdownHook函数会在哪些时候生效:
spilledyear
2022-05-13
4710
ZooKeeper数据不一致的定位过程
ZooKeeper读写过程中,重新选主,然后节点重启后,数据不一致了。例如原来有节点A,B,C。
spilledyear
2021-09-07
1.3K0
服务发现之 Etcd VS Consul
在分布式微服务架构中,一个应用可能由一组职责单一化的服务组成。这时候就需要一个注册服务的机制,注册某个服务或者某个节点是可用的,还需要一个发现服务的机制来找到哪些服务或者哪些节点还在提供服务。
spilledyear
2021-09-07
3K0
定期更新 Homebrew
Homebrew 是使用 Mac OS 的一件利器,Homebrew 可以安装 Apple 没有预装但非常需要的东西。Homebrew 会将软件包安装到独立目录,并将其文件软链接至 /usr/local。
spilledyear
2021-09-07
1.2K0
vertx架构
对于部署标准模式verticle,vertx的架构如下: 📷 standard verticle架构.png 对于部署worker模式verticle,vertx的架构如下: 📷 worker verticle架构.png vertx的Acceptor EventloopGroup只有1个Acceptor Eventloop,即通过1个线程监听所有客户端的连接,连接建立后交给VertxEventLoopGroup处理。 vertx可以把server(HttpServer,TcpServer,UdpServe
spilledyear
2021-09-07
1K0
记一次内存泄漏排查过程
新版的dubbo-admin 在支持dubbo2.7新特性的同时,还兼容dubbo2.6。基于dubbo2.7的元数据中心,我们可以做一些事情,比如服务测试,在目前版本的dubbo-admin中,其实已经支持这个功能。
spilledyear
2020-04-30
4470
Dubbo
说一说提供者启动流程? ServiceAnnotationBeanPostProcessor实现了BeanDefinitionRegistryPostProcessor接口,在它的register
spilledyear
2020-02-18
6420
RocketMQ
不会永久保存消息文件,而是启用文件过期策略,在磁盘空间不足或在凌晨4点删除过期文件,文件默认保存72小时,删除时不会判断该文件上的消息是否被消费
spilledyear
2020-02-18
2.1K0
Zookeeper
即所谓的配置中心.发布订阅一般有两种设计模式,分别为: Push模式和Pull模式. ZK采用推拉模式相结合的方式: 客户端向服务端注册自己需要监听的节点,一旦该节点数据发生变更,服务端向客户端发送Watcher事件通知,客户端收到通知之后主动向服务端获取最新数据. 基于ZK配置中心的配置信息有如下特点:
spilledyear
2020-02-18
1.3K0
Java基础
HashMap有一个问题,就是迭代HashMap的顺序并不是HashMap元素插入的顺序,也就是无序,而LinkedHashMap是有序的。
spilledyear
2020-02-18
5610
Java线程池
线程池的核心实现类,基于ThreadPoolExecutor可以实现满足不同场景的线程池
spilledyear
2020-02-10
9010
AQS之同步器
字面意思就是循环壁垒,使用上与CountDownLatch类似,不过实现上完全不一样,CyclicBarrier统计的的是调用了CyclicBarrier#await方法的线程数,当线程数达到了CyclicBarrier初始时规定的数目时,所有进入等待状态的线程将被唤醒然后进入下一轮,可以重复使用
spilledyear
2020-02-10
4170
AQS之Condition
使用示例 Lock lock = new ReentrantLock(); Condition condition = lock.newCondition(); new Thread(() -> { lock.lock(); System.out.println(Thread.currentThread().getName() + " 开始处理任务"); try { condition.await(); System.out.println(Thre
spilledyear
2020-02-10
4210
AQS之独占锁
AbstractQueuedSynchronizer,抽象类,模板模式,子类通过实现其模板方法,从而实现不同的同步器,例如: ReentrantLock ReentrantReadWriteLock BlockingQueue CountDownLatch
spilledyear
2020-01-02
5430
AQS之共享锁
通过 AQS独占锁,我们对AQS的数据结构有了基本的了解。它本质上就是一个优化过的CLH队列,因为CLF队列只有一个前驱指针,而AQS除了前驱指针,还有一个后驱指针。先简单总结一个AQS的特性
spilledyear
2020-01-02
6090
Nacos配置中心原理
这是Nacos给客户端提供的API,可以通过该API:增、删、盖、查配置信息,还可以通过该API给配置添加Listener
spilledyear
2019-12-30
3.7K0
Java线程的基本使用
在Java中使用多线程,本质上还是对Thread对象的操作。线程池只是为了方便对线程的管理,避免频繁的创建和销毁线程带来不必要的系统开销,内部通过指定的线程数和阻塞队列实现。
spilledyear
2019-12-24
5550
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
热点技术征文第五期
新风口Sora来袭,普通人该如何把握机会?
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档