5 北岛极客

尚未进行身份认证

我要认证

It all depends

等级
TA的排名 6w+

Netty面试指北

基础1、tcp(握手和挥手)和udp参考https://www.cnblogs.com/fundebug/p/differences-of-tcp-and-udp.html2、BIO、NIO、AIO参考https://blog.csdn.net/qq_30051265/article/details/105585299更详细的资料参考https://www.jianshu.com/p/486b0965c2963、select、poll、epoll参考https://www.jianshu.co

2020-06-28 13:11:21

Netty从零RPC——编解码器

源码地址:https://github.com/MAXAmbitious/netty-rpc上一篇博文我们搭建了一个基础的RPC框架,现在我们来实现基于Protostuff的Netty编解码器。为啥要用Protostuff原生的protobuf,需要手写.proto文件(也就是定义协议),再通过编译生成相应的Java代码,再通过相应的API完成序列化和反序列化。编译生成的Java代码有上...

2020-04-20 14:14:16

(转)Linux IO模式及 select、poll、epoll详解

https://segmentfault.com/a/1190000003063859

2020-04-17 17:56:43

BIO、NIO和AIO

BIOBIO全称是Blocking IO,是JDK1.4之前的传统IO模型,本身是同步阻塞模式。线程发起IO请求后,一直阻塞IO,直到缓冲区数据就绪后,再进入下一步操作。针对网络通信都是一请求一应答的方式,虽然简化了上层的应用开发,但在性能和可靠性方面存在着巨大瓶颈,试想一下如果每个请求都需要新建一个线程来专门处理,那么在高并发的场景下,机器资源很快就会被耗尽。NIONIO也叫Non-Bl...

2020-04-17 17:40:38

TCP和UDP

TCPTCP (Transmission Control Protocol) 是面向连接的、提供端到端可靠的数据流(flow of data)。TCP 提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。三次握手(1)首先客户端向服务器端发送一段TCP报文,其中:标记位为SYN,表示“请求建立新连接”;序号为Seq=X(X一般为1);随后客户端进入SYN-...

2020-04-17 17:17:02

Java面试手册笔记

1、如何在两个线程间共享数据通过在线程之间共享对象就可以了,然后通过wait/notify/notifyAll、await/signal/signalAll进行唤起和等待,比方说阻塞队列BlockingQueue就是为线程之间共享数据而设计的2、如果你提交任务时,线程池队列已满,这时会发生什么如果你使用的LinkedBlockingQueue,也就是无界队列的话,没关系,继续添加任务到阻塞...

2020-04-14 11:11:37

SQL优化手册

SQL优化手册1、in vs or对索引字段或非索引字段单个值操作时,两者无异;但是对非索引字段多个值操作,相比in,or效率会随着值的个数增加效率相对下滑2、group by vs distinct案例:select count(distinct name) from student这个sql作用是统计学生表不重复姓名的总数优化方案1:select count() from (sel...

2020-03-20 10:37:22

基于Retrofit2的java sdk封装

Retrofit2拓展Retrofit2架构全面解析参考文章https://blog.csdn.net/qq_29152241/article/details/82177648,这篇文章详细介绍了Retrofit2的源码及架构,个人觉得非常不错。基于Retrofit2的java sdk封装调用图代码实现由于涉及模块较多不便展示,有需要可以留言交流...

2020-01-15 15:12:41

web session

web sessionsessionid是一个会话的key,浏览器第一次访问服务器会在服务器端生成一个session,有一个sessionid和它对应。tomcat生成的sessionid叫做jsessionid。session在访问tomcat服务器HttpServletRequest的getSession(true)的时候创建,tomcat的ManagerBase类提供创建sessioni...

2020-01-14 15:22:00

候鸟

我在南国之秋的苍穹,寻寻觅觅远方来访的候鸟,直到梦中,故国的山茶花开了。

2019-08-16 09:57:07

windows下Apache.RocketMQ安装部署

引文:windows下Apache.RocketMQ安装部署本文主要对引文中关于RocketMQ插件部署遇到的问题进行补充说明。在部署RocketMQ插件时,执行maven指令mvn spring-boot:run时遇到org.apache.rocketmq:rocketmq-tools:jar:4.4.0-SNAPSHOT包无法下载的问题:[INFO] BUILD FAILURE[INF...

2019-02-18 15:09:46

微信第三方平台公众号授权流程7-代公众号发起网页授权

简介在公众号授权托管给第三方平台后,第三方平台可以根据本文档相关说明,代替授权公众号发起网页授权。关于OAuth2.0的详细介绍,可以参考OAuth2.0协议标准作为第三方平台开发商,需要拥有自己的appid以及secret(在创建第三方平台并获得审核成功后可以获取),以及确保授权的公众号具备授权作用域的权限,以及用于回调的域名。授权流程微信目前支持Authorization code授权...

2019-01-15 14:18:52

微信第三方平台公众号授权流程6-公众号基本信息

该API用于获取授权方的基本信息,包括头像、昵称、帐号类型、认证类型、微信号、原始ID和二维码图片URL。需要特别记录授权方的帐号类型,在消息及事件推送时,对于不具备客服接口的公众号,需要在5秒内立即响应;而若有客服接口,则可以选择暂时不响应,而选择后续通过客服接口来发送消息触达粉丝。代码如下:/** * 查询公众号基本信息 * @param appid */ public ...

2019-01-15 14:16:42

微信第三方平台公众号授权流程5-授权信息

该API用于使用授权码换取授权公众号或小程序的授权信息,并换取authorizer_access_token和authorizer_refresh_token。 授权码的获取,需要在用户在第三方平台授权页中完成授权流程后,在回调URI中通过URL参数提供给第三方平台方。请注意,由于现在公众号或小程序可以自定义选择部分权限授权给第三方平台,因此第三方平台开发者需要通过该接口来获取公众号或小程序具体授...

2019-01-15 14:16:21

微信第三方平台公众号授权流程4-pre_auth_code

该API用于获取预授权码。预授权码用于公众号或小程序授权时的第三方平台方安全验证。web层代码如下:/** * 授权回调 * @param resp */ @RequestMapping(value = "/wechat/redirectAuthPage") @ResponseBody public void redirectAuthPage(HttpServletReque...

2019-01-15 14:15:48

微信第三方平台公众号授权流程3-component_access_token

第三方平台component_access_token是第三方平台的下文中接口的调用凭据,也叫做令牌(component_access_token)。每个令牌是存在有效期(2小时)的,且令牌的调用不是无限制的,请第三方平台做好令牌的管理,在令牌快过期时(比如1小时50分)再进行刷新。代码如下:/** * 获取第三方平台访问公众号token * @return */ public ...

2019-01-15 14:15:26

微信第三方平台公众号授权流程2—推送component_verify_ticket协议

公众号授权给第三方平台的技术实现流程概览推送component_verify_ticket协议在第三方平台创建审核通过后,微信服务器会向其“授权事件接收URL”每隔10分钟定时推送component_verify_ticket。第三方平台方在收到ticket推送后也需进行解密),接收到后必须直接返回字符串success。web层代码如下:/** * 授权事件接收 * * @...

2019-01-15 14:15:05

微信第三方平台公众号授权流程1—第三方平台概述概述

一、概述公众平台第三方平台是为了让公众号或小程序运营者,在面向垂直行业需求时,可以一键授权给第三方平台(并且可以同时授权给多家第三方),通过第三方平台来完成业务,开放给所有通过开发者资质认证后的开发者使用。从具体的业务场景上说,第三方平台包括以下场景:1、提供行业解决方案,如针对电商行业的解决方案,或针对旅游行业的解决方案等2、对公众平台功能的优化,如专门优化图文消息视觉样式和排版的工具,...

2019-01-15 14:14:37

Java8新特性(转自http://www.runoob.com/java/java8-new-features.html)

概述Java8 新增了非常多的特性,我们主要讨论以下几个:Lambda 表达式 − Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中)。方法引用 − 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。默认方法 − 默认方法就是一个在接口里面有了一个实现...

2018-12-14 11:36:03

窗外

雨在屋檐搁浅,枯叶蝶在暮色探戈,夜莺吹响巴赫的口风琴,晚风捎来诗的信笺,我在窗外等你。

2018-12-07 11:19:11

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。