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工作方式
编写源代码。列入存为 Party.java
编译器。 执行javac来编译源代码。编译器会检查错误。
如果程序没有错误,编译器产生编译文件Party.class文件。这个编译文件由字节码组成。这个编译文件与平台无关
启动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 提供了包机制,用于区别类名的命名空间。
包的作用如下:
- 模块化:把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
- 唯一标识:【包名+类名】在同一个程序中必须是唯一的,避免名字冲突。不同包的类名可以相同,但使用时应该指定包名。
- 权限控制:类名前不加任何权限修饰词时,代表只有这个包的类可以访问这个类。
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
java基础-01基本概念相关推荐
- 【重难点】【Java基础 01】一致性哈希算法、sleep() 和wait() 的区别、强软弱虚引用
[重难点][Java基础 01]一致性哈希算法.sleep() 和wait() 的区别.强软弱虚引用 文章目录 [重难点][Java基础 01]一致性哈希算法.sleep() 和wait() 的区别. ...
- Java 基础-01 Java语言入门
文章目录 Java 基础-01 Java语言入门 1.计算机基本概念 1.1 计算机概述 1.2 计算机组成 1.3 CPU.内存与硬盘 2.软件基本概念 2.1 软件概述 2.2 人机交互方式 2. ...
- Java基础01 注释
JAVA基础01 注释 注释 平时我们编写代码,在代码量比较少的时候,我们还是可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了. 注释并不会被执行,是给我们写代码的人看的 书写注释是 ...
- Java基础01 基础语法
文章目录 01 Java概述 1.JAVA安装 2.HelloWorld 3.JAVA概述 3.1 JAVA的发展 3.2JAVA可以做什么 3.2.1 JAVA SE 3.2.2 JAVA ME 3 ...
- Java基础01:基础
选择了这条软件开发的道路,就要走下去,不能半途而费.每天都要完成必要的任务,不然就会忘记.每天都要练习,不然就会忘记. 所以每天都是异常硬仗.必须好好的打每一场战斗.才能在以后走的更远, ...
- Java基础01 Java的安装和配置
超详细的Java知识点路线图 前言 一直想写一个系列文章,包含:Java基础.JavaWeb.Java企业级框架.分布式.就业等,希望能帮助到想学Java的朋友,自己也能获得提升,这是个大工程,千里之 ...
- Java基础01:注释
什么是注释? 平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了.注释可以是编程思路或者是程序的作用, 注释并不会被执行,是给我们写代码的 ...
- Java基础01 从HelloWorld到面向对象
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Java是完全面向对象的语言.Java通过虚拟机的运行机制,实现"跨平台 ...
- Java基础01 1个和2个区别比较
& 位运算符 && 逻辑运算符 举例说明 逻辑运算符&&:一旦左端为false,不再运算右端,直接得到结果为false 测试代码: public class d ...
最新文章
- 自然语言处理(NLP)之gensim中的TF-IDF的计算方法
- 计算机操作系统:虚拟存储器
- 8类网线利弊_超6类网线和7类网线有何区别?有何用途?家用电脑,看这
- 如何判断一个SAP CRM UI能否被扩展
- java编译器jdk版本_以编程方式确定Java类的JDK编译版本
- JavaScript 基础
- 微信小程序--数据存储
- 阿里第一颗芯片问世,平头哥发布最强AI芯片含光800
- 希捷银河声音大_【推仔说新闻】那款硬盘它终于来了 希捷推出首款双磁臂硬盘...
- 好色之旅-画图三字经
- Centos7.3 坑爹网络配置
- C++ 删除字符串的首尾空字符
- VS2015 C#利用QrCodeNet生成QR Code
- Mark Text快捷键
- java计算机毕业设计南京新东方学校家校通系统源码+程序+lw文档+mysql数据库
- 密码学——变色龙哈希
- 新手做网页设计?这9款经典网页布局设计了解下
- Python 小试牛刀
- 什么软件测试鞋子真假,教你5招辨别真假Yeezy Boost鞋,真真假假你图啥?
- 通达信收费接口查询可申购新股c++源码分享