`

静态编译和动态编译,java与javascript区别总结

阅读更多

1.静态编译和动态编译


       静态编译是程序在编译时就已经确定好了所有类之间的关系,要运行程序所有类

都缺一不可,若在开始运行时就把其中的某类文件丢失,就会产生

NoClassDefFoundError错误,程序会终止,在程序运行前的装载期间就把要用到

的类加入到内存当中,它的特征是new关键字 再加上类构造器,这个类构造器的

命名在程序编译后就不可更改了

 

       动态编译则是编译时并不确定好所在类的关系,在我们实例化类之前都没有装载

到内存中,在程序运行时动态决定要加载的类,再对它实例化,若在此时类文件

丢失,产生的是ClassNotFoundException异常,程序以后还可以继续运行,代码

特征是Class.forName(pathName).newInstance(),而此处的pathName可以是变量

,但它产生的对象却是Object类型的,需要我们自己强制转换,而且使用的构造

器的类的无参构造器。


        动态编译体现了代码的健壮性和可扩展性,可以和接口很好得结合在一起,实例

化的那段代码可以重复利用,在大型项目中若有新类出现,是不可能每次都要把

程序或都服务停掉来重新编译,那样做的代价会很大;如果使用动态编译,要以

前有的和要更新的类文件名配置到一个配置文件里,让程序读取,就可以让项目

动态地更新了。


2.java和javascript的区别


(1).java是一种真正的面向对象的语言,javascripty是脚本语言,一种基于对象和驱

动的编程语言。


(2)js是直接嵌入到hmtl文档中.


(3)java声明变量有很多种,采用静态联编,js就用var,采用弱类型检查,动态联编,在

运行时检查其数据类型,也就是在脚本间可改变类型。


(4)java要执行先编译再用jvm解释执行,js直接在浏览器中解释执行,是真正的动态

解释语言.

分享到:
评论

相关推荐

    吴天雄-Java注解及动态性详解.doc

    本文档内容包括: 1.注解详细内容(五个内置注解、...2.java动态性(静态语言、动态语言、反射机制操作(类、属性、注解、构造器)、动态编译、脚本引擎Rhino动态执行JavaScript代码、动态Java字节码操作) --author:

    javascript 使用手册

     JavaScript与Java的区别体现在:  首先,它们是两个公司开发的不同的两个产品,Java是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发;而JavaScript是Netscape公司的产品,其目的...

    JSP(全称JavaServer Pages)

    JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签...

    Java语言基础下载

    静态联编和动态联编 500 实例 500 内容总结 503 独立实践 504 第二十六章:JavaScript基础 505 学习目标 505 基本结构 506 JavaScript代码的加入 506 基本数据类型 506 常量 507 表达式和运算符 509 实例 511 ...

    2345公司java笔试题-Exam:考试

    静态与动态类型检查 Java 使用静态类型检查,其中在编译时检查变量的类型。 程序员必须指定他们创建的任何变量的类型(整数、双精度、字符串等)。 JavaScript 与大多数脚本语言一样,使用动态类型,在运行时验证...

    jmeter 测试工具 使用java自测 并发测试 环境测试 压力测试

    JMeter 最初被设计用于 Web 应用测试,但后来扩展到了其他测试领域,可用于测试静态和动态资源,如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库和 FTP 服务器等等。 1.能够对HTTP和FTP服务器进行压力和...

    21天学通java-web开发

    JSP是Java Server Pages...与ASP相比,在许多方面有了大大的改进,具有动态页面与静态页面想分离,并摆脱系统平台的束缚。JSP是通过编译后执行的,完全克服了ASP的脚本级解释执行的缺点,目前以成为Web开发的主流选择。

    2345公司java笔试题-Exam:该存储库是用于解释/演示、考试准备问题的作业集合

    静态与动态类型检查 Java 使用静态类型检查,其中在编译时检查变量的类型。 程序员必须指定他们创建的任何变量的类型(整数、双精度、字符串等)。 JavaScript 与大多数脚本语言一样,使用动态类型,在运行时验证...

    java面试宝典

    123、JSP中动态INCLUDE与静态INCLUDE的区别? 31 124、两种跳转方式分别是什么?有什么区别? 31 125、如何执行一个线程安全的JSP? 31 126、JSP如何处理HTML FORM中的数据? 31 127、在JSP如何包含一个静态文件? 32 128...

    JavaWeb包括:Web 服务器(如 Apache Tomcat)、静态资源和编译文件操作步骤

    创建一个 JavaWeb 项目通常需要以下步骤: 1. 打开集成开发环境(IDE),如 Eclipse、IntelliJ IDEA 等。 ...8. 在 src 目录下创建 Java 包和类,用于编写 Servlet、Filter、Listener 等后端逻辑。

    raspberry-pi-java-and-javascript-desktop-application:使用Java SWT浏览器组件编写的Raspberry PIJavaScript GUI

    raspberry-pi-java和JavaScript桌面应用程序使用JJR应用程序...编译并运行要在Raspbian上编译和执行应用程序,请使用: 使所有&& java -jar ./bin/app.jar 要在Mac上编译和执行应用程序,请使用: 使所有Mac && java -X

    java版飞机大战源码-UnderstandingTheJVM:《深入理解javac虚拟机》一书学习

    动态编译指的是在运行时编译,与之相对应的是事前编译,也叫静态编译 JIT编译狭义来说是当某段代码即将被第一次执行时进行编译,因而叫及时编译,JIT编译是动态编译的一种特例, 自适应编译也是一种编译,但它通常...

    Kotlin - 教程Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程...Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。 在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    Java Web程序设计教程

    12.1.3java动态代理与aop 244 12.1.4springaop简介 245 12.2使用spring的通知 246 12.2.1beforeadvice 246 12.2.2afterreturningadvice 248 12.2.3methodinterceptor 249 12.2.4throwadvice 250 12.3使用...

    JWebAssembly:Java字节码到WebAssembly编译器

    与类似项目的区别在于,不应移植具有GC和内存管理功能的完整VM。 它更像是1:1转换。 生成的WebAssembly代码的大小类似于原始Java类文件。 文献资料 该文档可在找到。 路线图 该项目目前尚未投入生产,但您可以运行...

    app-engine-seed-harpjs-java:使用HarpJS将EJS模板编译为静态HTML文件,然后可以使用Java SDK将其托管在Google App Engine上

    这是一个由Grunt,grunt-watch和HarpJS支持的示例网站模板,用于使用实时重载来加快开发速度,同时还为用户提供闪电般的静态页面。 #文件夹结构 app-engine-seed-harpjs-java node_modules:grunt-watch,HarpJS...

    基于SSM框架的CRUD示例源码,采用纯Ajax技术实现

    该项目涉及的主要编程语言为Java,同时融合了JavaScript、CSS等语言以优化用户界面和体验。 文件组成:项目共包含190个文件,具体分布如下: - Java源码文件(.java):13个,包含了核心的业务逻辑和控制器代码。 -...

    graal:GraalVM:在任何地方更快地运行程序

    用Java编写的支持动态和静态编译,并且可以与Java HotSpot VM集成或独立运行。 语言实现框架,用于为GraalVM创建语言和工具。 包含一组通过工具框架实现的用于GraalVM语言的工具。 框架,允许在封闭环境下将Java...

    红包源码java教程-typescript-tutorial:面向初学者的Typescript基础教程,结合ECMAScript5、6、7的T

    是纯面向对象的,具有类、接口、模块、导入、导出和静态类型,如 C# 或 Java。 流行的 JavaScript 框架 Angular 2.x 及以上版本是用 TypeScript 编写的。 掌握 TypeScript 可以帮助开发人员和程序员编写面向对象的...

    java关于字符串拼接的笔试题-test:Git测试(私有)

    静态类型语言:类型、成员、属性、方法的解析在编译时完成 编译应用程序时尝试访问未在对象中定义的方法将立即获得错误反馈 java:编译成字节码,然后由Java虚拟机解释成机器码 c#:编译为中间语言 (IL),然后由公共...

Global site tag (gtag.js) - Google Analytics