- 博客(7)
- 资源 (6)
- 问答 (3)
- 收藏
- 关注
原创 第一个gRPC程序
本文将记录我初次学习gRPC的一些成果和历程,gRPC是谷歌开发的基于protobuf的一款高性能,开源的通用RPC框架,支持多种语言。可以在任何环境中运行。 它可以有效地连接数据中心内和跨数据中心的服务,并提供可插拔的支持,以实现负载平衡,跟踪,健康检查和身份验证。 它还适用于分布式计算的最后一英里,用于将设备,移动应用程序和浏览器连接到后端服务。1、工具:IDEA,Gradle2、下载...
2019-08-27 18:28:56 2403
原创 第一个Thrift程序
Thrift是一个rpc框架,也是一个不错的序列化框架,支持多种语言,此处我使用的是Java。1、当然开始之前需要下载thrift到本地,我这里下载的是最新的0.12.0版本,并设置好环境变量2、编写IDL##命令空间namespace java com.dxy.learn_netty.thrift##为了书写习惯,将thrift的类型映射到java中的类型typedef ...
2019-08-25 18:29:57 347
原创 eclipse中使用gradle
1、到gradle官网下载gradle2、将下载下来的压缩包放到磁盘中并解压,比如:D:\gradle-5.63、设置系统环境变量GRADLE_HOME=D:\gradle-5.6PATH=$PATH;%GRADLE_HMOE%\binGRADLE_USER_HOME=D:\gradle_home其中GRADLE_USER_HOME相当于maven中的本地仓库,存放下载下...
2019-08-24 23:12:29 990
原创 学习“闪电侠”的Netty系列源码博文笔记
1、netty的reactor线程在添加一个任务的时候被创建,该线程实体为 FastThreadLocalThread,最后线程执行主体为NioEventLoop的run方法。2、reactor线程大概做的事情分为对三个步骤不断循环1).首先轮询注册到reactor线程对用的selector上的所有的channel的IO事件2).处理产生网络IO事件的channel3)...
2019-08-22 22:53:56 1985 1
原创 《Netty实战》阅读笔记
1、ChannelHandler的执行和阻塞通常ChannelPipeline中的每一个ChannelHandler都是通过它的EventLoop(I/O线程)来处理给它传递的事件的。所以至关重要的是不要阻塞这个线程,因为这会对整体的I/O处理产生负面影响。但有时可能需要与那些使用阻塞API的遗留代码进行交互。对于这种情况,CHannelPipeline有一种接受一个EventExecut...
2019-08-21 17:58:50 195
原创 Netty中ChannelHandlerContext、Channel、ChannelPipeline的write()方法底层调用链的不同
最近在看《Netty实战》这本书,看到书中讲解ChannelHandlerContext、Channel、ChannelPipeline的write()的不同时有点懵逼,没大看懂,遂动手写了一个Demo来验证到底是怎么回事。服务启动类OneServer:package com.ccf.netty_learn.server;import io.netty.bootstrap.Serve...
2019-08-21 12:39:51 1231
原创 Netty源码编译导入Eclipse
1、环境要求Maven、Git、JDK、Eclipse2、从Netty的Git库拉取源码到本地,https://github.com/netty/netty3、打开windows的命令提示符进入源码文件夹下通过 mvn clean compile -Dcheckstyle.skip=true -Dtest 命令进行编译4、问题解决1)Failure to transfer io...
2019-08-14 15:00:21 801
Java代码实现下载office文档通过openoffice转成pdf给前端预览-完成源码
2019-09-27
网站 用微信扫码登录之后微信端跳转到指定页面
2017-07-20
一个关于Hibernate的奇葩问题 HibernateSystemException
2015-05-18
JGraph重写节点的问题
2015-01-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人