加入收藏 | 设为首页 | 会员中心 | 我要投稿 南昌站长网 (https://www.0791zz.cn/)- 终端安全、安全管理、数据治理、图像分析、大数据!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

技术人如何加速成长?

发布时间:2021-01-30 12:15:59 所属栏目:传媒 来源:互联网
导读:0. 主从复制 首先主从复制是什么?简单来说是让一台MySQL服务器去复制另一台MySQL的数据,使两个服务器的数据保持一致。 这种方式与Redis的主从复制的思路没有太大的出入。如果你对Redis的主从复制感兴趣可以去看看《Redis的主从复制》。那既然Redis和MySQL都

0. 主从复制

首先主从复制是什么?简单来说是让一台MySQL服务器去复制另一台MySQL的数据,使两个服务器的数据保持一致。

这种方式与Redis的主从复制的思路没有太大的出入。如果你对Redis的主从复制感兴趣可以去看看《Redis的主从复制》。那既然Redis和MySQL都采用了复制这种方式,主从复制所带来的意义是什么呢?

通过复制功能,构建一个或者多个从库,可以提高数据库的高可用性、可扩展性,同时实现负载均衡。当主库发生故障时,可以快速的切到其某一个从库,并将该从库提升为主库,因为数据都一样,所以不会影响系统的运行;当MySQL服务器需要扛住更多的读请求时,可以把读请求的流量分流到各个从库上去,写请求则转发给主库,形成读写分离的架构,来提供更好的读扩展和请求的负载均衡。

读写分离的架构应用的其实非常广泛,就比如MySQL,还有Redis,以及我们熟悉的Zookeeper,Zookeeper的Follower收到读请求不会自己处理,而是会将读请求转发给Leader,感兴趣的可以自己下来了解一下,这里就不偏题了。
 

  1. 堆可以说是 jvm 中最大的一块内存区域了,它是所有线程共享,几乎所有的对象实例都会在这里分配。
  2. java 堆是垃圾回收器主要回收的区域。从内存回收的角度来说,堆空间可以分为新生代和老年代,而新生代又可以分为伊甸区,Survivor 区。

特点:1、所有线程共享 2、占用大的内存空间 3、先进先出

堆的划分:
 

虚拟机栈

  • 虚拟机栈,其描述的就是线程内存模型,也可以称作线程栈,也是每个线程私有的,生命周期与线程保持一致。在每个方法执行的时候,jvm 都会同步创建一个栈帧去存储局部变量表,操作数栈,动态连接,方法出口等信息。一个方法的生命周期就贯彻了一个栈帧从入栈到出栈的全部过程。

特点:1、随线程而生、随线程而死 2、先进后出

栈示意图:
 

能看出 1.8 版本前后的差别么,下面就看看这些区域都干啥的~~

程序计数器

  • 其实你可以把它看作是当前线程执行的字节码的行号指示器,在 Jvm 工作时,就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环,跳转,异常处理,线程的恢复等工作都需要依赖程序计数器去完成。它就好像是一个路口的红绿灯一样。

特点:1、占用很小的内存 2、各线程私有

就比如下面字节码一样,每一行开头的黄色数字,我们就可以认为它是程序计数器所存储的内容:

(编辑:南昌站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读