zoukankan      html  css  js  c++  java
  • ↗☻【高性能网站建设进阶指南 #BOOK#】第2章 创建快速响应的Web应用

    0.1秒 1秒 10秒

    自动内存管理是有开销的。当执行回收时,GC实现中最复杂的几乎是stop the world,它们会冻结整个运行环境(包括我们正在调用的主浏览器JavaScript线程),直到遍历完整个创建对象的堆。在这个过程中,它们查找那些不再使用或能够回收未用内存的对象。
    但随着应用程序内存占用的增加,遍历整个堆去查找不再使用的对象所需要的时间将增长并最终会达到引起用户注意的程度。
    当这种情况发生时,应用程序开始定期地出现间歇式迟钝;问题变得更糟糕时,整个浏览器可能出现定期的冻结。

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <script>
            function myJavaScriptFunction(that) {
                var start = new Date().getMilliseconds();
                for (var i = 0; i < 100; i++) {
                    that.innerHTML = 'ca ' + i;
                }
                var stop =  new Date().getMilliseconds();
                var executionTime = stop - start;
                console.log('myJavaScriptFunction() executed in ' + executionTime + ' milliseconds');
            }
        </script>
        <div onclick="myJavaScriptFunction(this)">ca</div>
        <div><div id="redundant">nodeToDelete</div></div>
        <script>
            // 使用delete关键字从内存中移除不再需要的JavaScript对象
            // 从网页的DOM树上移除不再是必需的节点
            var page = {
                address: 'http://some/url'
            };
            console.log(page.address);
            delete page.address;
    
            var nodeToDelete = document.getElementById('redundant');
            delete nodeToDelete.parentNode.removeChild(nodeToDelete);
        </script>
    </body>
    </html>
  • 相关阅读:
    linux常用命令
    linux简介
    vmware+CentOs 6.9的安装步骤
    Android layer type与WebView白屏-第一次加载webview很慢
    Android View框架的measure机制
    maven的facet错误解决方法
    oracle jdbc驱动发布nexus
    dubbox2.8.4编译发布到私服(nexus)
    一致性哈希 与 普通哈希对比
    1对多业务,数据库水平切分架构一次搞定 | 架构师之路
  • 原文地址:https://www.cnblogs.com/jzm17173/p/3113540.html
Copyright © 2011-2022 走看看