月度归档: 2020 年 10 月

24 篇文章

Java中的NIO进阶
前言 之前一篇文章简单介绍了NIO,并附了一个简单的例子,但是自己试一下就会知道,简单的使用NIO是无法满足开发需要的,因为NIO处理的思路和日常servlet加spring中习惯的一连接一线程有很大不同。 NIO与多线程 上篇那个例子实现了一个简单的NIO,但是实际使用中我们不可能仅仅在单线程下使用,肯定会使用多线程提高处理的效率,但是这样就会有…
工作记录:一次线上服务宕机问题排查
问题的发现 早上上班,运维告警,说账户模块的服务全部CPU以及内存告警,当时正在地铁早高峰,所以他们留下了一台在dump,其他机器立马重启,重启后恢复,上班后立马开始排查。 一开始dump文件没出来,后续运维告知dump也失败了,其实按照结果来看,这个问题要是有dump的话, 当时一眼就能看出来问题,可惜没dump走了不少弯路。 问题的分析 从日志…
分布式系统:dubbo的连接机制
研究这个问题的起因 起因是一次面试,一次面试某电商网站,前面问到缓存,分布式,业务这些,还相谈甚欢。然后面试官突然甩出一句:“了解dubbo吗?dubbo是长连接还是短连接?”。当时我主要接触了解学习的还是spring cloud,dubbo作为知名的分布式rpc框架,只是有一定了解,并且连接这一块并没有很深入去了解,但是基于对分布式系统的了解,我…
leetcode刷题录-1395
题目 题目地址:https://leetcode-cn.com/problems/count-number-of-teams/ n 名士兵站成一排。每个士兵都有一个 独一无二 的评分 rating 。 每 3 个士兵可以组成一个作战单位,分组规则如下: 从队伍中选出下标分别为 i、j、k 的 3 名士兵,他们的评分分别为 rating[i]、rat…
Java中的NIO
近日学习Netty,在看书和实践的时候对于书上只言片语的那些话不是十分懂,导致尝试写例子的时候遭遇各种不顺,比如decoder和encoder还有HttpObjectAggregator的添加顺序,研究了一番之后和大家分享一下自己的理解,希望后来人可以少走弯路。 IO与NIO的区别 IO是Input与Output的缩写,主要意思就是输入输出,主要以…
Java编译期注解处理器详细使用方法
Java编译期注解处理器 Java编译期注解处理器,Annotation Processing Tool,简称APT,是Java提供给开发者的用于在编译期对注解进行处理的一系列API,这类API的使用被广泛的用于各种框架,如dubbo,lombok等。 Java的注解处理一般分为2种,最常见也是最显式化的就是Spring以及Spring Boot的…
Netty学习:EventLoop事件机制
EventLoop是什么 如果你去百度EventLoop,肯定会百度到很多关于JavaScript,NodeJS的文章,是的,这两种语言的事件机制就依赖于EventLoop,但是EventLoop到底是什么,可以先思考2个问题: 1. 一般情况下,当我们要实现令一个线程不断处理任务,都是选择使用while(true){……}这样的结构,但是往往为了…
thumbnail
first_post
+++ title = 'First_post' date = 2020-01-10T00:00:00+08:00 +++ 单纯只是一个测试而已 asd asd as das das dsa d asd asd as d as 仨
thumbnail
分布式系统:数据库扩容提效-以及一次数据库分库分表实践
数据库扩容随着架构的演进 数据库扩容一般都是随着系统建设一步步演进的,所以这里随着系统的演进,一一介绍扩容的方案。 读写分离 一开始肯定是一个数据库,但是压力上来了之后,最容易做的就是读写分离,即1主多从,主机负责写,从机负责读,像mysql就提供类似功能,通过配置实现master-slaver的模式。但是读写分离的逻辑还是要在程序中写的,即配置多…
Linux常用命令
根据进程名杀死进程 ps -ef | grep process_name | grep -v grep | awk '{print $2}' | xargs kill -9 docker拉取镜像 docker pull localhost:5000/v2/moyu-eureka-server:latest docker删除镜像 docker ima…