当前位置:首页 > 虚拟机 > 正文

深入理解java虚拟机有第四版了(深入理解java虚拟机规范)

JAVA是什么软件?让我先澄清一件事。自jdk1.2发布以来,Sun已将java更名为java2。现在所说的java一般指的是java2。Java之所以显得如此神秘,是因为Java既是一种编程语言,又是一种平台或架构。如果不了解Java平台,就无法了解Java。不幸的是,没有多少人能够用简单易懂的方式解释Java平台。抛开Java平台,Java作为一种编程语言,在语法和编程思想(指编码)方面与传统语言并没有本质上的区别。Java具有优化的、纯面向对象的内存管理模型等优点。首先,编译出来的Java程序并不是可以直接在特定操作系统上运行的二进制代码,而是所谓的字节码。安装了javavm的计算机应该被认为是一个虚拟机,字节码只能在这个虚拟机上运行。实际的硬件和操作系统是什么并不重要。什么?您从未听说过虚拟机吗?那就赶紧学习一下《计算机原理》,看看吧。这么高级的东西我没法讲。其实看不懂也没关系,只要你知道如果你想在Win、*nix或者macOS上运行Java语言编写的程序,就需要安装一个叫做JavaVirtual的东西机器。。至此,有兴趣的人已经可以想象,既然用Java编写的程序运行在Java虚拟机上,那么同样编译好的Java就可以运行在任何Java虚拟机上,而不必担心Java虚拟机下执行的操作。系统有哪些硬件?这就是SUN一直标榜的“一次编写,随处运行”的特性。似乎水到渠成,我们看到了大学核心课程的重要性,哈哈!Java架构的基础是j2se(java2platform,标准版),顾名思义,标准版。j2se的底层是JRE(JavaRuntimeEnvironment)。JRE提供Javaapi、Java虚拟机以及支持运行Java小程序和应用程序的其他组件。也就是说,安装了JRE之后,就可以运行各种用Java编写的程序了。使用JRE无法开发java程序。如果要开发java程序,还需要jdk(java开发包),它对应win的sdk。Jdk天然包含编译器、调试器等工具。具体内容请参考,官网解释得很清楚。J2ee(Java2Platform,企业版),与j2se相比,很明显j2ee是为企业服务的。j2ee是j2se的超集,提供企业计算平台。在这个平台上使用Java技术进行开发有很多优点:开发容易、跨平台、与数据库、CORBA等其他应用程序兼容、中间件易于实现。实现的技术手段包括EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)和XML。Java应用程序(javaapplication):像常规的Windows应用程序或Linux上的elf应用程序一样,用Java语言编写的“可执行程序”。引号意味着它只能在JVM上运行,而不能在较低级别的VM上运行。Applet:您是否对所谓的“JavaApplet”感到困惑?其实我第一次看到的时候也没明白这是什么。Applet是一种特殊的程序,只能在支持Applet的浏览器中运行。如果浏览器不支持的话,她只能感叹自古以来美女是多么的惨。幸运的是,现在大多数浏览器都支持小程序。Servlet和jsp:在解释jsp和servlet之前,我们先谈谈cgi和服务器端脚本之间的区别。CGI和服务器端脚本是实现动态网页的技术。CGI是一种运行在服务器端的特殊可执行程序。您可以使用C语言编写CGI;而服务器端脚本是一种解释并执行的脚本语言。,不是可执行程序。其运行需要www服务器支持,如iis支持的asp、,apatch支持的php。Servlet是一个运行在Java平台上的cgi。这是一个用Java编写的特殊编译程序。而jsp是www服务器应该支持的脚本语言。Jdbc:连接Java平台上的数据库,其功能与odbc类似。Ejb(EnterpriseJavaBeans):我现在不太明白它是什么。我只知道这是一个高度可重用的程序。主要功能是隐藏异构系统之间的差异。为jsp和更高级别的servlet提供独立的编程接口。JSP和servlet程序员不需要担心ejb背后是什么样的系统。我对Java平台的理解:Java的核心是跨平台。将复杂的系统划分为多层,每一层都保护下层的异构特性,并为上层提供统一的访问接口。该模型可以参考网络的七层协议模型。对于独立机器,例如,Pentium上运行Windows2000的机器、Pentium上运行Linux的机器、rs60000上运行Aix的机器都是不同的平台。Sun针对不同的操作系统开发了相应版本的Java虚拟机,使得同一个Java应用程序可以在任何安装了Java虚拟机的平台上运行,而无需重新编译。对于网络环境来说稍微复杂一些。传统的三层模型我就不说了。不懂的可以自己查料。Java平台模型略有不同。

自学计算机编程应该看些什么书1:第一阶段
C语言-------《C语言设计》作者:谭浩强
大多数人推荐谭浩强的书,谭浩强的C程序设计,我觉得比较多。适合当教材,主要是它不大,书的内容也不是很全面,最好让老师介绍一下。
《CPrimerPlus》第五版作者:StephenPrata
这本书比较厚,内容比较基础,扩展也比较广泛。通过自学很容易学会。唯一的缺点是,是给老外看的,是写的,但是本地翻译往往不尽如人意,如果你英文不错,看英文版还是不错的。
C语言入门经典第四版作者:IvorHorton
第二阶段:第二阶段
这个阶段要看个人关注的方向,Android中一般都是JAVA、PC游戏、C++和C#软件也推荐。这些都是共同语言。其他语言就看个人喜好和发展了。
学习一门面向对象的语言,然后再转向其他语言,一般都很容易,其实思路是差不多的,主要区别在于语法。C#很容易上手。您可以在一个月内开始,并在一年内精通。不过C++有点难。一年可以入门,二十年后却未必能称得上精通。如果有时间,可以学习一下汇编语言。
C++Primer,第四版
(入门课程:
C++Primer,第四版
ThinkinginC++,第二版
TheC++StandardLibrary:A教程和参考
高级课程:
C++编程语言,特别版
C++的设计和演变
C++对象模型内部
C++模板:完整指南
STL源代码分析
通用编程与STL
现代C++设计:通用编程与设计模式的应用
应用技巧课:
EffectiveC++,2ndEditon
MoreEffectiveC+++x
MoreEffective>C+xbr/>MoreExceptionalC++
EffectiveSTL
RuminationsonC++)
三:第三阶段
API/SDK--------------《windows编程》(JeffProsise)
这本书主要是为了深入学习Windows软件开发过程,毕竟是WindowsAPI。如果你主要关注C++,那么可以略过这本书QT是深入思考C++的关键。
四:第四阶段
MFC----《VC++技术内幕》、《MFC深度入门》及孙鑫VC++6.0视频教程
如果是C++,QT是要重点学习的对象。
五:第五阶段
COM/DCOM/ATL/COM+---------《COM技术内幕》
未知阶段:
《数据结构》和《算法概论》基本上是编程的核心。编程的很大一部分取决于算法的实现。这两个基础学科需要深入研究。这是定义编程技能的基本标准。
如果不了解底层,《操作系统原理》也能轻松理解。 自学Java,有哪些书籍推荐

《CrazyJavaRecipeNotes》一书提供了Java编程相关方面的详细信息。本书涵盖了Java的基本语法结构、面向对象的特性、集合框架系统、泛型、异常处理和GUI。编程、JDBC数据库、编程等很全,有一套完整的Java视频资料。

《HeadFirstJava》一书被评为亚马逊十佳图书之一。HeadFirstJava是面向对象编程和Java的完整学习指南。基于学习理论设计,它带你从学习编程语言的基础知识到线程、网络、分布式程序等项目。最重要的是,学习如何像面向对象开发人员一样思考。

深入理解Java虚拟机:JVM高级特性与最佳实践本书重点介绍了如何自行编译OpenJDK7以及如何描述自动编译方法。我们涵盖了内存管理、虚拟机执行子系统分析、程序编译和代码优化,并讨论了高效并发的Java原理。

《企业应用架构模式》这本书适合创建框架的人。如果您打算自己编写ORM,那么这本书是必读的。

《AgileJava》中文版是基于JDK5.0语法的,所以如果你想学习新的JDK5.0语法,它也是理想的选择。这将帮助您在最短的时间内学习最重要的Java知识,同时产生出色的编程思想。我们有全套Java视频资料。