小白想问一下关于编译的概念

现在在做web项目
涉及到的有html页面,js,后端java代码

如果我修改了html,或者是js,或者是java
在没有热编译的情况下,那么会自动编译吗(或者说修改的代码立即生效?)
我看见网上有说热编译,实现热编译后,我以上说的代码都会立即生效?
有大神给我解释下吗0.0
另外,在热编译的情况下,如果新建方法,似乎必须重启服务器?

html .js 。css 可以热部署 ,修改立刻生效,不需要重启服务器 ,由于这些都是解释执行的(js是脚本语言,解析执行,html css 都是一样直接浏览器渲染,和服务器没关系),但是java 不行,必须要重新编译(java是编译型语言,需要先编译成java字节码文件,然后java虚拟机才能运行),启动服务器才能生效。举例使用MyEclipse的时候开发web项目时,eclipse就帮我们做好了热部署,但是只限于html css js 的原因

java需要编译才可以执行,
在tomcat运行中,修改方法内的代码,会立刻编译(class文件会变化).

html,css,js不用。

html.js 不需要,但Java文件会编译成.class文件。

html css js 不用

html js css 这些不需要, 后台的需要重启! 不过一般后台不新增方法,新建变量......... 指示改方法里面的逻辑不需要重启。

楼上说了那么多,就提一个醒,如果是开发中那就可以使用热部署,生产环境建议还是打包重发布好了,尤其是涉及到 修改静态代码,要不然会有问题。