开发者学堂课程【Java 面试疑难点串讲1:面试技巧及语言基础:虚拟内存】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/24/detail/527
虚拟内存
内容介绍
一、Nginx 与 Apache 比较优势是什么
二、什么情况下使用虚拟内存,好处是什么
一、Nginx 与 Apache 比较优势是什么
Nginx 首要的功能是进行一个转发, 也就是说 Nginx 会有- -个负载均衡算法,也就是说利用这个负载均衡的算法,可以直接连接或称为代理更多的 WEBServer。
而且 Nginx 主要工作网络层,所以它对于网络的处理速度会比较快。
Nginx 里面可以承担许多的开发模块,这样如果使用了缓存模块,那么就减少了网络传输,从而得到了性能的优化。
Nginx 的配置要比 Apache 更加简单,而后主要是采用的算法,要比 Apache 更好。Apache 市场份额也越来越少。
二、什么情况下使用虚拟内存,好处是什么?
如果你在玩游戏,你的电脑可能只有2G 内存,但是你发现依然可以使用,因为操作系统会将你的硬盘进行内存的虚拟化,这样就相当于你在硬盘,上可以模拟内存(硬盘的速度很慢,所以你的程序启动的速度也会很慢)。
从 Java8 开始取消了永久代,而使用元空间来进行操作,那么也就是说 Java 可以直接使用操作系统的内存进行处理,这样就有可能导致每- -个线程分配的真实的主机内存空间就越大,所以这个时候如果内存不足,操作系统会进行虚拟内存的控制。
对于虛拟内存不需要做特别多的处理。
当线程访问量追加,那么 JVM 就有可能进行不断的内存申请以及不断的内存回收,在讲解JVM里面针对于 _Xmx、Xms 的两个参数的控制就非常重要。