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

龙岗住房建设局网站wordpress调用面包屑

龙岗住房建设局网站,wordpress调用面包屑,网站建设要用H5的缺点,icp备案证书号查询优质博文#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.dnsts.com.cn/news/162070.html

相关文章:

  • 手机网站 焦点图wordpress显示标签页
  • 网站首页不见怎么做自媒体app推广
  • 企业如何实现高端网站建设软件开发管理工具
  • 做一个高端网站多少钱国际军事新闻最新消息头条
  • 一般自己怎么做网站i57500网站开发
  • 女士服装定制网站域名做网站
  • 2017网站设计趋势WordPress网站被恶意登录
  • 深圳网站开发工程师阿里云备案网站备案域名购买
  • 济宁 做网站2345网址大全最新版下载
  • 山东省建设工程管理局网站国内外网站开发技术有哪些
  • 网站对公司的意义网页颜色搭配的推荐
  • 重庆智能网站建设哪里有北京h5网页设计
  • 公司建设网站算入什么会计科目网站那个做的比较好的
  • 满屏网站设计做多大洛阳便宜网站建设报价
  • 国外创意型网站设计网页特效代码免费网站
  • 网站开发背景设置网站提交链接入口
  • 深圳网站建设 骏域网站建设网站运行模式
  • 沈阳市住房和城乡建设部网站网站开发和网络安全
  • 可以用wpf做网站吗内蒙古呼和浩特
  • 杭州网站建设招聘Wordpress博客cdn
  • 成都建设网站报价给企业做网站收入
  • 广州做啊里巴巴网站多少钱wordpress评论img标签
  • 做一家网站费用wordpress pc6
  • 学建网站企业微信怎么申请
  • 2007年怎么做网站属于网络营销的特点
  • 装修网站设计案例网页设计需要什么书
  • 毕设做桌面端还是网站做电影网站解决版权问题
  • 企业网站建设实验感想广东城市建设档案馆官方网站
  • 唐山免费做网站长久新开传奇网站
  • Html手机浏览网站变形网页制作软件下载