虚拟机

运行时数据区域

你。 提交于 2020-03-05 08:19:37
1、方法区,堆 堆所有线程共享的内存,虚拟机启动时分配,存放对象实例和数组。逃逸分析、栈上分配、标量替换等技术导致所有对象不一定都在堆中分配。 分为新生代和老年代。主要有Eden空间,From Survivor空间和To Survivor空间。 方法区,各个线程共享的内存区。用于存储已经被加载的类信息和常量和静态变量、即时编译器编译后的代码数据,被称为永久代,Permanent Generation。这块垃圾回收主要是类卸载和常量池的回收, 一般来说回收结果比较难让人满意。 运行时常量池 方法区的一部分,class文件类、接口、字段、方法、版本等信息,还有一项信息就是常量池。常量池,用于存放编译期间生成的各种字面量和符号引用。这部分内容类加载后进入方法区的运行时常量池中 存放。并不一定编译才会产生常量,运行期间也可能将新的常量放入池中,如String.intern(). 2、虚拟机栈、本地方法栈、程序计数器 程序计数器,记录每个线程要执行的下一条指令的地址,执行本地方法为空,执行java方法记录下一条指令的地址,没有规定内存溢出。 虚拟机栈包括栈帧,每个方法都包含一个栈帧,局部变量表,操作数栈,动态链接,方法出口等信息。方法从调用到执行完成,对应着一个栈帧的出栈入栈。 局部变量表内存空间分配在编译期间就完成了。 3直接内存 java nio通过native函数库直接分配堆外内存

VMware虚拟机提示找不到vmnetbridge.dll,vmnet.sys等文件的解决办法

↘锁芯ラ 提交于 2020-03-05 07:24:49
前段时间装了个精简版的vmware,后来搞了几次,出现了故障,到网上查了查,说是完整版的好玩,比较稳定。卸载了精简版安装了完整安装版本的,结果大失所望,速度慢的要命不说,连安装启动系统需要的一些必要的驱动都无法自己完成,貌似还需要外部硬件调用,相当的不堪入目。于是决定重新装精简版的吧。 然而,安装之后却发现无法进行桥接网络了! 提示丢失了vmnetbridge.dll文件,到网上找了又找,没这方面的准确资料答案,无奈,只能自己“开发”了。 找了好久才发现原来是文件路径由于是安装过完整版的而改变默认的关系,其实你的系统内已经有了那几个需要的桥接文件了!只是路径的问题。 以下是解决办法: 当弹出无法找到vmnetbridge.dll文件的时候,在下边的浏览里选择路径到C:\WINDOWS\inf文件夹即可。以后出现的vmnet.sys等几个文件都是在那个文件夹里的,看来,原来默认的就是这个路径了 转载于: http://apps.hi.baidu.com/share/detail/31398260 来源: https://www.cnblogs.com/shortboy/archive/2012/06/07/2541008.html

Azure产品目录

耗尽温柔 提交于 2020-03-05 07:03:12
计算 Linux 虚拟机:为 Ubuntu、Red Hat 等预配虚拟机 Windows 虚拟机 为 SQL Server、SharePoint 等预配虚拟机 应用服务 快速创建适用于 Web 和移动的强大云应用 函数 使用无服务器代码处理事件 Batch 云规模的作业计划和计算管理 容器实例 使用单个命令轻松运行容器 Service Fabric 在 Windows 或 Linux 上开发微服务和协调容器 虚拟机规模集 管理和缩放数千台 Linux 和 Windows 虚拟机 Azure Kubernetes 服务 (AKS) 简化 Kubernetes 的部署、管理和操作 云服务 创建高度可用且可无限缩放的云应用程序和 API 虚拟机上的 SQL Server 在云中托管企业 SQL Server 应用 Azure SAP HANA 大型实例 运行任何超大规模云提供程序的最大 SAP HANA 工作负 CycleCloud 创建、管理、操作并优化任何规模的 HPC 和大型计算群集 网络 网络概述 Azure 中网络服务的集成视图 内容分发网络 广泛的全球性覆盖,确保实现安全、可靠的内容交付 ExpressRoute Azure 专用网络光纤连接 Azure DNS 在 Azure 中托管 DNS 域 虚拟网络 预配专用网络,根据需要连接到本地数据中心 流量管理器

【美团校招在线考试笔试题】钱币面值组合

安稳与你 提交于 2020-03-05 06:57:42
要求:假设我们有8种不同的钱币面值{1,2,5,10,20,50,100,200},用这些钱币组合成一个给定的数值n,如:n=200.那么一种可能的组合方式为:200=3*1+1*2+1*5+2*20+1*50+1*100.求总共存在多少种组合方式? 注:这是本人参加美团校招在线考试的笔试题(共两道,另一题请参看我的博客: 【美团校招笔试题】去除字符串首尾空格,中间多个空格只保留一个 ) 思路一:最简单的方式就是用暴力破解,即用多层for循环枚举出每种可能,然后判断该情况是否符合要求,用sum来保存最终符合情况的组合数,初始化为0,如果符合,则sum++,当for循环执行完后,sum的值即为最终结果,但是注意此题,共8种不同钱币面值,所以得用8层for循环,在在线考试的运行环境下,是很难及时出结果的。本人参加美团在线笔试时就是用的此方法,结果提交后,一直等待输出。 思路二: 给定一个数值sum,假设我们有m种不同类型的硬币{V1, V2, ..., Vm},如果要组合成sum,则 sum = x1 * V1 + x2 * V2 + ... + xm * Vm 求所有可能的组合数,就是求满足前面等值的系数{x1, x2, ..., xm}的所有可能个数。 我们希望用m种硬币构成sum,根据最后一个硬币Vm的系数的取值为无非有这么几种情况,xm分别取{0, 1, 2, ..., sum

Windows Server 2003 无法布署.NET Framework4.5 应用解决方案

£可爱£侵袭症+ 提交于 2020-03-05 04:11:41
一、背景描述 业务服务器操作系统为Windows Server 2003,已运行几套业务系统,均基于.NET Framework3.0,4.0,近期新开发项目是基于.NET Framework 4.5,但Win2003无法安装.NET Framework4.5框架,新项目框架又不能降级。服务器只有一个对外IP,IP再不能新增。在不影响原有系统的运行,又能让新项目正常上线,问题该如何解决??? 二、解决方案 在Windows 2003服务器安装虚拟机,虚拟机安装Win2008(X86)(因服务器是32位操作系统,虚拟机也只能安装32位Win2008),将新项目布署至虚拟机,外部通过win2003物理机访问win2008虚拟机。 详细解决方法如下 三、技术步骤: 1、下载免费虚拟机软件Oracle VM VirtualBox 5.1.8,并增加虚拟机“Win2008R2”,具体安装过程略过(网上大把资料)。 2、虚拟机网络设置,重点,其中win2003物理机IP:192.168.56.1,win2008虚拟机IP:10.0.2.15, 网卡连接方式:网络地址转换(NAT),并设置端口转发规则(新项目使用服务器80端口,可根据实际情况设置),至此,物理机可正常访问虚拟机80端口,如图 3、将新项目布署至win2008R2虚拟机,项目占用80端口,在虚拟机测试项目运行正常。 4

Java的运行原理

允我心安 提交于 2020-03-05 03:20:16
在 Java 中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。在 Java 中,这种供虚拟机理解的代码叫做 字节码 (ByteCode)(class文件的内容) ,它不面向任何特定的处理器,只面向虚拟机。每一种平台的解释器是不同的,但是实现的虚拟机是相同的。 Java 源程序经过编译器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。 跨平台: 话说,在北京,一般都是讲北京话的,上海,一般都是将上海话,广东,广东话... 现有一公文发出,要全国执行,该当如何?——先统一翻译成普通话。各地在将普通话版本翻译成当地的方言。 这里,北京、上海就是不同类型的机器windows,linux... 编译(javac)就是将公文翻译成普通话的过程,而编译出的.class文件,就是公文的普通话版本。 在执行的时候,各地的翻译就是jvm,负责将.class转换成本地能够理解的方言来执行。 *.jav a→ *.class →机器码 java 编译器 ( 编译 ) → 虚拟机 ( 解释执行 ) → 解释器 ( 翻译 ) →

Java开发环境的配置与Hello World

狂风中的少年 提交于 2020-03-05 00:54:45
一、Java开发需要做的准备 Java程序的执行过程是首先由Java编译器将以.java为后缀的Java源文件编译成.class字节码文件。然后字节码文件便可以由JVM虚拟机进行加载并执行。 在初学Java的时候,由于我们的电脑默认上不带有JVM虚拟机和Java编译器,所以我们首先需要在电脑上安装内部含有Java编译器、JVM虚拟机等其他Java开发相关组件的Java开发工具集(Java Development Kit),也就是我们常说的JDK。 1.1安装JDK Java目前隶属于Oracle公司旗下,在Oracle公司官网的Downloads目录下,可以找到JDK的下载链接。推荐初学者尝试从官网进行JDK的下载(本文的最后也附上了一些相关资源的下载链接,供读者下载)。 在下载的过程中,要注意一下下载的JDK版本。在不同的版本中,对于一些工具和特性的使用要求有所不同,故在下载版本的选择上,请开发者依据自己的需求进行选择并下载。 在下载过后,点击下载的启动文件,按照顺序点击下一步,耐心等待到安装完成(在安装过程中安装路径可以自己指定,但是一定要记住自己选择的安装路径)。安装完毕后,在cmd中输入 java –version 若出现关于Java的版本相关信息,则JDK已经安装成功。如下图所示。 虽然已经成功的将JDK安装到本机,但是由于未设置环境变量

【Android FFMPEG 开发】C++ 回调 Java 方法 模板 ( JavaVM *vm | JNIEnv *env | jobject instance | 引用类型 | 模板代码示例 )

南笙酒味 提交于 2020-03-05 00:05:41
文章目录 I . Native 调用 Java 方法 II . JNIEnv *env 与 jobject instance III . JavaVM *vm IV . 局部引用 与 全局引用 分析 V . Native 调用 Java 方法 ( 主线程 ) VI . Native 调用 Java 方法 ( 子线程 ) VII . Java 层方法 VIII . C++ Java 调用助手类 ( JavaCallHelper.h 头文件 ) IX . C++ Java 调用助手类 ( JavaCallHelper.cpp ) X . Native 入口 C++ 方法 I . Native 调用 Java 方法 1 . 前置知识点 : 参考 【Android NDK 开发】JNI 方法解析 ( C/C++ 调用 Java 方法 | 函数签名 | 调用对象方法 | 调用静态方法 ) 博客内容 , 了解如何在 C++ 中调用 Java 方法 ; 2 . Native 调用 Java 方法 流程如下 : ① 获取函数签名 : 查找字节码文件 , 使用 javap 获取函数签名 ; ② 反射获取 Java 方法 : 通过调用 jmethodID GetMethodID(jclass clazz, const char* name, const char* sig) 方法获取方法 ID ; ③

linux学习 第一章 虚拟机安装

时光怂恿深爱的人放手 提交于 2020-03-04 21:24:33
一 虚拟机安装 1 下载VMware及 Centos-7 2 安装VMware 3 打开VMware 4 点击创建新的虚拟机 选指自定义安装 下一步 选择稍后安装操作系统 选择Linux 虚拟机名称可以根据自己意愿更改 安装位置也可以点击浏览更改 处理器数量按照需要更改,不能超过电脑本身处理器数量,可根据右键电脑下方状态栏,选择任务管理器,点击性能查看电脑处理器数量 虚拟机内存根据需要设置大小,此处默认1GB 选择使用网络地址转换(NAT) 选择创建心虚拟磁盘 不要勾选立即分配所有磁盘空间 下面两个选项任选一个,此处选择将虚拟磁盘拆分成多个文件 下一步,创建完成。 开启此虚拟机之前,要打开电脑服务,确定进程是否正在运行,直接电脑左下角搜索 服务 点击名称,输入vm 确保VMware DHCP和VMware NAT正在运行,若没有正在运行,则右键点击启动。 点击编辑虚拟机设置,弹出对话框 选择使用ISO映像文件,选择1810文件 其他内存 处理器等选项根据自己需求设置,点击确定,开启此虚拟机 上键选择第一个centos 7 enter键确认 选择中文简体,点击继续 选择设置相关选项,键盘,网络链接,设置密码等点击开始安装 设置完成 安装完成点击重启。 来源: CSDN 作者: weixin_46470342 链接: https://blog.csdn.net/weixin

2018年1月20日 21:14:57 关于docker 的一次分享 周天晚会准备草稿

送分小仙女□ 提交于 2020-03-04 19:26:24
2018年1月20日 21:14:57 关于docker 的一次分享 周天晚会准备草稿 我为啥会学docker呢? 仔细回想一下,其实无外乎两点: 第一个就是工作相关:之前面试的时候看到过岗位要求技能 会docker者优先录用,说明这个属于工作技能,以后或许会用得到,可以做技术储备! 第二个就是兴趣相关:玩路由器,逛论坛,发现有人说到比如群晖nas支持docker了,之前因为版本更新不能使用迅雷离线现在可以docker恢复使用啦、可以docker安装×××软件啦等等 docker的学习我觉得可以分为三步骤吧,因为目前正在快速发展迭代,或许会有变化! 第一步:就是docker的一些基本命令和概念等,学了这个可以把docker作为“虚拟机”使用了。 说到虚拟机,来说一下两者的区别把: 但是,把docker作为虚拟机使用其实是和docker的原则相违背的,docker是即开即用,他的优点在于快速启用快速部署,一个字 快!!! 同时它的一个特点就是 每个容器一般启动一般有且仅有一个进程! kvm和docker的区别总结: 1、启动时间: docker秒级 kvm分钟级启动 2、轻量级: 容器 M为单位 虚拟机以G 为级别 3、安全性:容器进程级 虚拟机隔离性更好 4、性能: 容器性能更好,少了hypervisor层开销;虚拟机需要虚拟完整的GuestOS,虚拟化开销大。 5、使用要求