• 代码

  同事问吾,分辨率取得不对。吾一看:

int ppi = java.awt.Toolkit.getDefaultToolkit().getScreenResolution();
  • 系统设置如下:

  • 问题是这样的:
  • 直接用JAVA运行,得到120。
  • 使用安装版本的启动器,结果是96。

  这样看是参数不对?于是吾就分析了一下启动器参数(参考吾其他博文),结果发现两种分辨率下没有任何不同。

  • 再看源码:
JNIEXPORT jint JNICALL
Java_sun_awt_Win32GraphicsEnvironment_getXResolution(JNIEnv *env, jobject wge)
{TRY;HWND hWnd = ::GetDesktopWindow();HDC hDC = ::GetDC(hWnd);jint result = ::GetDeviceCaps(hDC, LOGPIXELSX);::ReleaseDC(hWnd, hDC);return result;CATCH_BAD_ALLOC_RET(0);
}

  这个跟比例真是一点关系也没有。

  • 解决办法

跟同事讲:汝写个本地接口获取一下比例,然后自行换算。

JDK的问题:用C启动虚拟机跟java运行结果有差异相关推荐

  1. Java虚拟机调用jni_JNI攻略之十一――启动虚拟机调用java类

    JNI攻略之十一――启动虚拟机调用java类 江苏无锡缪小东 一.一个简单的java程序 下面是一个简单的java程序!主要是供虚拟机直接调用的!我们可以编写任意的java程序,然后在c中调用虚拟机执 ...

  2. 深入理解java虚拟机一 JAVA运行时内存区域与class文件

    一 JAVA运行时内存区域 JVM在加载class文件时,会将class文件定义的数据结构转为运行时内存中的数据,那么jvm是如何安排运行时的内存区域呢? jvm将运行时内存划分为以下几个部分: 堆: ...

  3. eclipse找不到java虚拟机_eclipse无法启动 - 没有找到java虚拟机

    eclipse无法启动 - 没有找到java虚拟机 Eclipse昨天运行正常(自从我在大约一年前安装它以来). 现在突然间我在启动时遇到以下错误: "A Java Runtime Envi ...

  4. VMware vSphere Client中启动虚拟机提示No boot filename received/Operating System not found解决方法

    VMware vSphere Client中启动虚拟机提示No boot filename received/Operating System not found解决方法 参考文章: (1)VMwar ...

  5. 配置系统在开机时启动虚拟机

    2.2  配置系统在开机时启动虚拟机 可以通过两种方式配置系统在开机时自动启动虚拟机.从命令行可以自动启动系统.以下命令只需要一步即可设置,即添加一个到/etc/libvirt/qemu/autost ...

  6. 【错误记录】VMware 虚拟机报错 ( 虚拟化性能计数器需要至少一个可正常使用的计数器, 模块 “VPMC“ 启动失败 , 未能启动虚拟机 )

    文章目录 一. 报错信息 二. 解决方案 一. 报错信息 交叉编译时需要用到虚拟机 , 打开后报这样的错误 ; 虚拟化性能计数器需要至少一个可正常使用的计数器, 模块 "VPMC" ...

  7. Nova 启动虚拟机流程解析

    目录 文章目录 目录 前言 从请求说起 nova-api service 阶段 前言 Nova 启动虚拟机的东西太多,持续更新- 从请求说起 无论是通过 Dashboard 还是 CLI 启动一个虚拟 ...

  8. Gentoo 安装日记 02 (建立并启动虚拟机)

    接:http://nvd11.blog.163.com/blog/static/200018312201271711303511/ 跟住就系建立一台虚拟机拉,硬盘我设置了25g. 光盘请选择: ins ...

  9. 虚拟机使用的是此版本 VMware Workstation 不支持的硬件版本。 模块“Upgrade”启动失败。 未能启动虚拟机(修改.vmx文件virtualHW.version = “xx“字段)

    1.找到并通过记事本程序打开虚拟机的.vmx文件: 2.找到文件中的virtualHW.version = "19"字段,修改该字段为virtualHW.version = &qu ...

  10. 在vSphere Client中启动虚拟机创建进程以及VMwareTools安装

    你可使用创建新的虚拟机向导创建要置于 vSphere 清单中的虚拟机.可以从 vSphere Client 打开该向导.在"即将完成"页面上单击完成后,你在新建虚拟机向导中进行的选 ...

最新文章

  1. 【持续加精】几种强哥墙裂推荐的缓冲效果,各有千秋、各取所需
  2. Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo
  3. 【作死】更新macOS Mojave后Vagrant无法使用
  4. 共模电感适用的频率_【连载】手机常见电子元件介绍数据共模电感
  5. MFC 中屏蔽CDialog类窗体处理ESC和ESCAPE按键
  6. codeblocks无法打开文件kernel32.lib
  7. php重复点击按钮无效,完美解决UIButton按钮重复点击、多次响应的问题
  8. UITableViewStyleGrouped顶部留白问题
  9. 蓝桥杯 ADV-11 算法提高 Torry的困惑(提高型)
  10. Julia: fill, repeat, repmat
  11. 下列哪个工具可以编译java_SUN-Java认证考试题库
  12. SSH2开发简易的购物网站源代码下载
  13. android win7共享文件夹,手把手教你win7系统怎么共享文件夹
  14. openocd编译安装使用 (基于百问网openjtag工具 ftdi)
  15. 金蝶软件各版本安装包下载地址(即时更新)
  16. 德莱联盟(判断线段是否相交)
  17. 嵌入式Linux内核配置、裁剪与编译浅析(ARM版)
  18. 2020三校生英语计算机试卷,2020江西省“三校生”对口升学考试考试说明英语科目最新考试英语复习教材考前模拟试卷课本教材资料试题...
  19. 5、frida进阶-Android逆向之旅---Hook神器家族的Frida工具使用详解
  20. HTML5定稿了,终于有一种编程语言开发的程序可以在Android和IOS两种设备上运行了

热门文章

  1. 小学网上报名显示网上服务器错误,网上申请了小学学位 区教育局找不到信息...
  2. 使用pyinstaller讲python文件打包成exe文件运行时,弹出命令行界面
  3. hdu4608 暴力+大数
  4. matlab中内联,有没有一种方法可以在MATLAB中执行函数内联?
  5. linux最小化连接开放wifi,CentOS最小化安装后启用无线连接网络
  6. telnet 检测端口是否开放
  7. Java设计模式之十 ---- 访问者模式和中介者模式
  8. AFNetworking-RequestSerializer
  9. Gartner公布2017年全球云存储魔力象限:阿里云跻身四强
  10. Verilog中的specify block和timing check