虚拟机

Vmware文件夹中,各文件的作用

人盡茶涼 提交于 2020-02-25 02:00:32
Vmware中各文件的作用: .log Vmware的log文件,通常与vmx文件同一个文件夹内。软件出错的时候,可以查看此文件。 .nvram 存储虚拟机的bios信息 .vmdk 虚拟磁盘文件,存储了虚拟机的硬盘上的信息。如果设置虚拟机的磁盘被设置成2G的块,则随着虚拟机文件变多,vmdk文件也会增加。如果未进行此设置,就一个vmdk文件。 如果虚拟机直接连接到物理磁盘上,此文件存储了虚拟机可以访问的分区的信息。 如果设置了snapshots(快照),会有类似于<diskname>-<###>.vmdk这样的文件。存储了快照的信息。 .vmem 虚拟机的页面文件。仅仅在虚拟机运行的时候会存在。 如果有快照,还会有其它的此类文件。 .vmsd 存储快照信息和数据的核心文件。 .vmsn 快照状态文件,存储了快照时的状态信息。 .vmss 挂起的状态文件,存储挂起的虚拟机的状态信息。 .vmtm Team数据的配置文件,可以用文本编辑器打开看下。 .vmx 关键配置文件,存储了创建虚拟机时的配置信息。可以用文本编辑器打开看下。 .vmxf 为team中虚拟机而存在的辅助配置文件。当一个虚拟机从team中移除的时候,此文件还会存在。 来源: https://www.cnblogs.com/ParanoiaApe/p/8299059.html

启动虚拟机黑屏怎么办???

蹲街弑〆低调 提交于 2020-02-25 01:05:47
小伙伴们大家好,你们是否在启动虚拟机出现黑屏状况呢?并且提示这种错误... 今天我就分享下我处理这种情况的方法... 首先,我们找到上面的命令行,打开编辑框 找到首选项,并且打开,找到设备,勾选启用虚拟打印机,最后确定就ok了。 来源: https://www.cnblogs.com/cxw8900/p/12359568.html

深入JVM-Class装载系统

天涯浪子 提交于 2020-02-24 23:14:43
一、Class文件的装载过程 Class类型通常以文件的形式存在(当然,任何二进制流都可以是Class类型),只有被Java虚拟机装载的Class类型才能在程序中使用。系统状态Class类型可以分为加载、连接和初始化3个步骤。其中,连接又可分为验证、准备和解析3步。 1.1 类装载的条件 Class只有在必须要使用的时候才会被装载,Java虚拟机不会无条件的装载Class类型。Java虚拟机规定,一个类或接口在初次使用前,必须要进行初始化。这里指的“使用”,是指主动使用,主动使用只有下列几种情况: 创建一个类的实例,比如使用new关键字,或者通过反射、克隆、反序列化。 使用类的静态方法时,即当使用了字节码invokestatic指令。 使用类或接口的静态字段(final常量除外),比如,使用getstatic或者putstatic指令。 使用java.lang.reflect包中的方法反射类的方法时。 当初始化子类时,要求先初始化父类。 作为启动虚拟机,含义main()方法的那个类。 除了以上的情况属于主动使用,其他的情况均属于被动使用。被动使用不会引起类的初始化。 主动引用的例子: public class Parent { static{ System.out.println("Parent init"); } } public class Child extends

PowerShell 在hyper-v中创建虚拟机

孤人 提交于 2020-02-24 21:13:57
# This script configures the Hyper-V machines used for the 50331 Course. # PowerShell 3.0 and Windows Server 2012 or Windows 8 Pro are required to perform this setup # The C:\ Drive should have at least 200GB of free space available. # All the files on the 50331 Student CD should be copied to C:\Labfiles before performing this setup. # Variables $CLI1 = "test_client" # Name of VM running Client Operating System $SRV1 = "test_server" # Name of VM running Server Operating System $CRAM = 4GB # RAM assigned to Client Operating System $SRAM = 2GB # RAM assigned to Server Operating System $CLI1VHD =

[看书笔记]《深入java虚拟机》——java体系结构(二)

与世无争的帅哥 提交于 2020-02-24 17:35:17
java虚拟机的三种含义: - 抽象的规范 - 一个具体的实现 - 一个运行中的虚拟机实例 ---------------------java虚拟机的生命周期: java虚拟机实例的天职就是负责运行一个java程序。 启动一个java程序,一个虚拟机实例诞生了;程序关闭退出,虚拟机消亡。 有几个java程序正在运行,就有几个java虚拟机实例。每个java程序都运行在自己的java虚拟机实例中。 java虚拟机中有两种线程: - 守护线程:由虚拟机自己使用的(执行垃圾收集线程),java程序也可以把任何线程标记为守护线程。 - 非守护线程:main()这种。 非守护线程都终止时,虚拟机实例才自动退出。(也可以调用Runtime或System的exit()方法退出程序)。 ---------------------java虚拟机的体系结构: 见同目录第五章.Java虚拟机-体系结构图! 方法区和堆是该虚拟机实例的所有线程共享的。 当虚拟机装载一个class文件时,他会从这个class文件包含的二进制数据中解析类型信息,然后把这些类型信息放到方法区中。 当程序运行时,虚拟机会把所有该程序在运行时创建的对象都放到堆中。 每个新线程被创建时,他都将得到它自己的PC寄存器以及一个java栈(不是所有线程共享)。 java虚拟机为每个线程创建内存区,这些内存区域是私有的

理解Android虚拟机体系结构

社会主义新天地 提交于 2020-02-24 17:32:10
1 什么是Dalvik虚拟机   Dalvik是Google公司自己设计用于Android平台的Java虚拟机,它是Android平台的重要组成部分,支持dex格式(Dalvik Executable)的Java应用程序的运行。dex格式是专门为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。Google对其进行了特定的优化,使得Dalvik具有高效、简洁、节省资源的特点。从Android系统架构图知,Dalvik虚拟机运行在Android的运行时库层。 2 Dalvik虚拟机的功能   Dalvik作为面向Linux、为嵌入式操作系统设计的虚拟机,主要负责完成对象生命周期管理、堆栈管理、线程管理、安全和异常管理,以及垃圾回收等。Dalvik充分利用Linux进程管理的特定,对其进行了面向对象的设计,使得可以同时运行多个进程,而传统的Java程序通常只能运行一个进程,这也是为什么Android不采用JVM的原因。Dalvik为了达到优化的目的,底层的操作大多和系统内核相关,或者直接调用内核接口。另外,Dalvik早期并没有JIT编译器,直到Android2.2才加入了对JIT的技术支持。 3 Dalvik虚拟机和Java虚拟机的区别   本质上,Dalvik也是一个Java虚拟机。但它特别之处在于没有使用JVM规范。大多数Java虚拟机都是基于栈的结构(详情请参考:

深入理解JAVA虚拟机JVM

不打扰是莪最后的温柔 提交于 2020-02-24 16:47:38
深入理解JAVA虚拟机JVM Java 虚拟机(Java virtual machine,JVM)是运行 Java 程序必不可少的机制。java之所以能实现一次编写到处执行,也就是因为jVM。 原理: 编译后的 Java 程序指令并不直接在硬件系统的 CPU 上执行,而是由 JVM 执行。JVM抹平了与具体平台相关的信息,使Java语言编译程序只需要生成在JVM上运行的目标字节码(.class),就可以在多种平台上不加修改地运行。Java 虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。因此实现了java平台无关性。它是 Java 程序能在多平台间进行无缝移植的可靠保证,同时也是 Java 程序的安全检验引擎(还进行安全检查)。 JVM 是 编译后的 Java 程序(.class文件)和硬件系统之间的接口 ( 编译后:javac 是收录于 JDK 中的 Java 语言编译器。该工具可以将后缀名为. java 的源文件编译为后缀名为. class 的可以运行于 Java 虚拟机的字节码。) JVM的工作结构大致如下: JVM结构浅显了解: java开发人员写好的文件,都是.java文件。如果是想要被jvm加载必须要先经过编译为字节码文件。在经过调用javac编译好后生成了java字节码文件(.class)。然后才能被jvm加载。 在生成了class文件之后

Docker基本概念

霸气de小男生 提交于 2020-02-24 14:38:49
container 容器。可以把每个 container 看做是一个独立的主机。 container 的创建通常有一个 image 作为其模板。类比成虚拟机的话可以理解为 image 就是虚拟机的镜像,而 container 就是一个个正在运行的虚拟机。一个虚拟机镜像可以创建出多个运行的虚拟主机且相互独立。 注意:container 一旦创建如果没有用 rm 命令移除,将会一直存在。所以用完后记得删除哦。 image 镜像。image 相当于 container 的模板,container 创建后里面有什么软件完全取决于它使用什么 image 。image 可以通过 container 创建(相当于把此时 container 的状态保存成快照),也可以通过 Dockerfile (一个文本文件,里面使用 docker 规定的一些写法)来创建。其中通过 Dockerfile 创建的方法能让环境配置和代码一起被版本库一起管理。 registry 存放镜像的仓库。只要能连接到 registry 每个人都可以很方便地通过 pull 命令从仓库中获取镜像。docker 默认使用的仓库是 docker hub ,国内可以使用 DaoCloud 来建立 Mirror 连接到 docker hub,进而加快获取 image 的速度。 boot2docker 一个轻量级 linux 虚拟机

Spring Boot 应用部署

痞子三分冷 提交于 2020-02-24 13:28:37
Spring Boot 应用部署 1、与虚拟机的交互 ssh root@192.168.199.205 进入虚拟机 scp target/wechat-sell.jar root@192.168.199.205:/opt/javaapps 将打包后的jar传到虚拟机指定目录 2、运行问题 端口占用: ​ 使用== netstat -alnp | grep 8080 == 或== lsof -i:8080 ==查看对应占用该端口的进程 ​ 使用kill -9 进程id 杀掉该进程即可 后台运行: ​ 将后台运行命令写入shell脚本中: vim start.sh ​ 写入命令 #!/bin/sh nohup java -jar -Dspring.profiles.active = prod wechat-sell.jar > /dev/null 2 > & 1 & ​ 执行: bash start.sh 即可后台运行 ​ 查看后台运行情况: ps -ef |grep wechat-sell.jar ​ 其中命令使用了多环境: -Dspring.profiles.active=prod ,在工程中配置如下: Application.yml: 默认dev环境 spring : profiles : active : dev 来源: CSDN 作者: JachinDo 链接: https:

JVM如何判断对象能否被回收

十年热恋 提交于 2020-02-24 10:53:45
•写在前面 说起Java和C++,很容易想到让人疯狂的指针,Java使用了内存动态分配和垃圾回收技术,让我们从C++的各种指针问题中摆脱出来,更加专心于业务逻辑,不过如果我们需要深入了解java的JVM相关原理,我们必须要面对这些东西,深入了解JVM在内存动态分配和垃圾回收技术的原理知识,这篇文章就是来做一个先导,在jvm进行垃圾回收之前,它必须要知道回收的对象是否已“死”,这样才能保证程序的正常稳定。 •对象的创建 我们将回收对象前,先讲讲在虚拟机上,对象是怎么被创建的。在我们编写代码的角度(语言层面)来看,我们创建一个对象实例,只需要使用new关键词就完事儿了,很简单,不过你享受的简单是因为虚拟机帮你承受了所有繁琐的工作,那虚拟机是怎么工作创建一个对象的呢? 当虚拟机遇到new指令时,首先会去检查这个指令的参数是否能在常量池中定位到一个类的符号引用(没有类,创建个锤子的对象),并且检查这个符号引用代表的类是否已被加载、解析和初始化过,如果没有,那必须要执行相应的类加载过程。这是第一步,在类加载检查过后,接下来虚拟机将为新生对象分配内存,对象所需的内存大小在类加载完成后便已经完全确定了(这里插一句,如何确定的?这就和对象的内存布局有关了,对象在内存中的布局可以分为3个区域,分别是对象头、实例数据和对齐填充,对象头里面存的是对象自身的运行时数据,比如哈希码、GC分代年龄、锁状态