Netty

提高幸福感的一些方法

别等时光非礼了梦想. 提交于 2021-02-20 16:24:06
最近233酱其实忙坏了。开发重构一个长达3个多月的项目,拉上一个从不加班的小伙伴和我一起天天加班,大概1095 —10105的加班节奏。他说最近基本是在我司两年多来加班最频繁的时候了。 本来这周内我们终于要上线了,但是因为一个netty的异步回调使用不当的问题,我们又花费了两天时间大改大测。现在小伙伴都学会周末拉我加班了。 在这段时间内,周内加班,周末写公众号文章。我的心境复杂交变着。有过兴奋,紧张,满足,充实,欣喜…也有过沮丧,焦躁,不安,迷茫,抱怨,难过… 我开始思考我做每件事情的目的到底是什么?我为什么情绪越来越容易起伏。我为什么会越来越容易被负面情绪左右着,也可能影响到周围的人。 一件事情做的不好时,我可能当下就意识到了。可当我处在有压力,有情绪的时候,我更容易处理的不好。这不是我想要的。 我自认为自己在不断成长着,也向往着美好的事物,本质上并不是一个消极的人。这两天我决定整理一下自己的心情,从TED等网站寻找一些关于「幸福」的答案。 为了打消一些我灌鸡汤的嫌疑, 我会用「粗体」标示出一些有数据和研究结果支撑的内容 。同时也强烈推荐感兴趣的小伙伴观看文末的参考链接,进一步了解以下结论。希望在你我脆弱,焦躁迷茫时能有所启发,共勉之。 如果有人问「你想要什么?」,会有很多答案。具象些的可能是:我想要一个女朋友,我想要一个房子,我想要升职加薪,我想要不加班,我想要不工作

通俗地解释一下RPC框架

南笙酒味 提交于 2021-02-20 08:26:04
什么是 RPC ? RPC (Remote Procedure Call)即远程过程调用,是分布式系统常见的一种通信方法,已经有 40 多年历史。当两个物理分离的子系统需要建立逻辑上的关联时,RPC 是牵线搭桥的常见技术手段之一。除 RPC 之外,常见的多系统数据交互方案还有分布式消息队列、HTTP 请求调用、数据库和分布式缓存等。 其中 RPC 和 HTTP 调用是没有经过中间件的,它们是端到端系统的直接数据交互。HTTP 调用其实也可以看成是一种特殊的 RPC,只不过传统意义上的 RPC 是指长连接数据交互,而 HTTP 一般是指即用即走的短链接。 RPC 在我们熟知的各种中间件中都有它的身影。Nginx/Redis/MySQL/Dubbo/Hadoop/Spark/Tensorflow 等重量级开源产品都是在 RPC 技术的基础上构建出来的,我们这里说的 RPC 指的是广义的 RPC,也就是分布式系统的通信技术。RPC 在技术中的地位好比我们身边的空气,它无处不在,但是又有很多人根本不知道它的存在。 本地过程调用 RPC就是要像调用本地的函数一样去调远程函数。在研究RPC前,我们先看看本地调用是怎么调的。假设我们要调用函数Multiply来计算lvalue * rvalue的结果: 1 int Multiply(int l, int r) { 2 int y = l * r;

提高幸福感的一些方法

好久不见. 提交于 2021-02-20 04:24:20
最近233酱其实忙坏了。开发重构一个长达3个多月的项目,拉上一个从不加班的小伙伴和我一起天天加班,大概1095 —10105的加班节奏。他说最近基本是在我司两年多来加班最频繁的时候了。 本来这周内我们终于要上线了,但是因为一个netty的异步回调使用不当的问题,我们又花费了两天时间大改大测。现在小伙伴都学会周末拉我加班了。 在这段时间内,周内加班,周末写公众号文章。我的心境复杂交变着。有过兴奋,紧张,满足,充实,欣喜...也有过沮丧,焦躁,不安,迷茫,抱怨,难过... 我开始思考我做每件事情的目的到底是什么?我为什么情绪越来越容易起伏。我为什么会越来越容易被负面情绪左右着,也可能影响到周围的人。 一件事情做的不好时,我可能当下就意识到了。可当我处在有压力,有情绪的时候,我更容易处理的不好。这不是我想要的。 我自认为自己在不断成长着,也向往着美好的事物,本质上并不是一个消极的人。这两天我决定整理一下自己的心情,从TED等网站寻找一些关于「幸福」的答案。 为了打消一些我灌鸡汤的嫌疑, 我会用「粗体」标示出一些有数据和研究结果支撑的内容 。同时也强烈推荐感兴趣的小伙伴观看文末的参考链接,进一步了解以下结论。希望在你我脆弱,焦躁迷茫时能有所启发,共勉之。 如果有人问「你想要什么?」,会有很多答案。具象些的可能是:我想要一个女朋友,我想要一个房子,我想要升职加薪,我想要不加班,我想要不工作

NIO-Channel接口分析

那年仲夏 提交于 2021-02-20 01:13:35
NIO-Channel接口分析 目录 NIO-概览 NIO-Buffer NIO-Channel NIO-Channel接口分析 NIO-SocketChannel源码分析 NIO-FileChannel源码分析 NIO-Selector源码分析 NIO-WindowsSelectorImpl源码分析 NIO-EPollSelectorIpml源码分析 前言 本来是想学习Netty的,但是Netty是一个NIO框架,因此在学习netty之前,还是先梳理一下NIO的知识。通过剖析 源码 理解NIO的设计原理。 本系列文章针对的是JDK1.8.0.161的源码。 上一篇 介绍了Channel的基本使用,下面对Channel的接口进行分析。 接口 SCTP协议 SCTP(Stream Control Transmission Protocol)是一种传输协议,在TCP/IP协议栈中所处的位置和TCP、UDP类似,兼有TCP/UDP两者特征。 对于SCTP协议这里不详细描述,想了解的同学可以看下 这篇文章 SCTP协议平时用的不多,这里不做具体讨论。 UDP协议 NIO使用DatagrmChannel实现了UDP协议的网络通讯。 下面我们对各个接口进行分析。 AutoCloseable 和 Closeable 分别是自动关闭和主动关闭接口。当资源(如句柄或文件等)需要释放时

Netty: ClientBootstrap connect retries

旧街凉风 提交于 2021-02-19 03:40:08
问题 I need to connect to a server, which I know will be listening on a port. Although It could take some time to get operational. Is it possible to get ClientBootstrap to try to connect for a given number of tries or until a timeout is reached? At the moment, if the connection is refused, I get an exception, but it should try to connect in background, for example by respecting the "connectTimeoutMillis" bootstrap option. 回答1: You need todo it by hand, but thats not hard.. You could do something

dynamically changing netty pipeline

倖福魔咒の 提交于 2021-02-19 02:35:30
问题 I am using netty 4.0.25Final to write a netty HTTP server. I need to add various handlers in the pipeline depending upon some parameters in HTTP GET request. pipeline.addLast(new HttpRequestDecoder(4096, 8192, 8192, false), new HttpResponseEncoder(), new HttpObjectAggregator(1048576), decisionHandler ); Same pipeline is used if multiple requests come from the same connection. Request1 may need Handler1, Request2 may need Handler2 and Request3 may need Handler3. Suppose requests are coming as

Async processing of requests in Java webapp

☆樱花仙子☆ 提交于 2021-02-18 19:19:09
问题 I need to write a web application which receives a lot of HTTP requests and takes a long time (30s to 2min) to process each request (in turn making other network requests) before returning a response. Because there would be a lot of requests coming in and those connections are held open I'm thinking of going down an event driven route, which leads me to think Netty is appropriate. If each request takes a long time to process, is that going to block netty's processing? Or can I receive a

Async processing of requests in Java webapp

久未见 提交于 2021-02-18 19:19:07
问题 I need to write a web application which receives a lot of HTTP requests and takes a long time (30s to 2min) to process each request (in turn making other network requests) before returning a response. Because there would be a lot of requests coming in and those connections are held open I'm thinking of going down an event driven route, which leads me to think Netty is appropriate. If each request takes a long time to process, is that going to block netty's processing? Or can I receive a

Async processing of requests in Java webapp

梦想的初衷 提交于 2021-02-18 19:18:06
问题 I need to write a web application which receives a lot of HTTP requests and takes a long time (30s to 2min) to process each request (in turn making other network requests) before returning a response. Because there would be a lot of requests coming in and those connections are held open I'm thinking of going down an event driven route, which leads me to think Netty is appropriate. If each request takes a long time to process, is that going to block netty's processing? Or can I receive a

2021新年最新分享:阿里Java岗5轮技术面经整理

北慕城南 提交于 2021-02-18 15:37:05
写在前面 又到了收割Offer的季节,你准备好了吗?曾经的我,横扫各个大厂的Offer。还是那句话:进大厂临时抱佛脚是肯定不行的,一 定要注重平时的总结和积累,多思考,多积累,多总结,多复盘,将工作经历真正转化为自己的工作经验。 面经分享 今天给大家分享一个面试大厂的完整面经,小伙伴们可以对照下,这些面试题自己是否都会了呢? 同时后面还整理了这些问题的一套面试解析文档及架构学习笔记资料,有需要的小伙伴 一轮技术面(90分钟) hashmap和hashtable区别 为什么会产生死锁 jvm类加载 java反射获取私有属性,改变值 反射用途 所用数据库 项目难点,问题 如何解决项目中遇到的问题 项目中遇到的最难解决的地方 二轮技术面(120分钟) 讲项目 数据库乐观锁使用 如何分库分表 MySQL极限 HashMap源码 设计一个线程安全的HashMap 快排的实现,时间复杂度和空间复杂度 会什么算法 如何把项目变成SOA架构 Spring源码,最深刻的模块,aop用途 JVM内存模型 垃圾回收机制 项目中查看垃圾回收 三轮技术面(150分钟) ConcurrentHashMap底层原理? 手写一个LRU(用LinkedHashMap) HashMap底层数据结构? JDK1.8中的HashMap为什么用红黑树不用普通的AVL树? 为什么在8的时候链表变成树?