Java基础常识
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java的语法跟C语言很像,但是没有C语言里面的指针,没有内存管理(这两点很重要,为Java带来了很大的方便)。
Java初始于1995年,当时的网页简单而粗糙,缺乏互动性,于是在浏览器上弄了一个小插件,在上面开发了一个图形界面的程序Applet,早年的时候是用的比较多,现在已经被JS代替。
Java做到了真正的可移植,编写一次,到处运行,(white once,run anywhere)Java的可移植性主要来源于Java虚拟机,Java虚拟机,就是所有的系统上只要安装了Java的虚拟机,就可以跑Java的程序,可以实现真正的可移植性。
Java的发展:基于Java开发了许多的平台、系统、工具
构建工具:Ant,Maven,jekins
应用服务器:Tomcat,Jetty,Jboss,Websphere,weblogic
web开发:Struts,spring,Hibernate,myBatis
开发工具:Eclipse,netbean ,intelli IDEA,Jbuilder
Hadoop (大数据领域), Android (手机端)
Java有着三高:高可用、高性能、高并发的优点。
Java的三大版本:
JavaSE:标准版 (桌面程序,控制台开发),整个Java的基础和核心。
JavaME:嵌入式开发(手机,小家电) ,基本上被废弃了。
JavaEE:企业级开发(web端,服务器开发),Java应用技术最广泛的领域。
Java的优势:
简单性:可以说是C++的语法纯净版,语法基于C语言,没有头文件、指针、分配内存等
面向对象:程序设计重点在接口,能够模拟人的思维写程序
可移植性:跨平台性,可移植在各种操作系统上,在Windows上写的程序,在Linux上也能运行出来
高性能:集成编译
分布式:Java为网络分布式协议所设计,可以处理TCP/IP协议上的东西,可以通过URL(统一资源定位系统)访问一些网络上的资源,通过Java获取网络上的资源,比较方便。
动态性:Java本身不具有动态性,但是反射机制可以使得Java具有动态性。
多线程:支持多线程
安全性:防病毒、防篡改,不使用指针,有异常机制。
JDK 、 JRE 和 JVM
JDK: Java Development Kit (java 开发者工具,包含JRE和JVM)
JRE: Java Runtime Environment (Java运行时环境,有JRE就可以运行JAVA程序了)
JVM: Java Virtual Machine (Java 虚拟机,可用软件/硬件实现,相当于是在所有的操作系统之上模拟了一个CPU,可以处 理JAVA相关的东西,是跨平台的核心)
Java SE API: Java SE 的一些接口