JAVA基础(一)——什么是java

1.1  java属于解释执行还是编译执行

首先,我们要知道解释执行和编译执行的区别:

解释执行——程序运行时,将源文件逐行解释为机器语言执行

编译执行——程序运行前,将源文件全部编译为机器语言再执行

       而Java是一种特殊的解释型语言(首先将java的类文件编译成jvm能识别的字节码文件,然后针对热点方法,利用JTT即时编译技术,编译执行,而对于非热点方法,采用的则是解释执行),整体过程如下:Java文件在运行前先被编译(工具:javac.exe)成字节码文件(class文件),然后在虚拟机中被解释(工具:java.exejavaw.exe(非阻塞执行))运行。

1.2 java的语言特性

       java属于面向对象语言,具备封装,继承,多态三大特性。

封装:每个类不对外暴露其构造和实现,只展示自身的功能与作用

继承:同一父类的子类共同持有父类的公有(非private)资源

多态:同一父类的子类对于父类公有方法或资源,可以具备不同的表达方式

1.3 java语言的版本特性

a: JDK1.1

1、反射

2、内部类

b: JDK1.2

1、集合API(Map,List,Set)

c: JDK1.4

1、IO API

2、文本正则表达式

3、xml

4、日志Api

d: JDK1.5

1、自动装箱与拆箱:
       2、枚举(常用来设计单例模式)
       3、
静态导入
       4、可变参数
       5、内省
e: JDK1.6
      1、Web服务元数据
      2、脚本语言支持
      3、JTable的排序和过滤
      4、更简单,更强大的JAX-WS
      5、
轻量级Http Server
      6、
嵌入式数据库 Derby
f: JDK1.7
     1、switch中可以使用字串了
     2、运用List tempList = newArrayList<>(); 即泛型实例化类型自动推断
     3、语法上支持集合,而不一定是数组
     4、新增一些取环境信息的工具方法
     5、Boolean类型反转,空指针安全,参与位运算
     6、两个char间的equals
     7、
安全的加减乘除
     8、map集合支持并发请求,且可以写成 Map map ={name:"xxx",age:18};
g: JDK1.8
     1、允许在接口中有默认方法实现
     2、Lambda表达式
     3、函数式接口
     4、方法和构造函数引用
     5、Lambda的范围
     6、内置函数式接口
     7、Streams
     8、Parallel Streams
     9、Map
    10、 
时间日期API
    11、Annotations

    12、Optional(这是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。)
h:JDK1.9
    1、Jigsaw 项目;模块化源码
    2、简化进程API
    3、
轻量级 JSON API
    4、
钱和货币的API
    5、改善锁争用机制
    6、代码分段缓存
    7、智能Java编译, 第二阶段
    8、HTTP 2.0客户端
    9、Kulla计划: JavaREPL实现

1.4 Java语言的平台分类

      

1.5 jdk文件目录

-bin目录: JDK开发工具的可执行文件 
-lib目录: 开发工具使用的归档包文件
-jre: Java 运行时环境的根目录,包含Java虚拟机,运行时的类包和Java应用启动器,
        但不包含开发环境中的开发工具
-demo: 含有源代码的程序示例
-include: 包含C语言头文件,支持Java本地接口与Java虚拟机调试程序接口的本地编程技术。

1.6 JVM、JRE、JDK关系

1.2.1 什么是跨平台?

平台:指的是操作系统(Windows,Linux,Mac)

跨平台:Java程序可以在任意操作系统上运行,一次编写到处运行

原理:不同的编译器对于不同平台,获取后的class文件在相同JVM中运行

1.2.2 JVM、JRE 、JDK说明

A:什么是JVM

JVM是java虚拟机(JVM Java Virtual Machine),java程序需要运行在虚拟机上,不同平台有自己的虚拟机,因此java语言可以跨平台

B:什么是JRE(运行环境

包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

               JRE:JVM+类库+运行工具(java.exe。 

C:什么是JDK(开发环境

JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。其中的开发工具:编译工具(javac.exe) 运行工具(java.exe 打包工具(jar.exe)

D:为什么JDK中包含一个JRE

             JDK若无JRE则缺少虚拟机,而开发完的程序,需要运行一下看看效果。

E:JDK,JRE,JVM的作用和关系

JDK包含JRE 和开发工具包              JRE包含 核心类库和JVM

F:环境配置注意事项

JRE不可以安装在JDK内部(javac无法执行),CLASSPATH最好不配置

1.7  JAVA与其他语言对比

1.3.1 JAVA与C对比

        1、JAVA面向对象,C面向过程

        2、JAVA跨平台,C需要重新编译

        3、JAVA没有指针,无法高效运算

        4、JAVA能自动垃圾回收

        5、JAVA无法直接管理内存

        6、JAVA没有预处理器

1.3.2 JAVA与C++

        1、JAVA采用值传递

        2、JAVA不能多继承

        3、JAVA无法重载运算符

1.3.3 JAVA与PHP

        1、JAVA是静态语言,PHP是动态语言

        2、JAVA支持多线程,PHP不支持

总结:PHP快捷 、C高性能、JAVA安全稳定

 1.8 java为什么能火   

说性能,java弱于C,说编码复杂度,java不如py,当为啥java能稳坐编程语言宝座这么多年?首先我们从学习者角度从发,学习java,我们拥有丰富的资源,用人单位聘用java人数也最多,而且java具备丰富的生态系统,几乎每个功能点,都有相应的解决方案,不需要自己费心费力去创造。再从公司角度出发,java稳定,安全可靠,而且采用JIT技术后性能与C比也弱不了多少,而且java的项目结构,更适合团队协作,以及后期扩展。

由此,综合考量,java更加适合想要从事编程的人来学习,也适合公司进行项目开发管理,所以java必须火。

 

  • 23
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值