java基础——环境变量配置

工欲善其事,必先利其器。

不过对于刚刚入门的菜鸟来说,最好的编辑器还是使用记事本。

原因不外乎是熟悉语法结构,而不是使用IDE自动生成。

java 体系:

J2SE  桌面应用的开发  JAVA SE  (接下来学习的目标)

J2EE  企业级开发      JAVA EE

J2ME  手机应用的开发  JAVA ME

SDK  software development kit  软件开发包 函数库或者工具等

JDK  java development kit  是面向开发人员的,java开发工具

JRE  java runtime enviroment java运行环境,是面向应用程序使用者的

API application program interface 应用程序编程接口

配置环境变量:

JAVA_HOME  值放Jdk的地址

PATH  执行命令都从PATH中找  win7是最前面的先找  win10是最下面的先找  %JAVA_HOME%\bin  好处:JAVA_HOME 变了就变了

CLASSPATH 运行java程序的时候查找对应的class

特点:jvm像鞋  Java就是脚  这就是跨平台性  一次编写 到处运行

gc

垃圾回收器:java中有一个线程,专门负责JVM中垃圾内存的释放

垃圾:没有引用的内存节点

垃圾回收的算法

注意:垃圾回收有自己的算法,我们是不能控制垃圾回收机制的,虽然有和垃圾回收相关的方法:java.lang.System.gc()  java.lang.Runtime.gc(),但是还是无法控制垃圾回收机制

在chap01下面建一个文件HelloWorld.java

文件内容如下:

public class HelloWorld{

public static void main(String[] args){

System.out.println("hello world");

}

}

写完后保存,然后到终端里面编译HelloWorld.java

注意路径:自己的当前位置和HelloWorld.java文件所在的位置是不是一致

javac HelloWorld.java

编译完了之后,会在当前目录下,生成一个文件叫HelloWorld.class

最后我们运行的文件就是这个HelloWorld.class

这样来运行HelloWorld.class文件:

java HelloWorld    注意:运行的时候一定不要加后缀名 .class

这样运行的前提是:XXX.java文件中 没有写包(package)名

编写的java文件要以XXX.java命令

javac XXX.java  (注意当前路径和java文件路径)

XXX.java(源文件)

编译完后会生成一个XXX.class(字节码文件)

运行这个java代码

java XXX    (后面不加.class)

可以把字节码文件打成jar包

jar -cvf hello.jar  HelloWorld.class

类加载:  双亲委托机制

启动类加载

扩展类加载

本地类加载  classpath  Hello.class

JVM

类加载-->字节码验证-->JIT运行

字节码验证:

代码要符合JVM的规范

代码破坏计算机的系统或者硬件

栈不能溢出

方法的参数类型要正确

类型转换要正确

java类名和文件名的关系:

一个java源文件(.java)中,可以有好多个类(class),但是,最多只能有一个类(class)被public修饰

如果有一个类被public修饰,那么这个源文件(.java)的名字就必须和这个被public修饰的类的名字一致,而且还要首字母大写

java文件中的三个顶级元素:

package

1.最终会是以文件夹的形式体现出来(有什么包,就必须有什么文件夹,运行的时候.class文件必须在这个文件夹下面)

2.  .java文件中有多个package的时候,用.分割并且结尾用;号结束 例如:(com.hangsing.test;)

3.包也是java中类的标识的一部分,确定某一个类是通过包名加类名来唯一确定的 比如运行java类的时候:

java package.类名 (java com.hangsing.test.HelloPackage)

import

1.导包用的关键字

2.如果你想在当前这个类使用其他的类,那么就必须通过这个关键字,把那个类导入进来

3. java.lang包下面的类可以直接使用,不用导入.

4. 和当前这个类位于同一个包下面的类,也不需要导入,可以直接使用

class

java中标识一个类的关键字

(java类中可以没有package,也可以没有import,但是一定会class)

编写带包名的类 HelloPackage.java

package com.hangsing.test;

public class HelloPackage{

public static void main(String[] args){

System.out.println("hello world");

System.out.println("hello world");

System.out.print("hello world");

}

}

直接编译 javac  HelloPackage.java

然后运行 java HelloPackage  报错!!!

在当前(ch01)目录下面建立文件夹 com/hangsing/test

然后把HelloPackage.class文件剪切到了这个test目录里面

然后在ch01目录下运行:

java com.hangsing.test.HelloPackage

以上建立文件夹并且把.class文件剪切到相应的文件夹里面的操作,我们可以用命令在编译的时候实现

javac -d . HelloPackage.java

-d 表示编译的同时生产和这个.java文件中定义的包名相一致的是文件夹结构,

.  表示在当前目录下生产这个文件夹(这个不一定非是.  也可以是其他路径)

最后编译完成后的.class文件也会自动的放进生产的文件夹里面

然后我们之间用package.类名去运行就可以了

java com.hangsing.test.HelloPackage

注意:没有main方法的类是不能直接运行的

main的形式是固定的(大体是固定,之后会看到改动一些指定地方也是可以的)

public static void main(String[] args){

......

}

因为main方法是程序的入口,要直接运行的那个类,类加载之后,JVM没有在这个类中找个main方法,那么就会报错

JVM只会运行*java命令后面*指定的类中的main方法(如果没有这个方法就报错)

java com.hangsing.test.HelloWorld

Java环境变量配置比较简单,多试试,有着印象即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,497评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,497评论 18 399
  • 小编费力收集:给你想要的面试集合 1.C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JA...
    八爷君阅读 4,544评论 1 114
  • 文/文风居士 万物皆有灵性,何况孩子那纯真的笑颜。 孩子从感知到这个世界便向往着一切的美好,孩童的灵性里透着的是世...
    成悦如阅读 481评论 0 0
  • 前天,微信上看到一个好友请求通知,附加消息是:你是某某吗?某某是我的名字。 这指定是认识啊,遂赶紧通过。看微信头像...
    最是此风怡人阅读 264评论 0 1