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工具

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基础-01基本概念的更多相关文章

  1. java基础 01

    java基础01 1. /** * JDK: (Java Development ToolKit) java开发工具包.JDK是整个java的核心! * 包括了java运行环境 JRE(Java Ru ...

  2. java基础01

    1. /** * JDK: (Java Development ToolKit) java开发工具包.JDK是整个java的核心! * 包括了java运行环境 JRE(Java Runtime Env ...

  3. 一、Java基础--01

    Java基础测试题分析 第一题是关于基本的算法知识,这个很有必要去掌握以下,在学校也经常听老师们说找工作比试面试会出一些这方面的知识,我拿到的第一题是关于排序的,虽然很简单,但是我还是要提醒一下基础不 ...

  4. Java基础(1) - 语法 & 概念

    Java基础语法 基础 1. Java对大小写敏感 2. Java注释 //单行注释 这是一行注释 /* 这里是多行 注释 */ /** 这里是文档注释 @author 0o晓月メ */ 3. 访问修 ...

  5. java基础-01代理类

    简单的代理类实现案例主实现类:ProxyTestimport java.lang.reflect.InvocationHandler;import java.lang.reflect.Proxy;im ...

  6. Java基础01 ------ 从HelloWorld到面向对象

    Java是完全面向对象的语言.Java通过虚拟机的运行机制,实现“跨平台”的理念.我在这里想要呈现一个适合初学者的教程,希望对大家有用. "Hello World!" 先来看一个H ...

  7. Java基础01 从HelloWorld到面向对象(转载)

    Java是完全面向对象的语言.Java通过虚拟机的运行机制,实现“跨平台”的理念. "Hello World!" public class HelloWorld{    publi ...

  8. java 基础 01 变量和注释、数据类型

    1,变量和注释 比如:姓名:xiaoming 年龄:18 1.1变量的基本概念 当需要在程序中记录单个数据内容时,则需要声明一个变量来处理,而变量的本质就是内存中申请一块存储单元用于存储数据内容,由于 ...

  9. java基础知识-基本概念

    1.1 java语言有哪些优点? 1.java语言为纯面向对象的语言. 2.平台无关性.java语言的优点便是“一次编译,到处执行”.编译后的程序不会被平台所约束,因此java语言有很好的移植性. 3 ...

随机推荐

  1. AI - TensorFlow - 张量(Tensor)

    张量(Tensor) 在Tensorflow中,变量统一称作张量(Tensor). 张量(Tensor)是任意维度的数组. 0阶张量:纯量或标量 (scalar), 也就是一个数值,例如,\'Howd ...

  2. Intellij IDEA 阅读源码的 4 个绝技,我必须分享给你!

    前段时间分享了<阅读跟踪 Java 源码的几个小技巧>是基于 Eclipse 版本的,看大家的留言都是想要 IDEA 版本的源码阅读技巧. 所以,为了满足众多 IDEA 粉丝的要求,栈长我 ...

  3. docker快速搭建几个常用的第三方服务

    本次和大家分享的内容是使用docker快速搭建工作中常用的第三方的服务,对于有一些互联网背景的公司来说,以下几个服务都是很需要的:redis,rabbit,elasticsearch: 本篇涉及内容深 ...

  4. Spring之旅第一篇-初识Spring

    一.概述 只要用框架开发java,一定躲不过spring,Spring是一个轻量级的Java开源框架,存在的目的是用于构建轻量级的J2EE应用.Spring的核心是控制反转(IOC)和面向切面编程(A ...

  5. ZooKeeper 02 - ZooKeeper集群的节点为什么是奇数个

    目录 1 关于节点个数的说明 2 ZooKeeper集群的容错数 3 ZooKeeper集群可用的标准 4 为什么不能是偶数个节点 4.1 防止由脑裂造成的集群不可用 4.2 奇数个节点更省资源 4. ...

  6. JavaScript一看就懂(3)数组

    定义数组 var a = [1, 2, 3]; typeof a; //"object", 数组是对象 a.length; //数组长度 相关操作 a[0]; //下标访问 a.p ...

  7. python学习第九讲,python中的数据类型,字符串的使用与介绍

    目录 python学习第九讲,python中的数据类型,字符串的使用与介绍 一丶字符串 1.字符串的定义 2.字符串的常见操作 3.字符串操作 len count index操作 4.判断空白字符,判 ...

  8. Selenium的发展历史及原理

    目录 1. selenium1.0的产生 2. webdriver的产生 3. selenium和webdriver的合并 4. selenium3.0的产生 1. selenium1.0的产生 为什 ...

  9. WPF 水印TextBox WatermarkTextBox

    //https://blog.csdn.net/puchitomato/article/details/12248691 转自以上链接,自己添加了Enter响应事件.    public class ...

  10. jQuery内容过滤选择器与子元素过滤选择器用法实例分析

    jQuery选择器内容过滤 一.:contains(text) 选择器::contains(text)描述:匹配包含给定文本的元素返回值:元素集合 示例: ? 1 2 $("div.mini ...