虚拟机

java虚拟机浅谈(磨砺营马剑威java)

↘锁芯ラ 提交于 2020-03-02 03:16:11
Java虚拟机(Java Virtual Machine)简称JVM Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。 什么是Java虚拟机 Java虚拟机(Java Virtual Machine简称JVM)是运行所有Java程序的抽象计算机,是Java语言的运行环境它是Java最具吸引力的特性之一。 Java虚拟机的特点 Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。 Java虚拟机的使用主体 Java虚拟机是Java语言底层实现的基础,对Java语言感兴趣的人都应对Java虚拟机有个大概的了解。这有助于理解Java语言的一些性质,也有助于使用Java语言。对于要在特定平台上实现Java虚拟机的软件人员

VMware vsphere 中创建虚拟机

北城余情 提交于 2020-03-02 00:14:43
1.选择资源池-->选择team10地址池,然后下一步 2.新建虚拟机 3.新建虚拟机->选择创建类型 4.新建虚拟机 ->选择名称和文件夹 5.新建虚拟机-> 选择计算机资源 6.新建虚拟机->选择存储 7.新建虚拟机 - > 选择兼容性 8.新建虚拟机 ->选择客户操作系统 9.新建虚拟机 ->自定义硬件 9.1自定义cpu->开启虚拟化功能 9.2自定义CD/DVD驱动器 9.3自定义cd/dvd驱动器 -> 加载镜像 9.4 单击完成后->开启重启后;需要挂载镜像 来源: CSDN 作者: 小正子 链接: https://blog.csdn.net/qq_27307175/article/details/104600142

JVM详解

◇◆丶佛笑我妖孽 提交于 2020-03-01 23:39:44
JVM详解 JVM详解 1、JVM 运行时数据区 2、方法区 3、堆内存: 4、虚拟机栈: 5、java程序运行过程(例子): 6、JVM 知识图谱: 1、JVM 运行时数据区 线程共享:所有线程能访问这块内存数据,随虚拟机或者GC而创建和销毁 线程独占:每个线程都会有它独立的空间,随线程生命周期而创建和销毁 2、方法区 作用:存储加载的类信息、常量、静态变量、JIT编译后的代码等数据。 GC:方法区存在垃圾回收,但是回收效率低 回收主要针对常量池的回收,和类型的卸载; 当方法区无法满足内存需求时,报OOM. 3、堆内存: 作用:唯一的目的就是存放对象实例,几乎所有的对象、数组都在这里存放。 对于大多数应用来说,堆是JVM管理的内存中最大的一块内存区域,也是最容易OOM的区域。 大多数JVM都将堆实现为大小可扩展的(通过-Xmx、-Xms控制)。 对象何时被回收:引用计数器算法(存在两个对象相互引用的问题) 可达性分析算法:主流的商用程序语言(java)都是通过可达性分析算法来判定对象是否存活, GC Roots可以是:虚拟机栈、方法中静态属性引用的对象、方法区中常量引用的对象,Native方法引用对象、 4、虚拟机栈: 线程中方法执行的模型,每个方法执行时,就会在虚拟机中创建一个栈帧,每个方法从调用到执行的过程,就对应着栈帧在虚拟机栈中从入栈到出栈的过程。 本地方法栈

Ubuntu 上 redis2.6.16部署

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-01 22:57:52
redis安装日志 1、问题一、vmvare中网络连接不上? 答:原因是主机上vmware的服务没有开启。开启服务后,在主机ping虚拟机不通, 将虚拟机的网卡切换到与主机同一网段上 2、Ubuntu中右键(桌面和文件夹)打开终端(定位到当前路径)? 答:需要安装辅助程序sudo apt-get install nautilus-open-terminal 3、虚拟机网络模式为Nat时,无法上网问题? 答:将Nat的网卡切换到自动获取模式便可以连接外网了,然后将主机的VMnet8的 IP配置和虚拟机在同一网段上 4、linux下删除文件夹rm -rf 文件夹路径、授权文件夹 chmod -R 777 文件夹路径、授权文件夹 ubuntu安装redis-2.6.16 1、 http://redis.io 下载redis-2.6.16.tar.gz 2、下载tcl 8.5 解压 tcl cd unix下 ./configure make make install wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz sudo tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/ cd /usr/local/tcl8.6.1/unix/ sudo ./configure sudo

使用packstack安装openstack-stein

假装没事ソ 提交于 2020-03-01 22:54:45
在centos7中安装开源openstack S版(openstack-stein),使用openstack-packstack工具一键allinone安装,即所有组件安装在一台机器上。 环境信息: 笔记本:win10、4U16G、SSD硬盘、intel core i5(支持硬件虚拟化VT-x) 虚拟化软件:VMware® Workstation 15 Player 虚拟机规格:2U8G ISO文件:CentOS-7-x86_64-DVD-1804.iso openstack版本:stein 安装步骤: 一、创建虚拟机安装centos7 1)在vmware workstation创建一台2U8G的虚拟机,通过CentOS-7-x86_64-DVD-1804.iso自动安装,vmware会自动安装一个桌面版linux,网络使用vmware的nat模式(只要能上网就行,用于openstack安装包)。 二、修改为静态IP、配置主机名、yum 1)进入操作系统 2)查看IP与网关 ip add route -n 3)修改静态IP并重启网络服务 vi /etc/sysconfig/network-scripts/ifcfg-ens33 修改与添加如下信息: BOOTPROTO="static" ONBOOT="yes" IPADDR=192.168.222.128 #ip

学习记录

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-01 21:54:03
这周我们第一次学习了云运维的知识,在第一次课上,老师先是跟我们讲了关于云运维的基本概念,教我们如何从零开始学习了解Linux。 在之后的第二次课上,我们学习了Linux的基础实操。先是新建虚拟机然后安装系统,再到磁盘分区最后是创建用户。在以上步骤做完后就进入到了虚拟机网络的配置。配置网络的模式有三种,分别为桥接模式,NAT模式以及仅主机模式。在配置网络中还要用到一些命令,“ip addr”用于查看ip地址,“ping”用于查看网络的连通性。还有一些常用的快捷键,“tab”补全命令,“Ctrl+C”结束当前命令。 来源: CSDN 作者: 13169171871 链接: https://blog.csdn.net/yjq1009/article/details/104599381

SR-IOV 简介

大憨熊 提交于 2020-03-01 20:55:19
SR-IOV 技术是一种基于硬件的虚拟化解决方案,可提高性能和可伸缩性。SR-IOV 标准允许在虚拟机之间高效共享 PCIe(Peripheral Component Interconnect Express,快速外设组件互连)设备,并且它是在硬件中实现的,可以获得能够与本机性能媲美的 I/O 性能。SR-IOV 规范定义了新的标准,根据该标准,创建的新设备可允许将虚拟机直接连接到 I/O 设备。 SR-IOV 规范由 PCI-SIG 在 http://www.pcisig.com 上进行定义和维护。 单个 I/O 资源可由许多虚拟机共享。共享的设备将提供专用的资源,并且还使用共享的通用资源。这样,每个虚拟机都可访问唯一的资源。因此,启用了 SR-IOV 并且具有适当的硬件和 OS 支持的 PCIe 设备(例如以太网端口)可以显示为多个单独的物理设备,每个都具有自己的 PCIe 配置空间。 下图介绍了针对 PCIe 硬件的 SR-IOV 技术。 图 21-1 SR-IOV 技术 SR-IOV 中的两种新功能类型是: 物理功能 (Physical Function, PF) 用于支持 SR-IOV 功能的 PCI 功能,如 SR-IOV 规范中定义。PF 包含 SR-IOV 功能结构,用于管理 SR-IOV 功能。PF 是全功能的 PCIe 功能,可以像其他任何 PCIe

Java中的异常处理

丶灬走出姿态 提交于 2020-03-01 20:20:28
一、JAVA中的异常体系 在 Java 中,所有的异常都有一个共同的祖先类 Throwable (可抛出)。 Throwable 指定代码中可用异常传播机制通过 Java 应用程序传输的任何问题的共性。Throwable 有两个重要的子类:Exception(异常)和 Error(错误) ,二者都是 Java 异常处理的重要子类,各自都包含大量子类。异常和错误的区别是: 异常能被程序本身可以处理,错误是无法处理。 二、Error和Exception的区别 Error 错误,一般是指虚拟机相关的问题,如系统崩溃、虚拟机出错误、动态链接失败等,这种错误无法恢复或不可能捕获,将导致应用程序中断。通常应用程序无法处理这些错误,因此应用程序不应该试图使用 catch 块来捕获 Error 对象。 由于编译器会对 Error 进行检查,不会强制要求程序员必须处理 Error,因此 Error 也被归入 unchecked 异常分类中(另外:运行时异常也属于 unchecked 异常)。 Exception 表示一种设计或实现问题。也就是说,程序员应该对这些情况进行考虑、并提供相应的处理。 三、运行时异常与一般异常的区别 Checked 异常体现了 Java 的设计哲学:没有完善错误处理的代码根本就不会被执行! 对于Checked异常的处理方式有两种 : A.当前方法明确知道如何处理该异常

初始JVM

a 夏天 提交于 2020-03-01 20:04:05
这几天面试,问了一些JVM的知识感觉答的不是很好,在此写JVM系列的文章(再次讨论的是java8的相关知识点),回顾一下相关知识,希望能够帮到看我文章的朋友,现在马上开始。 相关概念: 1.什么是jvm?(java virtual machine) Java虚拟机是抽象的计算机。像真正的计算机一样,它具有指令集并在运行时操作各种内存区域。 2.什么是运行时数据区? Java虚拟机定义了在程序执行期间使用的各种运行时数据区域。其中一些数据区域是在Java虚拟机启动时创建的,仅在Java虚拟机退出时才被销毁。其他数据区域是每个线程的。创建线程时创建每个线程的数据区域,并在线程退出时销毁每个数据区域。 The Java Virtual Machine defines various run-time data areas that areused during execution of a program. Some of these data areas are created on Java Virtual Machine start-up and are destroyed only whenthe Java Virtual Machine exits. Other data areas are per thread.Per-thread data areas are

第1章:Java语言简介

元气小坏坏 提交于 2020-03-01 19:24:08
Java应用方向 Java标准开发(JavaSE、Java SE):提供的是底层的支持,实现桌面程序的开发; Java嵌入式开发(J2ME、Java ME) Java企业开发(J2EE、Java EE):企业平台的搭建,现在主要开发的是互联网平台 Java语言特点 是一个行业内通用的技术实现标准: Java本身是一个半开源的产品,可以接触Java的底层,这样使得Java的开发更加透明 是一门面向对象的编程语言,这样使得Java语言语法结构更加方便 提供有方面的内存回收处理机制 一些编程语言需要明确的手工进行对象的回收与释放,否则程序将无法提供支持,但是Java可以提供自动的内存回收操作,这样处理会更加方便(这样牵扯到一些优化方面的内容) 避免了复杂的指针问题,而使用更加简单的引用来代替指针: 指针虽然是一种高效的内存处理模式,但是其需要有较强的逻辑分析,而Java在设计的时候充分考虑到了这一点,所以开发者直接利用引用就可以简化指针的处理,而引用也是在所有初学过程中最为难以理解的部分 Java是为数不多可以使用多线程编程的开发语言(多线程也是在Java开发之中最难以理解的部分,正确的多线程处理才是提升处理性能的核心) Java提供有高效的网络处理能力,可以基于NIO实现更加高效的数据传输处理 Java具有良好的可移植性,可以提升一个程序的使用范围 Java可移植性