程序如何被执行?
文章可以被解读出不同层次,但是中心思想是确定的。不过对于程序,只要解释执行器是一样版本的,那么电脑会根据程序的要求办事情。
快速安装
下载安装,建议直接解压。 然后进去bin目录,继续下面代码的学习。
MacBook直接下载Dmg文件进行安装:
从代码直接学习
还记得我们初学语文的时候吗?或者初学古文古诗的时候。
通常都是记住一两个词,然后整篇背诵,随着记住的词汇阅读,突然有一天发现豁然开朗,整首诗,整首词,居然一下子贯通了!
学委想说编程也是如此般神奇!
把下面代码复制保存为Hello.java,并敲到会默写!
public class Hello{
public static void main(String[] args){
System.out.println("[雷学委初级Java教程]Hello Java");
}
}
运行Java代码:
#编译Java代码
javac Hello.java
#运行Java代码
java Hello
稍微补充一下:
javac 这是调用java 编译器进行代码编译
java 这个调用Java虚拟机解析编译好的字节码
如果不能运行请记得及时评论留言
这个很重要!
最终效果如下:
看看效果
好了,本次暂时讲解到这里。
打算学习的同学,请把上面的程序,每个词敲对,那么程序执行一致。
再来解释程序
//定义一个公开的类Hello
//一对{}内为类的实现代码
public class Hello{
//定义main静态方法: 每一个Java程序都需要一个main方法
//方法也由于一对{}括起来,内部为一行一行代码。
public static void main(String[] args){
//一行代码,调用System.out对象的println方法,传入一个参数
System.out.println("[雷学委初级Java教程]Hello Java");
}
}
上面的代码解释比较官方啊,我们直接观察代码:
我们看到这里***public***出现了好几次,它的作用是定义一个公共访问的***方法/类***。
类又是什么? 类就是对事物的抽象,对应得可以把它理解为一种句子,不同词语组成的通用句子。
主要类比的是(主语+动词+其他状态)的完整句子,比如下面:
我是雷学委
我是小白
我是某某某
这样的句子,我们人类理解为自我介绍的语句。像上面的Hello这个类做的事情就很简单,内部定义了一个方法,打印了自我介绍“[雷学委初级Java教程]Hello Java"。
这里又带出了一个问题:什么是方法,如何理解它?
可以这样理解方法为句子里面的动词,能够执行的,而且动词就是被不同句子使用的。
这里是为了带你理解程序,能把被执行的Java类是需要一个动词的,那就就是main方法,而且它还必须是static(静态的)。
(朋友别杠还有其他没有动词的句子,比如,“早上好”,“学委好”, 你说的没错,这种特例的句子就像没有静态方法的类,不方便你理解程序)
总结
上面学习的基础和代码操作经历的过程如下图:
- 我们一起编写了一个public的Hello类//写一个语法通的句子(比如说粤语)
- 终端输入:java Hello.java 编译了Hello类为字节码//把句子再转成统一语言,普通话
- 终端输入:java Hello 运行Hello类的main方法// 合格的句子读者看到了
- Java虚拟机解释字节码为机器码,调用操作系统按需进行显示/播放。
(Java虚拟机,这里不多说,仅理解为Java字节码运行机器就可以了)
句子还分了方言?换言之,Java为啥需要翻译为字节码,直接解释执行不方便吗?
汉语系内很多方言,需要翻译为官方标准普通话,这样消息才能全国流通啊。十几亿人口发行多个方言多不方便还带了很多中间转换的成本。
Java设计者考量了这点,对每个平台(操作系统)都发行特定的Java安装包(包含Java运行环境,编译器),把Java源代码翻译为统一标准的字节码,然后一套字节码通用的执行在所有平台上,保存一致行为。
所以实际上整个流程如下,Java虚拟机解放了Java开发人员,不用每个操作系统写一套代码,只要编译一次,随处执行了,很棒吧。
思考一个问题:没有编写main方法代码能运行吗?
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
93道网络安全面试题
内容实在太多,不一一截图了
黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
😝朋友们如果有需要的话,可以联系领取~
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
2️⃣视频配套工具&国内外网安书籍、文档
① 工具
② 视频
③ 书籍
资源较为敏感,未展示全面,需要的最下面获取
② 简历模板
因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!