Java内存模型与反向代理服务器Nginx

开发中的强调了JVM

当前的互联网开发环境有直接的关系:

            已经不再单独的面对传统的一台主机运行一些程序,而后在进行简单的维护,现在讲究的是:高并发、分布式、高可用,对于程序的调优里面就需要去考虑JVM参数设计、JUC的使用。 【面试必问内容

Java架构师(基础能力):

          框架设计 + 通讯 + 多线程(JUC) + JVM + 数据结构 + 良好的结构设计(需要大量的代码基础的) 需要清楚内存模型、虚拟机分类、运行模式; 不适当的JVM运行状态,有可能会浪费你电脑的性能、良好的JVM调优,可以增加你电脑处理的负载;

JVM分类

            Java是直接通过指针进行的程序访问,所以它没有采用句柄的形式操作,这样使得程序的性能更高。 传统意义上来讲,JVM一共分为三种(虚拟机是一个公共标准) 【SUN】从JDK 1.2开始使用了HotSpot虚拟机标准(2006年开源、利用C++实现、一些JNI部分使用的是系统提供的C程序实现的、JIT即时编译器); 【BEA】使用了JRockit虚拟机标准,例如:WebLogic; 【IBM】开发了JVM’s(J9)虚拟机; Oracle后来通过收购得到了:SUN与BEA,那么Oracle有了两个虚拟机标准(不可能浪费两个研发团队去干同样的事情);

JAVA内存模型

           合理的内存模型可以使GC的性能更加强大,不必太大的浪费服务器的性能,从而减少阻塞所带来的程序的性能影响。 例:你现在收拾屋子,基本上我们会有两类收拾方法:

           方式一:简单的进行物品的码放以及打扫卫生,时间短;

           方式二:房屋装修与改造,时间长。 Java中数据保存的内存位置:堆内存(调优、原理); 最需要强调的就是JDK 1.8之后所带来的内存结构改变以及Gc策略提升;

Nginx简介

       Nginx (engine x) 是一个轻量级的、高性能的、基于 Http 的、反向代理服务器,同时还是一个电子邮件服务器。

       Nginx 最初是由俄罗斯人 Igor Sysoev(伊戈尔·赛索耶夫)使用 C 语言为俄罗斯访问量第二的 Rambler.ru 站点开发的一款服务器。2004 年 10 月发布第一个版本

      国内大型的站点,例如百度、京东、新浪、网易、腾讯、淘宝等,都使用了 Nginx。

正反向代理服务器Nginx

正向代理服务器

----------------------------------------------------------"翻墙"------------------------------------------------------------------

 

-------------------------------------------------------------------------"提速"----------------------------------------------------------------------------

--

-----------------------------------------------------"缓存"----------------------------------------------------------

 

--------------------------------------------------------------------授权""-----------------------------------------------------------------------------

 反向代理服务器

 

 集群负载均衡

 nginx 的官网为: http://nginx.org。

猜你喜欢

转载自www.cnblogs.com/wnlsq/p/12207667.html