首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java程序运行套路

我们生来平等

:寺水, 你说, 我们都是一样的吗?

:从正态分布来看的话,除去前面和后面的,大多数人,生来差别并不大,可以简单认为,在出生那一刻是平等的.

人生忽然已过二十多载.从人生来看,再回到起跑线上,已是不太现实了,但是对于Java学习来说,我们都才学会了HelloWorld,现在是在同一个位置开始,在这里,希望小伙伴们一起来维护了一份

寺水的技能包

在这里可以,可以看到我们已经走过的路和掌握的知识点.生来平笔,而后又拉开了差距,其中很大一部分原因是归纳,总结,转化的欠缺.所以,有了这个技能包,我们可以时常返回来看一下.

人鬼情未了

:寺水,你说,人鬼能在一起吗?

:按道理讲,正常来说是不可以,但可能会在某个条件下得以再续前缘.比如某个月圆之时,比如某个地点. 一如我们写的代码,只有通过某个命令来触发,转换,才能让计算机执行.

相信上面这个图,大家估计都见过很多次了,这里拿出来,和大家聊一下抽象思维. 以前写过一篇:

这里的人鬼情未了,我们为人, 电脑为鬼,那我们需要一些特殊的转换器,来使我们和电脑能够沟通.在以后的两个不同的系统进行交互的时候, 我们也可以戏成为"人鬼情未了",如前端通过http调用后端接口, 两个不同的后端服务通过dubbo交互. 虚拟机中方法之间相互的调用.再如生活当中,两个独立的人,得通过语言/肢体动作沟通.很多很多, 我们都可以抽象成人鬼情未了.

再来说到java上. 在抽象了之后,我们就要提炼各种元素, 然后用一个方法去转换一下,整个过程描述如下:

先是从给人看的Hello.java, 通过 javac 给转化成给JVM看的 Hello.class ,然后再转给电脑去运行.

这里我们提炼出来的元素有:人,JVM, 电脑,Hello.java源文件.提炼出的方法有: javac 转换, java转换,

Hello.class = javac转换(Hello.java)

java转换(Hello.class)

这是一个最基本的流程,在此之上的万变不会离其根本,比如用idea来执行javac和java , 或者用命令行执行javac和java,或者如我们上篇应用文中所演示,直接用java 去执行 Hello.java, 其实这个是在内存中进行编译,然后进行执行的. 当我们把握了这些基本点的时候,就有了排查错误的思路.

磕磕绊绊终终成正果

: 唉,终究是人鬼殊途,要在一起太难了,就像最近看的人想和魂兽在一起,中间要经历的太多了.

:寺水呀, 其实没有哪条路是轻松的,就像我们和电脑,想让电脑做出我们想要输出/运行结果,就是面说的javac/java 这几步,哪一步错了都不行.

这里会引发一个哲学问题,要看清自己的位置. 这句话, 不仅仅是提醒我们要在人生中思考这个问题,在写代码,调程序的时候,要认清我们的位置,报错了不要慌. 觉着冷静,大胆假设,小心求证!

还是以上篇输出HelloWorld为例(再复杂的逻辑,也是由这样简单的逻辑一点点拼起来的),而且,出问题,只会在方法中出问题,如javac 中, 现在我们是单文件编译, 后面还会有多文件编译, 如java中, 现在是单文件运行, 后面会有带上classpath的运行, 所以,我们要明白是哪个过程出了问题, 然后再根据错误信息,去定义问题.以编译时错误为例:

以上图为例, 虽然说是没有达到预期的结果,但是也给了我们很丰富的提示. 这里我们需要注意上图标识出的三个地方,

1.javac Hello.java 这个是哪一阶段,对哪些元素操作出现的问题, 在这里是命令问题,放到代码里面可能就是某个类的某个方法出了问题. 这就是上面那个很关键的问题, 弄清楚我们的定位!

这个例子,大家可以理解为, 是对前面模仿学习的一个阐述,在后面,我们也还会不断再提及这些, 让这个方法论更为清晰. 要坚信,任何错误,都是纸老虎,我们一定可以解决的!

大道至简,一生二,二生三

再复杂的程序也是由一个一个的方法这样组装起来的.运行不起来的代码/出问题的代码,每次也只会在某一行抛出问题,所以, 我们就要依据错误信息,再复杂的应用,错误信息也就和上面类似,大家不要被吓住了, java程序运行, 就这两个方法,javac, java, 错误信息,也就长这个样子, 就是内容长短不一, 所以,沉着冷静,就能做到动刀甚微,但问题已解!

本文思考

1.javac 如何编译多文件?

2.java 命令如何运行多个文件?

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200926A08ZRZ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券