初识 Java 虚拟机
何为虚拟机
何为虚拟机,说白了就是工作在 PC 或者移动手机操作系统之上的一款软件,有的虚拟机能完整的虚拟某个操作系统的环境比如 VMWare,Parallels Desktop,让你能在 Mac 系统上使用 Windows,Windows 系统里面使用 Linux。而有的虚拟机呢,则用来解释执行某个计算机程序,让你无关它的底层实现,你只需要关注上层如何使用它提供的编程套件就好,正所谓:一次编译,到处运行,比如 Java 虚拟机。
继续阅读 »
原作者:kiwik
直接使用ISO镜像和没有ephemeral卷的规格创建虚拟机,创建成功,但是安装OS到写分区表的步骤失败,检测不到可用的disk device。
直接使用ISO镜像和有ephemeral卷的规格创建虚拟机,创建成功,安装OS成功,但是最后安装完成,OS提示弹出cdrom后重启,OpenStack没有弹出cdrom的接口,重启后,再次进入安装OS的界面。
直接使用ISO镜像和有ephemeral卷的规格创建虚拟机,创建成功,安装OS成功,然后通过nova image-create导出镜像成功,用这个镜像再次创建虚拟机,虚拟机启动后进入安装OS的界面。
通过qemu-img convert命令将iso格
继续阅读 »
简介
这是一个可以直接解释执行从ida pro里面提取出来的x86汇编代码的虚拟机。
非常精简,整体架构上不能跟那些成熟的虚拟机相比,主要目标是够用、能用、轻量就行,如果觉得代码架构设计的不是很好的话,也不用过于吐槽哈。。
虽然我还有写过两个比较成熟的虚拟机项目(jvm和avm),虽然架构上比这个更完善,更容易扩展,功能也更强大
但是毕竟是给公司写的,没法拿出来分享。。
背景
先说说,为什么要写这个东西。。
之前有段时间,我在用ida逆向分析某些程序的算法,并且要把它提取出来将其跨平台运行,这个时候我首先考虑到是ida的F5插件
毕竟这个可以直接反成c/c++代码,还是很强大的,基本上98%的x86汇编代码,我在通过
继续阅读 »
虚拟机上如果跑业务,启动时不可避免的要从外界获取一些信息,在OpenStack中,这些信息通常是,密钥信息, 网络信息,metadata, root密码,自定义文件等。这些信息获取来源有如下几种。
Config Drive
Nova可以配置为,将userdata和metadata信息写入一种特殊的配置驱动--config drive,当虚拟机启动时自动挂载,虚拟机可以从该驱动获取信息(比如虚拟机id,主机名或user data),当DHCP服务不可用时,通常使用Config Drive传递网络配置信息(IP地址,掩码,或者网关)。
继续阅读 »
TAP/TUN
TAP/TUN 是 Linux 内核实现的一对虚拟网络设备,TAP 工作在二层虚拟以太设备,TUN 工作在三层
基于 TAP 驱动,即可实现虚拟机 vNIC 的功能,虚拟机的每个 vNIC 都与一个 TAP 设备相连,vNIC 之于 TAP 就如同 NIC 之于 eth
继续阅读 »
在octavia中,实际的loadbalancer服务是由虚拟机提供,所以在虚拟机中需要运行服务与octavia通信,接收octavia发来的操作指令,配置网卡、路由以及haproxy和keepalived软件。
实际上,虚拟机里面会运行amphora-agent进程,对外提供REST API访问,如下所示:
继续阅读 »
判断对象已经死的方法:1.引用计数法 2根搜索算法
GC Roots:
1 虚拟机栈(栈帧中的本地变量表)中的引用对象。
2 方法区中的类静态属性引用的对象。
3 方法区中的常量引用的对象。
4 本地方法栈中JNI(即一般说的Native方法)的引用的对象。
四种引用:
1.强引用只要引用还存在,垃圾收集器永远不会回收掉被引用的对象
2.软引用(SoftReference)用来描述一些还有用,但并非必需的对象。系统将要发生内存溢出异常之前,把这些对象进行回收。
3.弱引用(WeakReference)下一次垃圾回收发生时就会回收
4.虚引用(Phant
继续阅读 »
使用 Samba 共享虚拟机文件夹
如果需要编译 Android 源码的同学应该了解在虚拟机中编译的痛苦。
所以今天尝试使用 Samba 共享虚拟机的文件夹到 Windows 中,方便开发和管理。
安装 samba
继续阅读 »
准备工作
安装 virt-install
```bash
yum install -y virt-install
```
ISO镜像安装虚拟机
在官方网站下载CentOS-7ISO镜像
使用qemu-img工具创建一个虚拟硬盘
bash
qemu-img create -f qcow2 /tmp/centos7.qcow2 10G
继续阅读 »
Java 虚拟机结构
根据 Java 虚拟机规范,Java 的基本结构可归纳为如图所示:
继续阅读 »