zoukankan      html  css  js  c++  java
  • 关于web项目run模式启动和debug模式启动的一些区别

    之前总是觉得 run 和 debug 模式存在性能区别,其实也没错,那些断点调试机制又不是买一赠一。

    那到底怎么选择?

    浅谈下其他区别:

    在debug模式下,当我们修改方法体内的代码时,我们是不需要重启web server的,web服务器会自动的把这些改动替换到vm当中,学名叫hot swap。通过以下运行时的截图,给大家展示一下效果

    原始情况下:

    在不重启web服务器的情况下,修改控制台输出内容,运行时控制台输出内容即为修改后的内容

    可以看到,在不重启web server的情况下,我们修改的内容会马上起作用。也即,这些内容会动态的添加到运行的vm当中。

    但经过测试,发现并不是所有情况下,我们的改动都会同步更新到运行时vm当中。下面把可以动态更新到vm中的情况与不能动态更新到vm中的情况列一下:

    改动内容可以动态更新到vm的情况

    1、修改方法体内的内容,无论是实例方法还是静态方法。

    不能动态更新到vm的情况

    1、新增、删除实例方法、静态方法时。

    2、新增、删除实例变量、类变量时。

    3、引入了新创建的内部或外部类时。

    4、方法当中有对类变量或实例变量的引用,当外部变量被修改时。

    上面是网络上对于热替换功能做出的解释。

    个人总结:如果你机器卡,且后台稳定。文档清楚,那就run吧。不然还是老老实实debug,调试起来方便。

  • 相关阅读:
    询问给定图中树的棵数
    题目1365:贝多芬第九交响曲
    题目1463:招聘会
    九度 题目1395:爱钱的胡老板
    HDU 4666 Hyperspace && POJ 2926 Requirements
    九度 题目1493:公约数
    九度 题目1523:从上往下打印二叉树 题目1521:二叉树的镜像
    iOS CoreBluetooth 教程 蓝牙
    点击推送,跳转到查看推送消息的页面
    学习ios蓝牙技术,仿写lightblue
  • 原文地址:https://www.cnblogs.com/cfsxgogogo/p/12216806.html
Copyright © 2011-2022 走看看