java基础-01基本概念

java的特点

跨平台

  • 所谓的平台,我们可以理解为操作系统。
  • 大部分语言是不能跨平台的,比如c语言的程序在windows和linux上需要编写不同的代码。
  • java程序是运行在JVM(Java Virtual Machine - Java虚拟机-虚构出来的计算机)中, JVM是Java跨平台使用的根本。
  • Java既是编译型语言(编译为字节码,字节码可以在jvm中运行)也是解释型语言(jvm把字节码解释为具体平台的机器指令)。

可靠安全

  • 强类型语言,变量先定义再使用,编译时会检查变量类型是否正确。
  • 使用引用类型代替指针,指针可以直接操作内存,可能导致程序崩溃。
  • JVM会对字节码进行检查。
  • 异常处理机制,对可能错误的代码,进行异常检查。

面向对象

  • 支持封装、继承、多态,模块化,高内聚,低耦合,通过接口联系。
  • 一切都是对象。

多线程

  • 多线程功能使得在一个程序里可同时执行多个小任务。
  • 多线程带来的更大的好处是更好的交互性能和实时控制性能。

分布式计算

  • 包含HTTP和FTP等协议类库,可凭借URL操作网络对象,访问方式与访问本地文件系统几乎完全相同,为分布式编程提供了很大方便。 
  • 强大的网络编程,比如socket编程。

动态特性

  • 动态特性,允许程序动态地装入运行过程中所需要的类。
  • 实现方式1:反射Reflection(慢,耗性能,是直接invoke发生的近1000倍)和动态代理。
  • 实现方式2:Instrumentation(java6新特性), 运行时类转化Runtime Class Transformation。

java工作方式

  1. 编写源代码。列入存为 Party.java

  2. 编译器。 执行javac来编译源代码。编译器会检查错误。

  3. 如果程序没有错误,编译器产生编译文件Party.class文件。这个编译文件由字节码组成。这个编译文件与平台无关

  4. 启动JVM(Java虚拟机),运行Party.calss. JVM将字节码转换为平台能理解的形式来运行。

开发工具

JDK工具

  • javac 编译
  • java 运行
  • jar 打包
    https://www.cnblogs.com/wang7/p/10127415.html

IDEA

Intellj IDEA 简易教程 http://www.cnblogs.com/rocedu/p/6371315.html#SECDEBUG

java术语

java 三个体系

  • JavaSE(Java Platform Standard Edition,java平台标准版)
  • JavaEE(Java Platform Enterprise Edition,java平台企业版)
  • JavaME(Java Platform Micro Edition,java平台微型版)

java专有术语

  • JDK(Java Development Kit):Java 语言的软件开发工具包
  • OpenJDK:Java SE 的一个免费开源实现, 不包含浏览器集成或 JavaFX
  • JRE(Java Runtime Environment): Java 运行环境,JRE由Java API和JVM组成
  • JVM (Java Virtual Machine):java虚拟机
  • JAVA_HOME:java安装位置,用来配置环境变量
  • classpath: 类路径,让java 解释器知道到哪里去找类

源程序结构

Java 包(package):为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。
包的作用如下:

  1. 模块化:把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
  2. 唯一标识:【包名+类名】在同一个程序中必须是唯一的,避免名字冲突。不同包的类名可以相同,但使用时应该指定包名。
  3. 权限控制:类名前不加任何权限修饰词时,代表只有这个包的类可以访问这个类。

Java中的访问权限控制的等级,按照权限从大到小依次为:
Public -> protected -> 包访问权限(没有权限修饰词)-> private。

注释

行注释  //
多行注释 /**/



文档注释:
/**

标签  描述  示例
@author 标识一个类的作者    @author description
@version    指定类的版本  @version info

@param  说明一个方法的参数   @param parameter-name explanation
@return 说明返回值类型 @return explanation
@deprecated 指名一个过期的类或成员 @deprecated description
 
@exception  标志一个类抛出的异常  @exception exception-name explanation
@throws 和 @exception标签一样.   The @throws tag has the same meaning as the @exception tag.

{@link} 插入一个到另一个主题的链接   {@link name text}
{@linkplain}    插入一个到另一个主题的链接,但是该链接显示纯文本字体  Inserts an in-line link to another topic.
@see    指定一个到另一个主题的链接   @see anchor
{@value}    显示常量的值,该常量必须是static属性。  Displays the value of a constant, which must be a static field.
*/

参考

  • Java语言的主要特点 https://www.cnblogs.com/yxiaooutlook/p/7625362.html
  • JAVA语言主要特点有哪些? https://www.cnblogs.com/jay36/p/7762535.html
  • Java编程的动态特性, 从Reflection到Runtime Class Transformation https://blog.csdn.net/iteye_12751/article/details/82550531
  • Instrumentation 新功能 https://www.ibm.com/developerworks/cn/java/j-lo-jse61/
  • Java Instrumentation https://blog.csdn.net/DorMOUSENone/article/details/81781131
  • JDK工具一览表 https://blog.csdn.net/qq_27607965/article/details/79982519
  • Java学习之专业术语 https://blog.csdn.net/yxys01/article/details/78517459
  • Java中的访问控制权限 https://www.cnblogs.com/jingmoxukong/p/5182331.html
  • Java 文档注释http://www.runoob.com/java/java-documentation.html

猜你喜欢

转载自www.cnblogs.com/wang7/p/10130210.html