两个小时摆脱Java小白--javadoc与跨平台原理

一、javadoc命令将注释生成一个文档

代码写的好很差,最重要的一个指标就是,能让别人看的懂你的代码,让别人看的懂呢,光靠良好的命名是不够的,你们必定要养成良好的编程习惯,每一次我入职的时候,我都瞧不上上一任写的代码,都会暗暗的鄙视,这代码写的是shua,其实呢本身写的代码,过两个月以后,若是不写注释,你回过头看的时候你也会鄙视 本身,这写的shua,写的是狗屎吗,狗屎都比这个好看,因此说注释也是很重要的,注释分为三种 单行、多行和文档,在HelloWorld中咱们讲过了,那么咱们怎么生成文档并查看呢! 下面咱们就用javadoc来生成一下文档!html

首先呢打开咱们的神秘的命令行窗口,切换到咱们HelloWorld代码目录,而后执行javadoc HelloWorld.java命令生成Html文档

在这里插入图片描述
唉这是啥状况啊,怎么出现了那么都得错误编码 GBK得不可映射字符, 这个错误呢,通常是由于代码中含有中文字符,注释中的中文字符也算。因为使用命令行窗口运行java程序的时候,JVM默认的编码格式是gbk。而包含中文字符的代码通常是UNICODE格式,因此直接运行含有中文字符的代码就很容易出现编码错误。 解决办法:在系统的环境变量中,新加一个值:
在这里插入图片描述
下面咱们再试一下javadoc的命令
在这里插入图片描述
如今不出现那个错误了,看样子生成了许多html,这些html就是咱们要的文档 虽然上边的错误解决了,可是新的bug又出现了控制台乱码了,无情啊,难道这就是传说中的改完5个bug,新增15个bug吗!我去!听轩轩的一句话,千万bug不可怕,耐心细致征服它!欧耶!既然学java,那就作好这种准备,既然控制台乱码了,那就把控制台的编码格式也改一下!
在这里插入图片描述
猜的不错,他就是GBK模式的,怎么改呢, 修改涉及注册表,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor,新建“字符串值”,名称“autorun”,数值“chcp 65001”
在这里插入图片描述
在这里插入图片描述
而后咱们再试试javadoc命令
在这里插入图片描述
看此次就正常多了是吧...这就会有人问了生成了那么Html,咱们该看哪个呢! 咱们只须要点开index就好了,来我们打开看一看了!
在这里插入图片描述
在这里插入图片描述
看这个文档就把你的代码解释的明明白白了,全部方法,静态方法有哪些什么的,细心的童鞋会发现我生成的命令是用的*.java 是通配符的意思,意思表明全部,是把这个目录里边的全部代码生成文档,举个例子咱们在个人电脑里搜索文件的时候搜索.png 电脑就会把当前目录的全部后缀为png的文件搜出来! 咱们了解了javadoc这个命令,下面咱们就了解一哈!java的跨平台!

二、java的跨平台原理

为何咱们的java可以那么牛逼,就是由于它能跨平台! java具备一个特色:一次编译,处处运行! 什么是平台呢,就是咱们所说的操做系统:好比liux系统,mac系统,windows系统!java

在这里插入图片描述
咱们所说的跨平台,是指字节码文件能够跨平台,注意字节码不是机器代码,为何字节码能够跨平台呢,是由于不一样的Jdk,Jre,运行环境能够解释相同的字节码,就是不一样的JRE能够把字节码翻译成不一样的机器语言,咱们下载的Jdk的时候是否是选择相对应的平台的jdk,
在这里插入图片描述
一份.class能够经过不一样的JRE能够运行在不一样的平台上,这就叫作跨平台!其实跨平台也没有那么高深! JRE就至关于翻译官,好比你带着英文的翻译官你就能够去美国旅游,你带着苍老师,你就能够去日本!翻译官不一样 ,你是同一我的,你至关于.java 你写了一个稿.class 而后苍老师他们就至关于不一样的JRE!别看跨平台特别容易,当初java就是靠跨平台,狠狠地火了一把! 来一个详细点的图:
在这里插入图片描述
左边那是编译环境,右边是运行环境,经过 类加载器这个东西,将.class装载到内存中,进行验证,须要一些java类库的支持,为何验证呢,** 极可能你编译没问题,可是运行的时候也有可能出错,也就是之后经常遇到的Exception,让你天天掉头发的东西,编译没问题只能说你写的代码语法没有问题!** java解释器和即时编译器,是为了加快运行效率,一开始的时候java是解释运行,就是解释一句运行一句,这样的话就比较慢了,有了即时编译器呢,就把一些东西提早编译好,这样的话效率会提升不少! 这些东西呢都是在虚拟机里进行的。 如今呢,可能你们因为知识量的缘由,理解的不太到位,咱们后边会回来回顾的,到时候就会品出来个因此然!兄嘚,你品,你仔细的品! 加入咱们的小圈子一块儿学习:679293162!!
相关文章
相关标签/搜索