首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/5367007/blog/5234566

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

渲染引擎分析 - 鸿蒙(OpenHarmony) JS UI 源码阅读笔记

作者:门柳 鸿蒙是华为研发的新一代终端操作系统,能适用于 IoT、手表、手机、Pad、电视等各种类型的设备上,扛起“国产操作系统”的大旗,也遭受了很多非议。2021 年 6 月初发布了 OpenHarmony 2.0 Canary 版本,开源了更多子系统的代码,支持内存 128MB 以上的设备。其中就包含了新版本的 JS UI 框架,本文重点分析这部分代码。(文章内容仅供参考,如有任何描述不准确的内容,感谢大家后台留言探讨与指正~) 鸿蒙系统概述 系统架构分层 建议去 OpenHarmony 官网[1] 上了解更多信息,下面是官方的技术架构图: 总结一下分为:应用层、框架层、系统服务层、内核层四个部分。内核层主要是宏内核的 Linux 和微内核的 LiteOS,以及各项硬件驱动程序。框架层和系统服务层联系比较紧密,有横向的框架和纵向的服务,细分成很多相对独立的子系统,UI 框架和 Ability 框架都在这里。 注意这是 OpenHarmony 的架构,不含 GMS 和 HMS、不含 AOSP 也不支持安卓 API,与华为手机中推送的 HarmonyOS 版本是有差别的,下文展开对比。...

多线程环境下,HashMap 为什么会出现死循环?

Java的HashMap是非线程安全的,多线程下应该用ConcurrentHashMap。 多线程下[HashMap]的问题(这里主要说死循环问题): 多线程put操作后,get操作导致死循环。 多线程put非NULL元素后,get操作得到NULL值。 多线程put操作,导致元素丢失。 1、为何出现死循环? 在多线程下使用非线程安全的HashMap,单线程根本不会出现。 HashMap是采用链表解决Hash冲突,因为是链表结构,那么就很容易形成闭合的链路,这样在循环的时候只要有线程对这个HashMap进行get操作就会产生死循环。 在单线程情况下,只有一个线程对HashMap的数据结构进行操作,是不可能产生闭合的回路的。 那就只有在多线程并发的情况下才会出现这种情况,那就是在put操作的时候,如果size>initialCapacity*loadFactor,那么这时候HashMap就会进行rehash操作,随之HashMap的结构就会发生翻天覆地的变化。很有可能就是在两个线程在这个时候同时触发了rehash操作,产生了闭合的回路。 2、如何产生的? 存储数据put(): pub...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册