当前位置: 首页 > news >正文

苏州做网站多少钱松江网站建设培训费用

苏州做网站多少钱,松江网站建设培训费用,织梦如何制作静态网站模板,火车头wordpress 5.1发布模块优质博文#xff1a;IT-BLOG-CN 一、Netty 服务端启动过程 【1】创建服务端Channel#xff1b; 【2】初始化服务端Channel#xff1b; 【3】注册Selector#xff1b; 【4】端口绑定#xff1a;我们分析源码的入口从端口绑定开始#xff0c;ServerBootstrap的bind(int in… 优质博文IT-BLOG-CN 一、Netty 服务端启动过程 【1】创建服务端Channel 【2】初始化服务端Channel 【3】注册Selector 【4】端口绑定我们分析源码的入口从端口绑定开始ServerBootstrap的bind(int inetPort)方法实际上是AbstractBootstrap的bind(int inetPort)方法。ServerBootstrap继承了AbstractBootstrap。 二、分析服务端创建Channel的过程 【1】bind()【分析入口端口绑定】在bind()方法中有一个doBind()方法处理端口绑定 public ChannelFuture bind(SocketAddress localAddress) {validate();if (localAddress null) {throw new NullPointerException(localAddress);}return doBind(localAddress);// 实际绑定 }【2】在doBind()方法中调用initAndRegister来处理初始化和注册 private ChannelFuture doBind(final SocketAddress localAddress) {final ChannelFuture regFuture initAndRegister();// 初始化与注册// ... }【3】initAndRegister()【初始化并注册】进入initAndRegister()方法里面发现是调用了channelFactory(Channel工厂) 的newChannel()来创建channel final ChannelFuture initAndRegister() {Channel channel null;try {channel channelFactory.newChannel();// channelFactory创建Channelinit(channel);}//... }【4】newChannel()【创建服务端channel】进去newChannel()方法就能看到实际上是通过反射Class.newInstance()来创建Channel对象的 public T newChannel() {try {return clazz.newInstance();// Channel工厂通过反射来创建Channel} catch (Throwable t) {throw new ChannelException(Unable to create Channel from class clazz, t);} }那么这个class到底是啥呢什么时候传递进来的 【5】ChannelFactory的初始化【接收服务端Channel的Class通过反射生成Channel】还记得之前我们的第一个Demo里面有一个channel()方法我们传递了一个参数NioServerSocketChannel.class ServerBootstrap serverBoot new ServerBootstrap(); serverBoot.group(bossGroup,workGroup).channel(NioServerSocketChannel.class)// 设置服务端Channel//... );进去channel()方法中 public B channel(Class? extends C channelClass) {if (channelClass null) {throw new NullPointerException(channelClass);}return channelFactory(new ReflectiveChannelFactoryC(channelClass));// 传递class给ChannelFactory的构造方法 }然后我们进去ChannelFactory的构造方法里面 public ReflectiveChannelFactory(Class? extends T clazz) {if (clazz null) {throw new NullPointerException(clazz);}this.clazz clazz;// 接收传递进来的Channel的Class } Override public T newChannel() {try {return clazz.newInstance();// 通过Channel的Class反射生成Channel对象} catch (Throwable t) {throw new ChannelException(Unable to create Channel from class clazz, t);} }到此Channel的创建过程就出来了一句话总结就是通过我们在ServerBootstrap的channel(clazz)方法里面设置的Class通过Java反射Class.newInstance来生成最终的Channel对象。
http://www.hkea.cn/news/14570400/

相关文章:

  • 网站建设公司知识成都企业建设网站电话
  • 西安商城网站php mysql网站开发工资
  • 网站公共模板是什么百度联盟做网站赚钱吗
  • 自己做培训需要网站吗集团网站建设费用
  • 有没有专门做建筑造价的私单网站如何制作营销网站
  • 作风建设年网站站点推广是什么意思
  • 怎样搭建一个网站自己做淘宝返利网站
  • 网站整站html网站建设喀什
  • it做私活的网站wordpress主题xin
  • 帝国cms网站地图生成器网站服务器ip地址在哪里看
  • 网站建设的要求有哪些无锡弘腾网络科技有限公司
  • 哪个公司做网站好世界500强企业排名中国
  • vue做网站首页cosy wordpress主题
  • 厦门市建设与管理局网站wordpress投稿积分
  • 网页设计师网站河南郑州最新新闻
  • 做爰直播网站杭州网络科技设计中心
  • 网站推广实践内容怎样创建网站的代码
  • 深圳网站建设799元起全包域名网站建设与设计意义
  • 品牌网站建设推荐乐云seowordpress 新页面打开空白页
  • 电商网页设计期末作业模板建网站优化
  • 58同城合肥网站建设购物网站功能模块说明
  • 广州软件开发外包武威网站怎么做seo
  • 惠州市建设规划局网站网站开发模板下载
  • 郑州红酒网站建设网站后台模板 免费
  • 专业团队优质网站建设方案深圳口碑最好的装修公司排名
  • ps网站首页直线教程园林景观设计公司计划书
  • 徐州建设网站做网站用lunx
  • 贷款网站开发个人网站建立教程
  • 备案网站查询效果好网站建设哪家好
  • 网站建设与规划实训总结猪八戒托管赏金做网站