摘要: nginx正向代理 server { listen 8090; server_name www.gps.com; location / { resolver 218.85.157.99 218.85.152.99; resolver_timeout 30s; proxy_pass http://$h 阅读全文
posted @ 2020-12-22 23:00 link_ed 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 简介 基于java开发,高可用 应用场景 1、应用解耦 2、流量销峰 3、异步处理 4、消息分发(邮件、短信、日志、数据处理) 延时队列场景:需要延时单次延迟执行的场景,比如订单取消 常见问题 1、如何保证高可用 集群部署 2、如何保证消息不丢失(消息的可靠性传输) 生产者丢失数据 开启生产者确认模 阅读全文
posted @ 2020-12-22 14:32 link_ed 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 运行时栈帧结构 局部变量表 操作数栈 动态连接 方法返回地址 附加信息 java虚拟机的运行时数据区域: 之前我们已经了解了有这么个区域,而且已经知道有栈帧这么一个结构,那我们就从方法执行的角度来剖析栈帧。 栈帧也叫过程活动记录,是编译器用来进行方法调用和方法执行的一种数据结构,它是虚拟机运行时数据 阅读全文
posted @ 2020-12-22 10:23 link_ed 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 概述 虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制 相当于懒加载机制 OSGI 就是通过类的加载机制实现的 类加载时机 加载: 连接: 初始化: 在以下情况才会进行初始化 1、遇到new、gets 阅读全文
posted @ 2020-12-22 10:21 link_ed 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 简介 java虚拟机的指令是由一个字节长度的,代表着某种特定操作含义的数字,称之为操作码,以及跟随其后的零至多个代表此操作所需参数的操作数而构成 操作码的长度为1个字节,因此最大只有256条 基于栈的指令集架构 (还有一种是基于寄存器的) 字节码与数据类型 i l f d a代表引用类型 加载和存储 阅读全文
posted @ 2020-12-22 10:18 link_ed 阅读(181) 评论(0) 推荐(0) 编辑
摘要: Class文件简介和发展历史 class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑的排列在class文件之中,中间没有添加任何分隔符,整个class文件中存储的内容几乎全部是程序运行的必要数据,没有空隙存在 当遇到8位字节以上的空间数据项时,则会按照高位在前的方式分割成若 阅读全文
posted @ 2020-12-22 10:14 link_ed 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 知识 工具 数据 经验 案例1 问题:经常有用户反馈长时间出现卡顿的现象 处理思路: 偶发,所以不会是sql问题 监控cpu 监控内存 发现fullGC频繁,每次需要20-30s,停顿时间过长 总结: 大对象过多,jvm内存设置的过大,老年代经常占满触发fullgc,老年代内存过大每次fullgc时 阅读全文
posted @ 2020-12-22 09:45 link_ed 阅读(99) 评论(0) 推荐(0) 编辑
摘要: jdk安装包bin目录下的.exe 命令行工具都是依赖于tools.jar 命令行工具 jps 列出当前运行的jvm进程 usage: jps [-help] jps [-q] [-mlvV] [<hostid>] Definitions: <hostid>: <hostname>[:<port>] 阅读全文
posted @ 2020-12-22 09:43 link_ed 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 内存分配策略 优先分配到Eden -XX:+UseSerialGc 指定SerialGc垃圾收集器 jdk1.7 默认垃圾收集器Parallel Scavenge(新生代)+Parallel Old(老年代) jdk1.8 默认垃圾收集器Parallel Scavenge(新生代)+Parallel 阅读全文
posted @ 2020-12-22 09:38 link_ed 阅读(70) 评论(0) 推荐(0) 编辑