初识java

来源:互联网 发布:数据管控流程 编辑:程序博客网 时间:2024/06/01 13:30

注:本人最近在复习整理java开发相关的知识,做java开发两年多的时间了,接触了很多东西,最近考虑整理下来供自己也可以供大家参考,希望大家共同进步。博客会不定时更新补充。

java是一门静态面向对象编程语言,也可以说是一个完整的平台,java有一个庞大的库,其中还包含了很多可重用的代码和一个提供诸如安全性、跨操作系统的可移植性以及自动垃圾收集等服务的执行环境。java不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此java语言具有功能强大和简单易用两个特征。

学习java主要就是学习java的面向对象思想和它的庞大的类库。java是一门开源的语言,背后拥有庞大的开源社区、第三方库、社区资料做支撑,所以可以轻松的学习到别人的经验,开发遇到问题google或者baidu一下都是一大堆资料,这点对于java程序员还是很爽的,相反也证明了你要学习的东西很多很多,使用java越久越会发现这个语言的广阔。

java的特性:

  • 简单性
    可以说,java是c++的一个“纯净”版本,因为没有头文件、指针运算、结构、联合、操作符重载、虚基类等让人头痛的特性,故java语言学习起来相对不那么费力。

  • 面向对象
    java语言最大的特点就是面向对象,这意味着要注意应中的数据和操纵数据的方法,而不是严格地用过程来思考,关于面向对象后面会详细介绍。虽然第一个面向对象的编程语言不是java(是simula 67),但java的面向对象技术已经相当成熟,可以与c++旗鼓相当。尤其java的继承,使java表现的极其优秀。

  • 分布式
    java设计成支持在网络上应用,它是分布式语言。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。

  • 健壮性
    java编译器能够检测出许多其他语言在运行期间才能检测出来的问题,并且具有自己的异常处理机制。

  • 安全性
    java从一开始就设计成能够防范各种攻击,包括:

    • 运行时堆栈溢出。如蠕虫和病毒的常用攻击手段。
    • 破坏自己的进程空间之外的内存。
    • 未经授权读取文件。
      虽然从java第一版发布不久,就被安全专家发现一些小漏洞可以被不可信的代码攻击主系统,但是目前java已经变得越来越安全。
  • 可移植性
    一次编程,到处使用可谓是java最响亮的广告。java使得语言声明不依赖于实现的方面,基本数据类型的大小及有关运算都做了明确说明,这样一来就解决了代码移植性令人头痛的问题。而且java环境本身对新的硬件平台和操作系统是可移植的。java编译程序也用java编写,而java运行系统用ANSIC语言编写。
  • 高性能
    或许你有这样的想法,java是一种先编译后解释的语言,所以它不如全编译性语言快。所以设计者制作了“及时”编译程序,它能在运行时把java字节码翻译成特定CPU(中央处理器)的机器代码,所以在速度上的那一点影响已经可以不必重视。
  • 多线程
    java是第一个支持并发程序设计的主流语言。多线程着眼于获得更多的处理器,并且让他们保持同时操作,这样可以带来更好的交互响应和实时行为。

java的发展状况

版本 | 年份 | 语言新特性 | 类与接口的数量

1.0| 1996|语言本身|211

1.1 | 1997|内部类|477

1.2 | 1998|strictfp修饰符|1524

1.3 | 2000|无|1840

1.4 | 2002|断言|2723

5 | 2004|泛型类、for each循环、可变元参数、自动装箱、元数据、枚举、静态导入|3279

6 | 2006|无|3793

7 | 2011|基于字符串的switch、钻石操作符、二进制字面量、异常处理改进|4024

8 | 2014|lambda表达式、包含默认方法的接口、流和日期/时间库|4240

9 | 2017|jdk模块化|

开发前的准备

先普及几个概念:

  • jdk 就是Java Development Kit的缩写,也就是java开发工具包,包含了jre和一些开发工具。是开发java程序的最小环境,所以学习java要安装这个。
  • jre 就是Java Runtime Environment的缩写,指java运行环境。
  • jvm 就是java Virtual Machine的缩写,指java虚拟机。它的作用就是加载和运行.class文件。java的一次编程到处使用就是通过jvm实现的。java语言编译程序只需生成在java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。jvm执行字节码时,把字节码解释成具体平台上的机器指令执行。注意jvm不是平台无关的,不同的平台的jvm是不一样的。
    在这里顺便说一下java的运行编译过程:
    .java源文件通过.javac命令编译——>生成.class字节码文件——>jvm加载并运行.class文件。
    实际上,这个过程很复杂,以后大家可以深入学习java虚拟机来了解。
  • Java SE(Java Platform,Standard Edition)。Java SE 以前称为J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。你可以理解它是java基础,因为现在的java桌面程序很少见了。
  • Java EE(Java Platform,Enterprise Edition)。这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,可以简单理解为jsp技术+ejb技术。
  • Java ME(Java Platform,Micro Edition)。这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。

关于jdk的安装
建议大家安装jdk8的版本,windows如何安装jdk和配置环境变量就不赘述了,大家可以参考一下
win7:win7安装jdk1.8
win10:win10安装jdk1.8

开发工具(IDE)—集成开发环境

  • eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具。我使用的是Mars版本,比较好用。
    官方下载地址:http://www.eclipse.org/downloads/packages/all
    懒得去找可以在我的百度云下载:链接: https://pan.baidu.com/s/1bAFHXO 密码: tnkj
  • myEclipse在eclipse的基础上封装了常用的插件,更利于直接上手开发而不用自己去配置插件什么的。虽然是收费的但是目前破解的还不错。我用的是myEclipse2014版的。
    百度云下载(内含破解):链接: https://pan.baidu.com/s/1skAll6l 密码: vdtg
    -idea intellij 这款开发工具很强大,建议初学者使用eclipse,以后在使用这款开发工具。
    百度云下载(内含破解需要的工具):链接: https://pan.baidu.com/s/1mhZxO4w 密码: 8vpv
    如何破解可以看这位大神的教程:idea itellij破解
原创粉丝点击