面试:【HashMap 、Netty、Zookeeper、单例】整理

博客围绕面试要点展开,介绍了HashMap原理及put方法过程,底层用哈希表,链表过长转红黑树;讲述了BIO到NIO到NETTY的相关知识,包括BIO阻塞特性及NETTY操作步骤;提及Dubbo注册使用redis和zookeeper;还阐述了设计模式中单例模式的多种实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HashMap 面试:
  1 HashMap的原理,内部数据结构?
    底层使用哈希表(数组+链表),当链表过长会将链表转成红黑树O(logn)
  时间复杂度内查找.
  2 讲一讲Hashmap中的put方法过程?
   a  对Key求Hash值,然后计算下标.
   b  如果没有碰撞,直接放入桶中.
   c  如果碰撞了,以链表的方式链接道后面
   d  如果链表长度超过阀值(TREEIFY_THRESHOLD ==8 ),就把链表转成红黑树
   e  如果节点已经存在就替换旧值
   f  如果桶满了(容量*加载因子),就需要resize.
    
  BIO到NIO到NETTY:

  BIO  阻塞式IO
  BIO 的阻塞描述的IO本身的行为; Server.accept()也是阻塞的.
  

  以网络编程为模型,多个浏览器要进行连接的时候,
  针对每一个浏览器的请求分配一个线程.
  
  优化:线程操作的时期.

  NETTY:
    1 获取到ServerSocketChannel
        2 绑定一个端口
        3 创建Selector 创建线程
        4 将ServerSocketChannel注册到Selector中,
   
  Dubbo: 
        注册 : redis 和 zookeeper(有监听功能)
        refister(String serviceName,String serveiceHost)
        ZK上创建服务的节点为持久的节点
        ZK上服务下面的ip地址为临时的节点

  设计模式六大原则:   
  

  单例模式  
  

  工厂本身   一个模板类,在整个系统运行中,只允许产生一个实例(有且只有一个);
  配置文件   Listener本身单例 日历Calender 、 IOC容器 、 配置信息Config
 
    日历     饿汉式、懒汉式、注册登记式(枚举式)、反序列如何保证单例

   解决问题  在恶劣环境下(程序健全性)
   

   // 饿汉式: 有点:没有加任何锁、执行效率比较高,
              缺点:在类加载的时候就初始化,不管用不用,都占内存

      懒汉式: 默认不实例化,用的时候实例化,延迟加载.产生实例的过程
               是动态的,必然放在方法中创建实例.  

内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具与自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、CO和SO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性和便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算和结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征和技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析和模拟,揭示了生物质炉具在实际应用中的优点和挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向和政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值