JVM 虚拟机(整体架构、类文件结构)我来了~~~ 虚拟机 1.1 发展历程 1.1.1 java 往事 Java 诞生在一群懒惰、急躁而傲慢的程序天才之中。 1990 年 12 月,Sun 的工程师 Patrick Naughton 被当时糟糕的 Sun C++ 工具折磨的快疯了。他大声抱
概述 虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Cl
网卡虚拟化 Macvlan https://www.jianshu.com/p/ffd9675f6f41 拓扑结构 image.png 交换机配置 # ip link add name br0 type bridge # ip link add name veth11 type veth peer
内存虚拟内存Linux 采用的是虚拟内存机制,每个进程都有自己的虚拟内存地址空间,仅当实际使用内存的时候才会映射到物理内存地址之上。这种设计提供了物理内存的超额分配,Linux 中的内存管理机制包括页换出守护进程(page out daemon)、物理换页设备(swap device),以及
环境 宿主机: IP: 10.110.136.43 版本:Kylin Linux Advanced Server release V10 (Sword) KVM vm: IP: 10.110.136.59 版本:UnionTech OS Server 20 故障描述 kvm虚拟机136.59可以被其
专注虚拟机与编译器研究 https://www.cnblogs.com/mazhimazhi/p/15796256.html 即时编译(Just In Time,JIT)的运行模式有两种:client模式(C1编译器)和server模式(C2编译器)。这两种模式采用的编译器是不一样的,client模
https://www.cnblogs.com/xiaojiesir/p/15593092.html 对象的创建 一个对象创建的时候,到底是在堆上分配,还是在栈上分配呢?这和两个方面有关:对象的类型和在 Java 类中存在的位置。 Java 的对象可以分为基本数据类型和普通对象。 对于普通对象来说,
一. 大页(HugePages)概念 Hugepage的引入二. hugepages相关概念三.Regular Pages 与 HugePages a、Regular Pages b、Huge Pages四. hugepage 优点五.调优方法 5.1 在Host侧查看各个numa节点上的大页分配情
一.网络流量上不去二.中断绑定 2.1 关闭中断平衡守护进程 2.2 脱离中断平衡守护进程 2.3 手动设置中断的CPU亲和性三. 总结 一.网络流量上不去 在Linux的网络调优方面,如果你发现网络流量上不去,那么有一个方面需要去查一下: 网卡处理网络请求的中断是否被绑定到单个CPU(或者说跟处理
一. 虚拟化技术二. 虚拟化技术的比较 2.1 全虚拟化和二进制重写(Pure virtualization and binary rewriting) 2.2 半虚拟化( Para-virtualization) 2.3 虚拟化环境中的虚拟内存(Virtual memory in virtuali
https://www.dinghui.org/vmware-vsphere-upgrade.html 最近两年做了蛮多vSphere升级项目,几点思路,做一下汇总整理如下供参考: 一、升级必要性 1、软件生命周期:在评估软件升级必要性分析中,vSphere软件生命周期是重点考虑的问题; 生命周期查
# ESXi虚拟化的坑-细微区别下虚拟机性能差异巨大 ## 背景 ``` 周末在公司无偿加班. 同组的小伙伴周一有一个需求, 我想着周六乘着机器压力不大进行一下虚拟机的clone 但是截止到晚上快十点都没有完全Clone完. 我感觉非常不对. 然后突然想是不是硬件的bug导致性能有差异. 想着最近总
设置虚拟机不同的带宽来进行模拟压测 kafka数据压测 1、公司生产kafka集群硬盘:单台500G、共3台、日志保留7天。 1.1 版本:1.1.0 2、压测kafka。 2.1 使用kafka自带压测工具:bin/kafka-producer-perf-test.sh 命令参数解释: --num
背景: 局域网中有两台服务器proxmox进行了虚拟化,跑一些测试应用。今天正好想要安装一下clickhouse跑一下。安装前准备: 测试服务器是否支持sse 4.2指令集…如下 [root@slave1 app]# grep -q sse4_2 /proc/cpuinfo && echo "SSE
目录 目录 摘要 下载镜像 安装系统 创建虚拟机 安装系统 检查网络 开启 SSH 远程登录功能 使用 windows powershell 连接终端 Windows Terminal 添加快速访问终端 端口映射 防火墙设置 外网访问 Tailscale 安装与使用 自建中继服务器 共享主机文件夹
## 一:背景 ### 1. 讲故事 我发现有很多的 .NET程序员 写了很多年的代码都没弄清楚什么是 `虚拟地址`,更不用谈什么是 `物理地址` 以及Windows是如何实现地址映射的了?这一篇我们就来聊一聊这两者之间的联系。 ## 二:地址映射研究 ### 1. 找虚拟地址 怎么去找 `虚拟地址
我们之前使用的是操作系统平台的线程,就称之为“系统线程”吧。虚拟线程是JDK维护的,原理跟WebFlux的底层实现差不多,都是工作线程分离。 要使用虚拟线程,需要使用JDK21以上,包括21。 虚拟线程可以创建很多很多 系统线程不能轻易创建太多,我们一直被教导创建线程是很重的活动。 for (int
由于工作需要,经常需要远程客户的服务器,但是并不是所有服务器都能开外网端口,使用向日葵等软件终究还是不太方便,于是找了很多工具,包括zerotier 等,但是由于服务器在国外等有时候还不同, 于是开始自己想办法研究一个属于自己的组网工具,最后找到snltty大佬的 https://github.co
一、Objects的创建 依据已有的class CPoint ,我们可以产生一个或多个object(对象),或者说是产生一个instance(实体): CPoint aPoint(7.2); // aPoint._x 初始值为 7.2 aPoint.x(5.3); // aPoint._x 现值为
如果函数名称都相同(也就是被overloaded),编译器在面对你的函数唤起动作时,究竟是如何确定调用哪个函数实体呢?事实上,编译器把所有同名的overloaded functions视为不同的函数,并且以特殊方式对它们的函数名称做了手脚,以四个Add()函数为例: 1 int Add(int a,