JVM运行时数据区(01)程序计数器、虚拟机栈、本地方法栈
运行时数据区(01)课程内容概览该部分包含: 前置知识了解 程序计数器 虚拟机栈 本地方法栈 部分图源自作者youthlql,懒得重新看视频截图了,就在这位作者的笔记基础上和自己原ipad的goodnotes笔记结合做了一定修改 前置知识-类的加载简单了解类的加载过程 加载(Loading):查找编译后该类对应的 .class文件,并对常量进行默认初始化赋值0 链接(Linking): 验证(Verify):验证class文件是否符合当前虚拟机的要求 准备(Prepare):为类变量分配内存并设置默认初始值0,并为常量进行显式赋值 解析(Resolve):将常量池内的符号引用转换为直接引用的过程 初始化(Initialization):执行类构造器 clinit()方法的过程,对类变量初始化赋值 类的加载器 引导类/启动类 加载器Bootstrap ClassLoader:用c/c++编写,不继承于Classloader类,用于加载Java核心类库等,若要输出该类的对象,将会输出NULL 扩展类加载器Extension ClassLoader:用 ...
SpringCloud-SR12 + CloudAlibaba 2.2.8RELEASE笔记
SpringCloud-SR12 ==所使用的是springcloud-SR12,笔记中所有组件都是选择的适配该版本的组件== springboot使用的是2.3.12.RELEASE 服务注册中心 ==网站客户端通过restTemplate调用网站服务端的服务== Eureka(AP)Eureka单机/集群配置eureka的服务端加注解==@EnableEurekaServer== 12345<!--eureka-server--><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency> 网站的服务端和客户端加注解= ...
Nginx高级篇扩容与高效
Nginx高级 第一部分:扩容通过扩容提升整体吞吐量 1.单机垂直扩容:硬件资源增加12345678910云服务资源增加整机:IBM、浪潮、DELL、HP等CPU/主板:更新到主流网卡:10G/40G网卡磁盘:SAS(SCSI) HDD(机械)、HHD(混合)、SATA SSD、PCI-e SSD、 MVMe SSDSSD多副本机制系统盘/热点数据/数据库存储HDD冷数据存储 2.水平扩展:集群化基本调优会话管理-修改负载均衡策略Nginx高级负载均衡ip_hash 会导致流量倾斜,ip集中 若后端服务器宕机,对应ip的服务将无法提供 应用场景:中小型项目快速扩容时,不想修改代码,只需增加几台服务器使用ip_hash就可临时实现 hash $cookie_jsessionid; 根据cookie中的jsessionid的不同转发到对应的服务器 hash $request_uri; 根据uri的不同转发到对应的服务器 使用lua逻辑定向分发 Redis + SpringSession 要修改代码 所有前端服务器的请求打在redis服务器上,redis受不 ...
Nginx基础篇笔记
nginx基本运行原理图 Nginx配置与应用场景最小配置worker_processes worker_processes 1; 默认为1,表示开启一个业务进程 worker_connections worker_connections 1024; 单个业务进程可接受连接数 include mime.types; include mime.types; 引入http mime类型 default_type application/octet-stream; default_type application/octet-stream; 如果mime类型没匹配上,默认使用二进制流的方式传输。 sendfifile on; sendfile on; 使用linux的 sendfile(socket, file, len) 高效网络传输,也就是数据0拷贝。 未开启sendfifile时: 开启后:(nginx减少一次目标文件的复制) keepalive_timeout 65; keepalive_timeout 65; server 虚拟主机配置 1234567891 ...