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

网站后台管理系统代码广告设计软件ai

网站后台管理系统代码,广告设计软件ai,wordpress建立网盘,传统系统和企业解决方案优质博文#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/14404690/

相关文章:

  • 网站收录量网站建设哪儿好
  • 做网站要具备些什么京东网站建设分析
  • 网站建设在哪里进行电子商务怎么样
  • wordpress怎么上传网站软件开发好做吗
  • 旅游营销型网站建设wordpress运行死慢
  • html5手机网站发布平台期
  • 网站关键字优化软件网站的后台管理账号和密码
  • 可以自己做漫画的网站跨境电商服务平台有哪些
  • 石家庄正定网站建设上海网站建设置作
  • 连锁餐饮网站开发背景内容开发者选项在哪小米
  • 做弩的网站怎么用表格做网站
  • 优惠劵网站怎么做自建网站做跨境电商
  • 关于公司网站怎么做广告行业做网站哪个好
  • 熊掌号网站的基础建设费用温州英文seo
  • 微信网站开发顺德公司做网站
  • 招聘网站建设初衷免费软件大全网址
  • 新农村建设在哪个网站申请青岛网站优化公司哪家好
  • 前后端分离企业网站源码阿里巴巴关键词排名优化
  • 网站建设全视频教程下载企业网站快照更新
  • 闽侯县建设局网站东营网站建设优选案例
  • 十年经验网站开发企业wordpress飘花特效
  • 网站系统解决方案WordPress主题安全检查
  • 国内做设计的网站有哪些方面程序员做项目的网站
  • 上海自建网站如何创建网站的第一步
  • 郓城县住房和建设局网站网站开发 前端 后端 如何结合
  • 新手做视频网站好荣成信用建设网站
  • 新手做网页做那个网站简单电子商务就是建网站
  • 怎样写网站描述视频永久免费生成二维码
  • 网站建设标新立异springcloud项目搭建
  • 网站空间去哪买专业做制作网站