Java笔记一:Java技术

      写Java笔记,只是为了加深自己在学习,研究中所得出的结论.同时也是为了避免以后忘记,可以有个回头看的地方。

      以前谈到Java,第一认知就是Java是面向对象的程序设计语言.但是最近通过对于java技术的学习尤其是基础知识的学习.对于有了自己全新的认识.也是从现在开始,再次谈到Java我会说它是一个技术体系,而这个技术的目的就是为了开发基于计算机的软件系统..

    一:  Java技术体系可以分为4个部分:

      1: java面向对象程序设计语言 :  这部分主要涵盖了java语言的语法,以及面向对象的思想。

      2:  java技术的文件格式:  这部分主要涵盖了 (1)编写java的 .java源文件.(2)通过javac编译器编译形成的java class字节码文件.class(3)java的各种打包文件 .jar .war等.以及一些JDK提供的命令工具所形成的文件

      3:  java 虚拟机即我们常说的jvm(java virtual Machine):这部分主要涵盖了java程序运行的所需环境,也是java跨平台的关键所在.java 虚拟机提供了自动内存管理机制,

类加载子系统,垃圾收集器子系统,多线程等....

     4:  java提供的系统类库,或者说是系统API:这部分主要涵盖了我们日常使用的基础类库,核心类库.java提供的系统类库其实本质就是由java编写形成的.class文件打成jar包之后供我们使用.目的是为了方便编程.而我们日常使用的核心类库大部分都存放在 jre目录下的lib下的rt.jar包中。

      二: Java的三个开发平台:

       1:  java SE(java platform standard edition) :java 平台标准版 : Java 的基础,以及标准.我们所常用的类库都是属于java SE下的.同时java EE java ME也是基于SE进行扩展的

       2: java EE(java platform enterprise edition) :java 平台企业版: Java 关于企业系统的开发平台,包括了java EE的所有规范技术,JDBC,Servlet Jsp,JPA,EJB等也是三个平台中最热门的.

       3:  java ME(java platform micro edition):java 平台微型版:个人没有接触过,主要针对的是手机这种移动系统的开发.

       三 :JDK(java DeveLopMent KIT):java 开发工具包

            一直以来对于JDK都没有真正的去学习过,其实作为java开发工具包还是SUN现在是ORACLE官方提供的,应该作为java学习者的第一个要学习的.

           1 JDK的目录 :

                 Bin目录:java 提供的所有命令工具程序.比如javac java等..

                 lib目录:这个比较特殊一直以为存放的是java的核心类库,因为配置classpath的时候也会配置这个lib下的dt.jar和tool.jar(当然现在java的高版本越来越智能化,所以java虚拟机会自动去加载这俩个类库,并在当前路径下搜索要加载的类).真正的打开jar后一看才发现其实lib下所存放的dt.jar和tool.jar里的是jdk提供的命令程序的 类库,也就是说我们的java javac这些命令程序都是基于java编写的..所以我们要将这些类库默认加到classpath下..不然执行javac这个java虚拟机进程的时候java虚拟机找不到javac命令程序的所需jar包,那我们连编译器都无法使用.

                include目录:这个我们接触的比较少,因为java的很多系统类库方法都是通过本地方法实现的而本地方法很多都是基于c语言实现的,所以需要引入头文件,而头文件就放置在这里.

                jre目录:jdk默认的内置的java运行环境.这个是提供给JDK自带的java程序运行的和外部的jre的区别是它有server模式的java虚拟机

           2  JDK  JRE :

               JDK是提供给开发人员的工具包它本身已经涵盖了java技术的所有组成..JRE(java运行时环境)是提供给使用java程序的人员..如果只是运行java程序只需要安装JRE即可.

               JDK中包含了JRE而JRE中又包含了JVM.....

               关于JRE要明白JDK目录下的JRE是提供给JDK自带程序的运行环境.而和JDK同目录存在的JRE是提供给我们自己开发出的java程序运行的..而且必须要明白的是java的核心类库(java.lang,java.utils,java.net,java.io等等)都是存放在jre lib目录下的rt.jar包中的只所以放在这里是为了方便启动java进程时java虚拟机加载..

         

-----------------------------------------------------------------------------------------------------华丽的分割线

                关于java先记录到这里.下面说一下让很多java新手甚至是有很多年开发经验的java老手比较困惑的一个问题.

                JDK的环境变量的配置:

                    要完全搞明白这个问题,首先要知道操作系统的环境变量的作用.在我看来环境变量的作用是提供运行程序的相关信息以支持操作系统正确的运行程序..

                    比如说PATH环境变量参数,在没有配置jdk的时候会发现它已经默认存在并且配上了windows sysytem32的目录而这个目录就是为了告诉操作系统内核去哪里寻找要执行的程序(可以去看下当你安装了jre之后会默认在system32的目录下有一个java.exe程序用来开启java 虚拟机进程的java 命令程序,所以用户只要安装了jre就不用配置环境变量就可以直接执行)..  总之记住 操作系统在执行一个程序的时候会默认从当前路径和path参数指定的目录下去寻找程序.

                   说了这么多总结一下:

                   通过jdk的环境变量配置:

                   JAVA_HOME:这个其实只是为了以后引用java安装目录方便(以后直接使用这个%JAVA_HOME%就可以代表java_home指定的目录)

                   PATH:上面已经说明.是为了让操作系统找到java命令程序

                  CLASSPATH:可以这么说classpath对于java就类似于PATH对于操作系统,旧版本的JDK必须要配置当前路径和dt.jar和tool.jar为什么配置上面已经说明..而新版本已经默认加载了dt.jar和tool.jar和当前路径.总之classpath就是告诉虚拟机要加载的类的路径,虚拟机才知道启动的时候去哪里加载所需要的类




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值