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

微信关注我们

原文链接:https://yq.aliyun.com/articles/666847

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

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

java final 详解

简介 final是java的关键字,可以声明成员变量、方法、类以及本地变量,它所表示的是“这部分是无法修改的”。不想被改变的原因有两个:效率、设计。 final作用于方法 final 修饰方法,则表明该方法不能被重写(override),所以对于 final 方法使用的第一个原因是针对设计的,进行方法锁定,以防止任何子类来对它的修改. final 方法, 在某些情况下可以对执行效率产生帮助.对于被修饰为final的方法,在编译器期的时候,有可能会进行内联(inline)优化. 内联调用: 是编译器为程序做的一种优化操作.虚拟机不再执行正常的方法调用(参数压栈,跳转到方法处执行,再调回,处理栈参数,处理返回值),而是直接将方法展开,以方法体中的实际代码替代原来的方法调用。这样减少了方法调用的开销。 如果方法被多次调用,或者内联的方法将会被多次拷贝,会相应的增加内存占用. 这是一种空间置换时间的一个策略. 如果方法体代码量过大,拷贝的次数过多,那么将反而达不到优化的目的. 对于final方法是否进行内联,由编译器决定,并不是所有的final方法都会被内联. 编译器进行内联优化,并不只针对f...

JavaScript 事件循环及异步原理(完全指北)

引言 最近面试被问到,JS 既然是单线程的,为什么可以执行异步操作?当时脑子蒙了,思维一直被困在 单线程 这个问题上,一直在思考单线程为什么可以额外运行任务,其实在我很早以前写的博客里面有写相关的内容,只不过时间太长给忘了,所以要经常温习啊:(浅谈 Generator 和 Promise 的原理及实现) JS 是单线程的,只有一个主线程函数内的代码从上到下顺序执行,遇到被调用的函数先进入被调用函数执行,待完成后继续执行遇到异步事件,浏览器另开一个线程,主线程继续执行,待结果返回后,执行回调函数其实 JS 这个语言是运行在宿主环境中,比如 浏览器环境,nodeJs环境 在浏览器中,浏览器负责提供这个额外的线程在 Node 中,Node.js 借助 libuv 来作为抽象封装层, 从而屏蔽不同操作系统的差异,Node可以借助libuv来实现多线程。而这个异步线程又分为 微任务 和 宏任务,本篇文章就来探究一下 JS 的异步原理以及其事件循环机制 为什么 JavaScript 是单线程的 JavaScript 语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。这样设计的方案主要源于...

相关文章

发表评论

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

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等操作系统。