Processing编程学习指南2.8 “运行”按钮

简介:

2.8 “运行”按钮


Processing的一个优势在于:想要运行一个程序,所需的全部工作就是点击“运行”按钮。这非常类似点击一个媒体文件的“播放”按钮:播放一个动画、电影、音乐和其他格式的媒体文件时,都会用到播放按钮。既然Processing程序输出的媒体文件是计算机图形的实时运算结果,那么为什么不能直接播放它们呢?

这里,请花点时间考虑这样一个事实:在这里做的事情和播放音频或者视频文件并不完全相同。输入到Processing的初始内容是文本内容,Processing需要将它们转换为计算机代码,最后才会执行。点击运行按钮后,所有这些步骤按照顺序执行。我们逐一看下这些具体步骤,研究下Processing是如何为你处理这些复杂工作的。

1.转换为Java语言。Processing基于Java语言(在第23章会对这点进行更详细的讨论)。为了能够让代码在电脑上顺利运行,Processing的第一步工作是将代码转换为Java代码。

2.编译为Java字节码。第1步中创建的Java代码只是另外一个文本文档(将.pde后缀名转变为.java后缀名)。为了让计算机可以理解它,它还需要被翻译成机器语言。这个翻译的过程叫做编译(compilation)。如果你用其他语言进行编程,比如C语言,那么代码就可以直接编译为操作系统适用的机器语言。而在Java中,代码是被编译为一种特殊的机器语言,叫做Java字节码(Java byte code)。这样,只要该计算机可以运行Java虚拟机(Java Virtual Machine),它就可以在不同平台上运行。尽管这多余的一个步骤有时会导致程序运行慢一点,但是跨平台运行却是Java的一大优势。更多关于这方面的知识,可以访问Java的官方网站(http://www.oracle.com/technetwork/java/index.html),或者找一本关于Java编程的书看一下(在你已经完成本书的学习之后)。

3.执行。编译完毕后的程序最终是一个JAR格式的文件。JAR文件是一个Java的归档文件夹,其中包含了编译完毕的Java程序、图片、字体,以及其他信息文件。JAR文件可以通过Java虚拟机执行。

相关文章
|
NoSQL Java
简析Cassandra的BATCH操作
cassandra中批量写入的操作称为batch,通过batch操作可以将多个写入请求合并为一个请求。这样有如下作用: 把多次更新操作合并为一次请求,减少客户端和服务端的网络交互。 batch中同一个partition key的操作具有隔离性。
6947 0
|
缓存 应用服务中间件 nginx
安装nginx-http-flv-module模块
本文介绍如何为Nginx安装`nginx-http-flv-module`模块。此模块基于`nginx-rtmp-module`二次开发,不仅具备原模块的所有功能,还支持HTTP-FLV播放、GOP缓存、虚拟主机等功能。安装步骤包括:确认Nginx版本、下载相应版本的Nginx与模块源码、重新编译Nginx并加入新模块、验证模块安装成功。特别注意,此模块已包含`nginx-rtmp-module`功能,无需重复编译安装。
900 2
|
计算机视觉
DeprecationWarning
DeprecationWarning: ANTIALIAS is deprecated and will be removed in Pillow 10 (2023-07-01). Use LANCZOS or Resampling.LANCZOS instead.
800 1
|
Python
Python教程:@符号的用法
@ 符号在 Python 中最常见的使用情况是在装饰器中。一个装饰器可以让你改变一个函数或类的行为。 @ 符号也可以作为一个数学运算符使用,因为它可以在Python中乘以矩阵。本教程将教你如何使用 Python 的@ 符号。
1257 0
|
Java iOS开发 MacOS
MacOS切换JDK版本
MacOS切换JDK版本
6168 0
|
uml
UML 类图几种关系(依赖、关联、泛化、实现、聚合、组合)及其对应代码
UML 类图几种关系(依赖、关联、泛化、实现、聚合、组合)及其对应代码
2715 0
|
消息中间件 存储 Kafka
谈一谈Kafka在高性能和数据一致性之间做的妥协与改进
CAP定理是分布式系统的基本定理,描述了一致性、可用性和分区容错性三大特性,只能满足两种,开发者必须在此做出取舍。而 Kafka 作为一款高性能的消息队列与分布式存储系统,必然要在高性能和数据一致性之间做出取舍,本文在这方面做了一番探索。
|
机器学习/深度学习 算法 决策智能
多智能体强化学习(一) IQL、VDN、QMIX、QTRAN算法详解
多智能体强化学习(一) IQL、VDN、QMIX、QTRAN算法详解
2818 0
|
iOS开发
Xcode如何编译Debug版和Release版​
Xcode如何编译Debug版和Release版​