• 不了解这12个语法糖,别说你会Java!
    很多人说Java是一个“低糖语言”,其实从Java 7开始Java语言层面上一直在添加各种糖,主要是在“Project Coin”项目下研发。解语法糖前面提到过,语法糖的存在主要是方便开发人员使用。但其实,Java虚拟机并不支持这些语法糖。本文主要来分析下这些语法糖背后的原理。糖块一、 switch 支持 String 与枚举前面提到过,从Java 7 开始,Java语言中的语法糖在逐渐丰富,其中一个比较重要的就是Java 7中switch开始支持String。在开始coding之前先科普下,Java中的swith自身原本就支持基本类型。C++和C#是使用Code specialization的处理机制,而Java使用的是Code sharing的机制。
  • 如何给女朋友解释鸿蒙OS是怎样实现跨平台的?
    鸿蒙是华为自2012年开发的一款可能兼容Android app的跨平台操作系统。即平台 ≈ 设备所以,华为希望鸿蒙OS可以运行在各种各样的设备上,所以,鸿蒙OS必然需要具备跨平台的能力。而且,鸿蒙想要做的不仅仅是操作系统可以跨平台,更重要的是要让用户和开发者真正的感受到跨平台。Java实现跨平台先来说说Java是如何实现跨平台的。鸿蒙实现跨平台那么,鸿蒙OS的代码编译是怎么样的呢?他又是如何解决跨平台的问题的呢?Android设备是由不同设备上内置的虚拟机进行编译的,所以编译之前就知道这个设备具体是什么了,那么,鸿蒙OS是怎么做的呢?
  • 华为新贵!方舟编译器的荣光和使命
    本文由MO编辑部出品,文字超1万,查阅的资料多达上百万文字,并且与华为方舟编译器的专家做过深度访谈。文章高度概括了波澜壮阔的软件产业发展史,解析了华为在编译器和手机系统方面做的多年准备。2017年5月的一个凌晨,华为某实验室里,方舟编译器上第一个Java程序“Hello, World”跑通了。)十年前华为启动编译组到这一刻,初见曙光。2019年4月,华为方舟编译器正式面世!今天我们聚焦华为新贵——方舟编译器,这个一发布就引起巨大响动的底层核心技术。它为什么能拥有和世界对话的荣光?这些女人被称为Computers,大多数计算都是她们手工完成的。
  • 讲一个编译器的故事,Gcc和LLVM的明争暗斗
    现在的Google的TensorFlow做事情,之前在Tesla,那个做电动车的公司做自动驾驶,再往前,在Apple公司做LLVM。Apple,甚至Apple购买的NeXT,一直是用Gcc当官方编译器,这是开源世界的不二选择。但是这个语言又依赖Gcc。Chris Lattner回答说,最近在搞OpenGL的事,编译器还没太专注,只是针对OpenGL优化了一下LLVM。同时,他发布了LLVM-GCC。这也是Chris Lattner在Apple时期最后一次提交代码给Gcc,他要开始自己做LLVM了。还记得龙书么,CLang的成功代表了LLVM已经可以与Gcc抗衡了,所以,他也为LLVM选了一条龙当作Logo。编译时需要的内存是Gcc的1/10。
  • 华为宣布方舟编译器将于8月31日起开源
    今日华为EMUI官方微信发文宣布,方舟编译器开源准备就绪,将于8月31日起开源。方舟编译器对于系统在这方面的提升,官方曾这样描述:一、EMUI 9.1对系统主要服务System Server进行静态编译化,带来了系统流畅度提升24%,系统响应性能提升44%以上的收益。此外,方舟编译器还带来了新的系统垃圾回收机制。
  • 万众瞩目:华为方舟编译器开源官网正式上线,框架代码公布
    在刚刚过去的华为开发者大会上,华为给出了鸿蒙OS及方舟编译器的开源时间表,着实让开发者们大为兴奋了一把。而不到一个月的时间,华为兑现承诺,8月31日,华为方舟编译器开源官网正式上线了。目前方舟编译器的代码托管在华为云,在未来走向开放治理以后,将按照所挂靠机构的模式来托管。华为方舟编译器开源官方渠道华为在8月31日对外公布了方舟编译器开源获取信息渠道,开发者可以通过如下方式获得相关代码和文档,供参考学习、了解方舟编译器的架构和代码。
  • 重磅:华为方舟编译器开源代码「正式发布」
    loonggg读完需要2分钟速读仅需1分钟就在今天,8 月份的最后一天,华为方舟编译器开源官网正式上线了。目前方舟编译器的代码托管在华为云与码云平台,在未来走向开放治理以后,将按照所挂靠机构的模式来托管。在之前的华为开发者大会上,华为给出了鸿蒙 OS 及方舟编译器的开源时间表,但是由于发布会上代码并没有随着发布会开源公布,被大家戏称为:PPT 发布会。这一次,华为终于兑现承诺,开始发布代码了,希望华为陆陆续续公布代码的过程也是一个技术与实力证明的过程。
  • 华为终于放出方舟编译器源代码!开源平台同步亮相,网友:硬核项目
    乾明 边策 发自 凹非寺量子位 报道 | 公众号 QbitAI华为方舟编译器终于正式开源,源代码放出,兑现了在8月开源的承诺。这也意味着,华为开源平台也同时问世。有网友认为,方舟编译器的开源,将提升Android的流畅性,缩小与iOS系统的差距。此前华为曾大力宣传方舟编译器对手机性能的提升,有人质疑华为的技术能否达到此前声称的水平,以及质疑国内公司的自主创新能力。华为官方表示,方舟编译器对手机App运行速度提升极大。华为表示,在孵化委员会期间,方舟编译器代码是托管在华为云上面。
  • 华为方舟编译器开源官网正式上线,并首次开放了框架源码!
    2019 年 8 月 31 日,华为方舟编译器开源官网正式上线,并首次开放了框架源码。方舟编译器对终端软件编译机制进行了架构级优化,将显著地提升用户体验。官方网站:https://www.openarkcompiler.cn/本次方舟编译器开源的是编译器框架部分源码,包括编译器中间表示和语言编译实现,同时搭配编译器其他二进制组件,实现Java程序到aarch64汇编指令的编译过程。社区参与者可以通过框架源码学习方舟编译器的编译器中间表达及基本的中端编译框架,熟悉方舟编译器的架构思想,并参与诸如对编译器中端优化的贡献。方舟编译器还在持续演进中,陆续会慢慢会把更多东西开源出来的,慢慢期待。
  • 华为方舟编译器开源!前华为人重磅解读!
    8月31日,华为方舟编译器正式开源。据华为内部人士表示,华为员工为了这次开源,连续30小时没有合眼。早在在8月9日的华为开发者大会上,华为消费者业务CEO余承东,就宣布将在8月底开源方舟编译器的框架代码。CSDN特邀上海鉴释科技创始人、前华为人&原方舟编译器立项负责人之一梁宇宁为你新鲜解读!不由自主的勾起了我还在华为时关于方舟编译器项目的回忆。下来讲讲当时为什么华为要做编译器。方舟编译器已经是中国第一个能把部分核心技术自研出来并大规模商用的尝试,有着深远的意义。
  • 华为方舟编译器开源,源码在 Gitee 同步发布
    前不久华为开发者大会上,华为给出了鸿蒙OS及方舟编译器的开源时间表,着实让开发者们大为兴奋了一把。社区参与者可以通过框架源码学习方舟编译器的编译器中间表达及基本的中端编译框架,熟悉方舟编译器的架构思想,并参与诸如对编译器中端优化的贡献。方舟编译器整体框架方舟开源 共同成长目前方舟编译器的代码托管在华为云以及码云 Gitee,在未来走向开放治理以后,将按照所挂靠机构的模式来托管。点击这里,直达方舟编译器源码仓库与众多开发者一起研究探讨,为华为方舟编译器点亮 Star 吧:)
  • 方舟编译器开源,华为自家开源平台面世!(附编译过程)
    坊间猜测,这是由于7月底GitHub封禁了一批伊朗账户,让华为意识到了将方舟编译器和鸿蒙系统在GitHub上开源的风险,因此赶工赶出来一个开源平台。方舟编译器作为“排头兵”,打响了鸿蒙OS开源的第一枪。方舟编译器官网上的一篇文章,生动地诉说了这一段历程。2013年,华为推出面向基站领域的自研编译器,并正式提出编译器框架构想。2016年,成立编译器与编程语言实验室。2019年,华为方舟编译器正式面世!2018年春节前一周,方舟编译器跑通安卓系统所有后台服务,并成功移植到手机。
  • 前端工程师为什么要学习编译原理?
    胜任前端工作非常容易。工具致力于流程自动化、规范化,服务于简洁、优雅、高效的编码,将问题高度抽象化、层次化。了解编译原理能够对所接触的框架有更充分的认识。在 Web 前端工程领域,由于宿主环境浏览器与 Node.js 的跨平台特性,我们只需关注编译器前端部分,就可以充分发挥它的应用价值。为了更好地理解编译器前端的工作原理,本文将主要以目前被广泛使用的 Babel 为例,阐述它是如何将源代码编译为目标代码。语法分析器按照工作方式来划分,分为自顶向下分析法和自底向上分析法。LR 语法分析器的核心是移入
  • 方舟编译器开源,华为自家开源平台面世!(附编译过程)
    坊间猜测,这是由于7月底GitHub封禁了一批伊朗账户,让华为意识到了将方舟编译器和鸿蒙系统在GitHub上开源的风险,因此赶工赶出来一个开源平台。方舟编译器作为“排头兵”,打响了鸿蒙OS开源的第一枪。方舟编译器官网上的一篇文章,生动地诉说了这一段历程。2013年,华为推出面向基站领域的自研编译器,并正式提出编译器框架构想。2016年,成立编译器与编程语言实验室。2019年,华为方舟编译器正式面世!2018年春节前一周,方舟编译器跑通安卓系统所有后台服务,并成功移植到手机。
  • 把 WebAssembly 用于提升速度和代码重用[每日前端夜话0xBC]
    对于名称中带有 assembly 的语言,WebAssembly 是低级的。系统语言都具有两个特性,这使它们适合被编译为 WebAssembly。谈到高性能 Web 代码,WebAssembly 并不是唯一的选择。WebAssembly 的概述可以总结如下。几乎所有关于 WebAssembly 语言的文章都提到把近乎原生的速度作为语言的主要目标之一。WebAssembly 在下载方面也有优势。浏览器将 JS 模块作为文本提取,这正是 WebAssembly 能够解决的低效率问题之一。WebAssembly 中的模块是紧凑的二进制格式,可加快下载速度。同样令人感兴趣的是 JS 和 WebAssembly 如何协同工作。冰雹序列和 Collatz 猜想生产级代码案例将使 WebAssembly 代码执行繁重的计算绑定任务,例如生成大型加密
  • 全球首个软硬件推理平台 :NVDLA 编译器正式开源
    近日,英伟达开源了软硬件推理平台 NVADLA 编译器,一起来围观一下吧。而最近,英伟达在 GitHub 上开源了 NVDLA 编译器的源代码,这是世界上首个软硬件推理平台的完整开源代码。NVDLA 编译器的性能和效率编译器是 NVDLA 软件栈的关键组件。NVDLA 是如何提升性能的在大型的 NVDLA 设计上,层融合和管道调度之类的编译器优化,表现性能良好,可广泛应用于多种神经网络架构,能提供高达 3 倍的性能效益。测量数据来自 Jetson AGX Xavier 开发工具上的一个 NVDLA 核心捕获。
  • 华为方舟编译器,了解一下
    2019年4月P30系列发布会上,华为首次发布了方舟编译器技术,宣称其抛弃了安卓编译器边解释边执行的模式,采用静态编译,可以做到全程执行机器码,进而高效运行程序,大大缩短程序响应时间。华为官方表示方舟编译器能够将系统操作流畅度提升24%、系统响应力提升44%、第三方应用操作流畅度提升60%。当然,华为对方舟编译器运行时也做很多优化,例如额外使用了引用计数作为一种GC的手段。□方舟编译器对热修复等特性支持还不完善,需进一步开发。
  • 起底方舟编译器的引用计数!
    8月初,鸿蒙OS发布,8月底,方舟编译器开源。比如,方舟编译器引用计数的设计和实现,到底有怎样的技术背景?在引用计数方案中,系统为每一个内存单元维护一个计数器,对每个内存单元的外部引用进行统计,当引用计数为零时即可释放内存单元。方舟编译器采用引用计数对内存进行管理,这是在Java上进行RC的有义尝试。方舟编译器使用编译优化方法与引用计数方法结合,使得开销降低到可接受的范围内。方舟编译器在保证多线程安全和异常处理的前提下,以计数减一操作可以延缓,计数加一操作可以提前为原则,对RC操作进行消除优化。
  • 万字长文详解 Go 程序是怎样跑起来的?| CSDN 博文精选
    它的每一步具体如何进行,力图弄清 Go 程序的这一生。也就是说,刚刚写完的 hello.go 文件都是由 ASCII 字符表示的,它被称为 文本文件,其他文件被称为 二进制文件。输入是原始的 Go 程序文件,在词法分析器看来,就是一堆二进制位,根本不知道是什么东西,经过它的分析后,变成有意义的记号。
  • 万字长文详解 Go 程序是怎样跑起来的?| CSDN 博文精选
    它的每一步具体如何进行,力图弄清 Go 程序的这一生。也就是说,刚刚写完的 hello.go 文件都是由 ASCII 字符表示的,它被称为 文本文件,其他文件被称为 二进制文件。输入是原始的 Go 程序文件,在词法分析器看来,就是一堆二进制位,根本不知道是什么东西,经过它的分析后,变成有意义的记号。
活跃用户
《科技日报》是富有鲜明科技特色的综合性日报,是面向国内外公开发行的中央主流新闻媒体,是党和国家在科技领域的重要舆论前沿,是广大读者依靠科技创造财富、提升文明、刷新生活的服务平台,是中国科技界面向社会、连接世界的明亮窗口。
《中国银行保险报》是中国银行保险监督管理委员会主管唯一工作日报。
数字生活家,手机新娱乐
专业的中文 IT 技术社区,与千万技术人共成长。
数字公民的糖
腾讯新闻旗下腾讯科技官方账号,在这里读懂科技!
凤凰科技频道官方账号,带你直击真相。
TechWeb专注于互联网消费领域,每日专业提供互联网产品、智能设备及互联网服务等方面的最新资讯。
从思考,到创造
让创业者不再孤独@i黑马
《环球科学》杂志官方帐号 www.huanqiukexue.com
用极客视角,追踪你最不可错过的科技圈。有快闻、也有洞见;有脑洞、也有思考。
雷锋网,读懂智能&未来。
36氪是中国领先的新商业媒体,提供新锐深度的商业报道。我们强调趋势与价值,我们的slogan是:让一部分人先看到未来。
最好的中文人物报道
笑谈开发轶事,品味程序人生。
可能是最会用故事讲解技术本质的公众号!
以通俗易懂的方式讲解数据结构与算法、计算机网络,计算机基础等编程知识。
程序员职业规划:职场晋升之路;探讨程序员转化转管理之路。程序员学习管理之道:团队管理、项目管理、管理工具的推荐和使用经验。
促进软件测试领域知识的传播