Java为什么能够跨平台?

  这也许是个萌新的问题,但我也想把它记录下来,作为Java学习的开始。
  在这个大型企业软件横行的时代,Java的使用率越来越高,当然依旧不少的人不喜欢Java,因为它的设计过于笨重,但其开发效率高也是不可否认的一个优点。
  言归正传,今天我们讨论下为什么Java是跨平台的语言,我们知道汇编语言的优点及其显著,就是运行速度极快,因为其就是机器指令的助记符。但缺点也是很突出的,除了读不懂以外(本人弱渣),就是汇编是体系结构依赖的语言。如有8086指令集,也有MIPS指令集等等,而像C,C++就会先翻译成这些体系结构依赖的指令,而导致其不能跨平台使用。
  而Java却不一样,Java代码会先翻译成字节码,字节码是独立于当前平台在JVM上运行,所以我们无论在哪个平台上写的代码都会被翻译成相同的字节码,被JVM所运行。
  但是需要注意的是JVM一般是使用C++写的,所以不同的平台上的JVM是不一样的,但他们识别的字节码却是相同的。相当于JVM成了使操作系统与Java代码兼容的媒介。

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
方法一:     import  java.awt.*;   import  java.awt.image.*;   import  java.io.*;   import  javax.swing.*;   import  com.sun.image.codec.jpeg.*;   public   class  WaterSet {       /** */ /**        * 给图片添加水印        *         * @param filePath        *        
    最近项目上要调用其他系统的WebService(Axis搭建),由于接收数据较大耗时4分钟左右,所以要设置超时时间,而且系统中已有jar包的原因,导致许多方法都不能用,最终用HttpClient。 方法一:使用JaxWsDynamicClientFactory调用WebService public static Object call(String wsdl,String method,String requestStr){JaxWsDynamicClientFactory factory = J

深刻理解IdentityHashMap - 2016-09-23 14:09:05

新建POJO package test;public class Cat {private String name;private Integer age;public Cat(String name, Integer age) {super();this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public In

成为java高手的八大条件 - 2016-09-23 14:09:05

成为java高手的八大条件 世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。兄弟连JavaEE培训导师,告诉你学习java有这样的素质才能成为高手! 1、扎实的基础 数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握它们,很难写出高水平的程序。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。因此多读一些计算机基础理论方面的书籍是非常有必要的。

MySQL助理配置 - 2016-09-23 14:09:05

基本配置   你需要经常察看以下3个配置项。不然,可能很快就会出问题。 innodb_buffer_pool_size:这是你安装完InnoDB后第一个应该设置的选项。缓冲池是数据和索引缓存的地方:这个值越大越好,这能保证你在大多数的读取操作时使用的是内存而不是硬盘。典型的值是5-6GB(8GB内存),20-25GB(32GB内存),100-120GB(128GB内存)。 innodb_log_file_size:这是redo日志的大小。redo日志被用于确保写操作快速而可靠并且在崩溃时恢复。一直到MyS
9个基于Java的搜索引擎框架   1.Java全文搜索引擎框架Lucene   毫 无疑问,Lucene是目前最受欢迎的Java全文搜索框架,准确地说,它是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引 擎。Lucene为开发人员提供了相当完整的工具包,可以非常方便地实现强大的全文检索功能。下面有几款搜索引擎框架也是基于Lucene实现的。 官方网站: http://lucene.apache.org/   2.开源Java搜索引擎Nutch   Nutch 是一个开源Java实

Quartz定时任务的实现及详解 - 2016-09-23 04:09:09

Quartz定时任务的实现及详解 平常工作中经常遇到写定时任务的,这次做一次记录和解析分享给大家,共同学习进步,遇到写的不对的地方也请大家指教 用例:比如每天凌晨我们要让系统定时执行一些耗费服务器的事情,或者其他的一些定时任务 相关的jar包在附件,如有需要自行下载 1、 首先怎么启动这个Quartz呢? 在项目启动的时候,让web.xml读取我们的定时器配置文件,如下所示 param-namecontextConfigLocation/param-nameparam-value/WEB-INF/conf

JDBC连接数据库的步骤详解 - 2016-09-23 04:09:09

   Java Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 8
编译Qconf git clone https://github.com/Qihoo360/QConf.git cd Qconf //注意如果不是root永恒,可能需要使用sudo权限 mkdir build cd build // 默认安装在/usr/local/qconf目录,后面的命令指定安装目录 cmake ..  或者 cmake .. -DCMAKE_INSTALL_PREFIX=/install/prefix make make install //如果出错,也就下面几个错误了 sudo l

Java 使用默认浏览器打开 URL - 2016-09-22 19:09:07

      URI uri = new URI(url);Desktop desktop = Desktop.getDesktop();if (desktop.isSupported(Desktop.Action.BROWSE)) {desktop.browse(uri);}