虚拟机 - 技术教程文章

Android_对android虚拟机的理解,包括内存管理机制垃圾回收机制。dalvik和art区别

虚拟机很小,空间很小,谈谈移动设备的虚拟机的大小限制 16M ,谈谈加载图片的时候怎么处理大图片的,outmemoryExceptionBitmapFactory.option 垃圾回收,没有引用的对象,在某个时刻会被系统gc掉 .Dalvik和标准Java虚拟机(JVM)首要差别Dalvik 基于寄存器,而 JVM 基于栈。基于寄存器的虚拟机对于编译后变大的程序来说,在它们执行的时候,花费的时间更短。Dalvik和Java运行环境的区别1:Dalvik主要是完成对象生命周期管理,堆栈管理,线...

VMM创建虚拟机模板按钮不可用【图】

在部署完SCVMM之后,有些朋友可能就迫不及待的想建个虚拟机模板玩玩,但是却发现创建虚拟机模板的按钮是灰色的,不可用。如下图650) this.width=650;" title="image" src="/upload/getfiles/default/2022/11/15/20221115111832923.jpg" border="0" height="347" />创建VM模板不可用,一般是操作系统的信息是“未知”650) this.width=650;" title="image" src="/upload/getfiles/default/2022/11/15/20221115111833319.jpg" borde...

kvm 虚拟机 实用工具笔记(方便查看ip 磁盘复制和修改文件等)

kvm 实用工具总结:1. libguestfs-tools直接宿主机安装:yum -y install libguestfs-toolsvirt-df xxx 相当于df命令virt-cat xxx 相当远cat命令virt-edit xxx 相当于vi命令virt-ls xxx 相当于ls命令参考:http://www.361way.com/kvm-libguestfs-tools/3175.html2. qemu-guest-agent centos7.1如果虚拟机可以关闭: virsh shutdown rhel7 virsh edit rhel7 在device段增加: <channel type=‘unix‘> <target type=‘virtio‘ na...

java虚拟机和Dalvik虚拟机的区别【图】

java虚拟机和Dalvik虚拟机的区别: java虚拟机Dalvik虚拟机 java虚拟机基于栈。 基于栈的机器必须使用指令来载入和操作栈上数据,所需指令更多更多dalvik虚拟机是基于寄存器的 java虚拟机运行的是java字节码。(java类会被编译成一个或多个字节码.class文件,打包到.jar文件中,java虚拟机从相应的.class文件和.jar文件中获取相应的字节码) Dalvik运行的是自定义的.dex字节码格式。(java类被编译成.class文件后,会通过一个dx工具...

从虚拟机指令执行的角度分析JAVA中多态的实现原理【代码】【图】

从虚拟机指令执行的角度分析JAVA中多态的实现原理前几天突然被一个“家伙”问了几个问题,其中一个是:JAVA中的多态的实现原理是什么?我一想,这肯定不是从语法的角度来阐释多态吧,隐隐约约地记得是与Class文件格式中的方法表有关,但是不知道虚拟机在执行的时候,是如何选择正确的方法来执行的了。so,趁着周末,把压箱底的《深入理解Java虚拟机》拿出来,重新看了下第6、7、8章中的内容,梳理一下:从我们用开发工具(Intellij ...

虚拟机linux 远程访问 windows7【图】

1: dev/cdrom 临时挂载到 /mnt 按df -h 查看挂载状态2:设置自动挂载#vim /etc/fstab 编辑3:进去vim文本编辑 按o 到最下行开始编辑4:输入 /dev/sro /mnt iso9660 defaults 0 05: 打开etc文件下的yum.repos.drm -rf * 删除该目录下的所有文件、目录创建新的文件abc.repo 并打开编辑6:在abc.repo 文件内编辑如下7:输入:wq 保存退出8:安装rpm安装包 用命令rpm -ivh /mnt/Package/libao-0.8.8-...

JVM虚拟机(四):JVM 垃圾回收机制概念及其算法【代码】【图】

垃圾回收概念和其算法谈到垃圾回收(Garbage Collection)GC,需要先澄清什么是垃圾,类比日常生活中的垃圾,我们会把他们丢入垃圾箱,然后倒掉。GC中的垃圾,特指存于内存中、不会再被使用的对象,儿回收就是相当于把垃圾“倒掉”。垃圾回收有很多中算法:如 引用计数法、标记压缩法、复制算法、分代、分区的思想。垃圾收集算法引用计数法:就是个比较古老而经典的垃圾收集算法,其核心就是在对象被其他所引用计数器加1,而当引用时...

我的《实战java虚拟机》终于上市了【图】

Clojure、Scala等JVM上的新语言却层出不穷,这又进一步激发了人们继续以JVM为平台搭建新兴大数据系统的热情。而《实战Java虚拟机》一书就是为深入JVM学习做准备的。 历时一年反复写作和各种读者在课程中的提问,整理过称的辛苦和困难遇到很多,但好在终于出版了。本书赠送51CTO中JVM课程的50元优惠券,大家看视频的同时,也可以辅助图书进行深入了解每个技术点。650) this.width=650;" src="/upload/getfiles/default/2022/11/14...

使用虚拟机挂载盘权限问题

我有些项目是用virtualBox搭建的虚拟器来开发的,最近才遇到挂载盘文件权限问题。进去挂载盘目录下,你会发现,无论怎么修改文件权限,里面的文件还是root所有者,vboxsf 权限组,770权限,如果文件有些是需要修改权限的,这样程序会出错,但是文件权限又改不了。这个时候你可以将程序用户加入vboxsf权限组,问题就解决了。 usermod -a -G vboxsf www(程序用户) 原文:http://www.cnblogs.com/littlestart/p/6237928.html

从零开始在虚拟机中搭建一个4个节点的CentOS集群(三)-----将一台虚拟机复制成4台虚拟机【代码】【图】

在4个虚拟机中安装CentOS集群这里选择使用VirtualBox的复制功能来完成其他 3 台机器的安装。(复制需要先关闭被复制的机器)机器分布hostNameipcentos01192.168.0.111centos02192.168.0.112centos03192.168.0.113centos04192.168.0.1141.复制2.修改每台机器的静态ipvi /etc/sysconfig/network-scripts/ifcfg-enp0s33.修改每台机器的hostName# 手动修改该文件中的主机名 vi /etc/sysconfig/network HOSTNAME=XXXX# 修改 hosts 中的 ...

VirtualBox安装及使用说明和虚拟机安装XP系统图文教程

virtualbox是一款开源的虚拟机软件,它能够支持多种操作系统的安装如:Solaris、Windows、DOS、Linux、OS/2 Warp、BSD等系统作为client操作系统,而且最新版本号:VirtualBox-4.1.18-78361(2012-6-20公布)还支持Android 4.0系统,更大程度的给予使用者们便利,它的功能十分强大且易用,相对其它虚拟机软件来说占用内存较小,值得下载使用。本文就为大家介绍一下VirtualBox安装及使用说明和虚拟机安装XP系统图文教程。 一、Virtua...

KVM管理虚拟机(2)【代码】

利用virt-install 安装一个新虚拟机:virt-install --connect qemu:///system --virt-type kvm --name centos6 --ram 1024 --vcpus 2 --network bridge=br0 --disk path=/VMs/images/centos6.img,size=20,sparse --pxe --os-variant rhel6 --force参数讲解:--connect 指定连接至一个非默认的hypervisor--virt-type 要使用的管理程序名称(kvm、qemu、xen等等)--name 指定客户端事件名称--ram 指定虚拟内存大小(默认单位为MB)--v...

在虚拟机环境(CentOS7系统)下将kubernetes中部署服务成功,但在虚拟机外部无法访问到服务【代码】【图】

在CentOS7环境下,kubernetes单机版环境,成功部署一个服务,在虚拟机中访问服务没问题,下面这样:curl http://172.27.73.26:8888/eureka-server/default/master {"name":"eureka-server","profiles":["default"],"label":"master","version":null,"state":null,"propertySources":[{"name":"eureka-server-default","source":{"server.port":"${SERVER_PORT:8761}","eureka.instance.preferIpAddress":"true","eureka.instance.l...

使用Azure门户从虚拟机分离数据磁盘【图】

之前我们介绍过使用Azure门户为虚拟机添加数据磁盘。当不再需要附加到虚拟机的数据磁盘时,我们也可以轻松地分离它。 这会从虚拟机中删除磁盘,但不会从存储中删除它。如果希望再次使用磁盘上的现有数据,可以将其重新附加到相同的虚拟机或另一个虚拟机。要分离数据磁盘,直接在Azure门户中就可以操作。首先登录到Azure门户,在左侧菜单栏中选择虚拟机,在虚拟机中选择需要分离数据磁盘的虚拟机,点击磁盘,然后点击编辑,如下图所...

虚拟机环境Centos如何上网【图】

虚拟机环境Centos如何上网----------by ruffianfish.痞子鱼因为我是用的虚拟机的环境,所以一切操作角度从虚拟机出发。虚拟机环境的优点:适合新手学习linux永远不要怕把系统搞坏,因为虚拟机里有个快照功能,这是一个神一样的功能,可以把系统环境保存到一个时间段,当你的系统出现问题,就可以返回到这个时间点因为后面的教程需要用到网络,所以来配置下网络1.我们现在查看下我们的网络情况,因为我们以后是需要用到网络的查看下...

常用的虚拟机监控、检测工具【图】

1.前言  本篇文章记录一下常见的虚拟机性能监控和排查工具的作用和使用方法。2.JDK命令行工具  jdk的bin目录下有着很多exe可执行程序,我们常用的就是java、javac运行和编译命令了。但是还有很多其它用于检测虚拟机运行状态的命令。本章对其进行介绍,学习如何使用。这些工具体积一般很小,原因在于其真正的实现是在jdk/lib/tools.jar中。2.1 jps  这个工具的作用是否简单,就是用来检测在本系统中运行的HotSpot的进程实例,...

虚拟机中docker安装mysql远程无法访问解决方法【代码】【图】

#docker安装mysql docker pull mysql docker run --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123 -d mysql这个时候navicat远程连接mysql的时候,会提示以下错误:解决方法:1、在虚拟机中登录到mysql容器,然后进入mysqldocker exec -it mysql /bin/bash mysql -uroot -p Enter password: mysql> select host,user,plugin,authentication_string from mysql.user;备注:host为 % 表示不限制ip localhost表示本机使用 ...

VM虚拟机开启时提示“无法连接MKS:套接字连接尝试次数太多;正在放弃”解决办法【图】

1.VM开启提示:2.解决办法(1)先关闭出问题的虚拟机(2)打开【我的电脑】——【管理】——【服务和应用程序】——【服务】找到【VM】开头的服务将为开启的全部开启,如下图所示: 原文:https://www.cnblogs.com/itwlp/p/9375123.html

虚拟机异构环境迁移

现在是老环境的虚拟机需要往新环境迁移:面临的问题:1、新老环境存储不同2、部分代码不同3、网络环境不同4、win2003的虚拟机老环境没有装virtio驱动,新环境用的virtio解决方案:现在迁移的总体方案1、在新环境各个用户的账号下创建相同规格(或者不同规格)虚拟机,这样可以保证数据库数据是没有问题的,也不会多出垃圾数据;创建相同的卷;需要记录虚拟机uuid和卷uuid,以下称为:{new_instance_uuid}和{new_volume_uuid}如果规...

Android 虚拟机学习总结Dalvik虚拟机介绍

1、Dalvik虚拟机与Java虚拟机的最显著区别是它们分别具有不同的类文件格式以及指令集。Dalvik虚拟机使用的是dex(DalvikExecutable)格式的类文件,而Java虚拟机使用的是class格式的类文件。一个dex文件可以包含若干个类,而一个class文件只包括一个类。由于一个dex文件可以包含若干个类,因此它就可以将各个类中重复的字符串和其它常数只保存一次,从而节省了空间,这样就适合在内存和处理器速度有限的手机系统中使用。一般来说,...

宿主机共享文件夹给不同Linux虚拟机的方法

一、Windows/Linux宿主机共享文件夹给VMWare中的Linux虚拟机1、能安装vmware tools1)在vmware的ubuntu中安装vmware tools2)在vmware中开启共享文件夹3)进入ubuntu,/mnt/hgfs即可访问宿主机的共享文件夹 2、有的阉割版的vmware不带vmware tools,则采用下面的方法1)安装open-vm-dkms$ sudo apt-get install open-vm-dkms2)挂载$ sudo mount -t vmhgfs .host:/ /mnt/hgfs 二Windows/Linux宿主机共享文件夹给VirtualBox中的Linu...

虚拟机nat能ping通内外,无法访问外网

环境: centos ip 192.168.188.3VMnet 8 网卡ip 192.168.188.1虚拟网络网卡 网关 192.168.188.1ping 192.168.188.1 可以ping通,ping外网不通;解决方案VMnet 8 只是相当于 网络中的一个邻居,而不是网关;所以:修改虚拟网络网关为 192.168.188.254在centos 中修改 网关指向 192.168.188.254原文:http://blog.51cto.com/shuzonglu/2130503

在虚拟机中安装CentOS7【代码】【图】

下面简单整理一下在自己电脑上搭建CentOS环境的内容。安装前需要下载:1.centos镜像 下载地址:http://mirrors.163.com/centos/7/isos/x86_64/这里我下载的是2.VMware workstation 10http://www.xp510.com/xiazai/ossoft/desktools/22610.html安装需要的密钥:MA491-6NL5Q-AZAM0-ZH0N2-AAJ5A5A6F6-88247-XZH59-HL0Q6-8CD2VHF6QX-20187-2Z391-522NH-9AELT5F29M-48312-8ZDF9-A8A5K-2AM0Z安装流程参考:http://jingyan.baidu.com/arti...

JVM虚拟机选项:Xms Xmx PermSize MaxPermSize区别(转)【代码】

java虽然是自动回收内存,但是应用程序,尤其服务器程序最好根据业务情况指明内存分配限制。否则可能导致应用程序宕掉。举例说明含义:-Xms128m表示JVM Heap(堆内存)最小尺寸128MB,初始分配-Xmx512m表示JVM Heap(堆内存)最大允许的尺寸256MB,按需分配。说明:如果-Xmx不指定或者指定偏小,应用可能会导致java.lang.OutOfMemory错误,此错误来自JVM不是Throwable的,无法用try...catch捕捉。PermSize和MaxPermSize指明虚拟机为jav...

虚拟机中安装mysql,远程连接数据库慢【代码】【图】

解决方法:在my.ini或者/etc/my.cnf下面添加skip-name-resolve如下是linux,打开my.cnf添加skip-name-resolve并保存,重启服务vim /etc/my.cnf #添加以下代码到[mysqld][mysqld] skip-name-resolve#重启服务service mysql restart 原文:https://www.cnblogs.com/passedbylove/p/12909587.html

使用ESXI客户端安装虚拟机【图】

1.安装时选择硬盘为LVM(这里也可选逻辑卷为后续扩容方便)2.分区按照Linux的ext4分区进行分配根目录、boot分区和swap交换分区,剩余空间全给LVM3.这里选择剩余空间全给LVM4.创建对应卷组vg1和逻辑卷lv15.选择基本服务器,左下角选customize now进行自定义配置6.加入一些Web服务器常用服务点Next即可完成你的系统安装了原文:https://blog.51cto.com/12972548/2473497

Linux虚拟机配至本地yum源

刚开始使用Linux,自己构建了一个Linux虚拟机之后,在使用yum install的时候,经常是出错,提示连接不上。一直以为是自己构建的虚拟机的问题,后来在网上查找了一些资料,才发现:需要配置本地yum源。下面是网上的重复不断的博客,我这里也为了备忘将内容引用一下。-----------------虚拟机中的linux有时不能连接上外网,为了能够方便的安装各种packages,于是调查配置本地yum安装的方法。首先,将作为源的iso的挂载到系统上。 代码...

《631962 揭秘Java虚拟机-JVM设计原理与实现.pdf【第7章】》 ——Java栈桢【图】

除入参之外。。。 callee 复用 caller 的入参,所以先把 return address 挪走(到a寄存器),然后往上跳到第一个参数的位置一定要注意栈是开口向下(从高地址到低地址) 初始化,用 push 而不用 sub 2.操作数栈操作数栈(Operand Stack)也常称为操作栈,它是一个后入先出栈(LIFO)。同局部变量表一样,操作数栈的最大深度也在编译的时候写入到方法的Code属性的max_stacks数据项中。操作数栈的每一个元素...

Java虚拟机工作原理具体解释

一、类载入器首先来看一下java程序的运行过程。 从这个框图非常easy大体上了解java程序工作原理。首先,你写好java代码,保存到硬盘其中。然后你在命令行中输入javac YourClassName.java此时,你的java代码就被编译成字节码(.class).假设你是在Eclipse IDE或者其它开发工具中,你保存代码的时候,开发工具已经帮你完毕了上述的编译工作,因此你能够在相应的文件夹下看到class文件。此时的class文件依旧是...

深入理解java虚拟机——读后笔记(一)(内存部分)

一、内存区域的划分(运行时数据区域)  ①程序计数器:程序计数器是一块较小的内存区域,字节码解释器通过改变此计数器的值来选取下一条要执行的字节码指令,可以看成是当前线程执行字节码的行号指示器。线程执行时的分支、循环、跳转、异常处理、线程恢复等功能都依赖它。每条线程拥有独立的程序计数器,互不影响,独立储存。此区域没有OutOfMemory。  ②Java虚拟机栈:虚拟机栈也是线程私有内存区域,生命周期和线程相同。每...