05_Java基础知识
Java基础知识
一. Java的语言特点
- 面向对象(贴近人类思维模式,模拟现实世界,解决现实问题)
- 简单性(自动内存管理机制,不易造成内存溢出;简化流程处理、语义清晰)
- 跨平台(操作系统、服务器、数据库)
二. 计算机的执行机制
编译执行:
- 将源文件编译成平台相关的机器码文件,一次编译,多次执行。
- 执行效率高,不可跨平台。
解释执行:
- 将源文件交给不同的平台独有的解释器。
- 执行效率低,可以跨平台。
三. Java的执行机制
先编译、再解释:
- 将源文件编译成字节码文件(平台中立文件.class),再将字节码文件进行解释执行。
- java的设计理念:Write Once Run Anywhere
四. 名词解释
- JVM(Java Virtual Machine)虚拟机:使用软件在不同操作系统中,模拟相同的环境
- JRE(Java Runtime Environment)运行环境:包含JVM和解释器,完整的Java运行环境
- JDK(Java Development Kit)开发环境:包含JRE+类库+开发包工具(编译器+调试工具)
五. 类的阐述
- 同一个源文件中可以定义多个类
- 编译后,每个类都会生成独立的.class文件
- 一个类中,只能有一个主方法,每个类都可以有自己的主方法。
- Public修饰的类成为公开类,要求类名必须与文件名称完全相同,包括大小写。
- 一个源文件中,只能有一个公开类
六. Package
- 作用:类似于文件夹,用于管理字节码(.class)文件
- 语法:package 包名;(小写)
- 位置:必须写在源文件的第一行。
- 带包编译:javac -d . 源文件名称.java(自动生成目录结构)
- 带包运行:java 包名.类名(包名+类名又称为全限定名)
- 采用域名倒置的规则:www.baidu.com.cn -> cn.com.baidu.xxx
七. 编码规范
书写格式
- 层级之间必须缩进(Tab:一个制表符)
- 一行只写一句代码
代码注释
- 单行注释://单行注释
- 多行注释:/* 多行注释 */
- 文档注释:/** 文档注释 */(生成外部文档:javadoc -d . HelloWorld.java)
- 注释不参与编译
标识符命名
- 语法规定:可以由字母、数字、_、$,组成,但不能以数字开头
- 不能与关键字、保留字重名
八. 约定俗成
- 望文生义、见名知意
- 类名由一个或多个单词组成,每个单词首字母大写(pascal)
- 函数名、变量名由一个或多个单词组成,首单词首字母小写,拼接词首字母大写(camel)
- 包名全小写,只可以使用特殊字符“.”,并且不可以“.”开头或结尾
- 常量全大写,多个单词用_连接
05_Java基础知识的更多相关文章
- .NET面试题系列[1] - .NET框架基础知识(1)
很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...
- RabbitMQ基础知识
RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- selenium自动化基础知识
什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
- [SQL] SQL 基础知识梳理(二) - 查询基础
SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(三) - 聚合和排序
SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...
- [SQL] SQL 基础知识梳理(四) - 数据更新
SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(五) - 复杂查询
SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...
随机推荐
- 地址解析协议(ARP) 分析
什么是ARP协议 ARP(A ddress R esolution P rotocol)- 地址解析协议 ,用于将IP地址解析为MAC地址.复杂来说,ARP用于32位IPv4地址和以太网的48位MAC ...
- 4G巴歇尔槽流量采集网关
首先向大家展示下拓扑图: 金鸽科技R10物联网网关,带有一个RS485口可以采集巴歇尔槽的液位状态,还提供一个网口用于给摄像头和现场其他的网络设备提供网络传输通道!R10A内置了巴歇尔槽液位换算成流量 ...
- Dubbo源码(六) - 服务路由
前言 本文基于Dubbo2.6.x版本,中文注释版源码已上传github:xiaoguyu/dubbo 今天,来聊点短的,服务路由Router,本文讲的是路由的调用路径,不讲路由的规则解析.想了解规则 ...
- 【原创】JS文件替换神器--Chrome ReRes插件
本文仅供学习交流使用,如侵立删! JS文件替换神器--Chrome ReRes插件 ReRes插件安装配置 ReRes项目官方地址:https://github.com/annnhan/ReRes 谷 ...
- spring实体类(POJO)参数的赋值(form表单)原理
10.实体类(POJO)参数的赋值(form表单)原理 10.1.原理解析 测试用例 准备好两个实体类 public class Person { private String name; priva ...
- 万答#3,MGR最佳配置参考,PFS里的监测指标要全开吗,mysqld进程占用内存过高怎么排查
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 问题1,有推荐的MGR运行最佳配置参考吗 在「3306π」社区广州站5月22日的分享会上,万里数据库CTO娄帅给出了他建议 ...
- bash脚本里的-h是什么意思?
问题描述 我在看脚本的时候,看到了下面代码 其中的-h "$PRG"我一时没明白是在判断什么东西.然后翻阅了一下菜鸟教程和其他教程,都没有说. 问题解决 -h其实是在判断这个文件是 ...
- java-面向对象之类、对象
什么是类?什么是对象? 1)现实世界是由很多很多对象组成的基于对象抽出了类 2)对象:真实存在的单个的个体 类:类别/类型,代表一类个体 3)类中可以包含: 3.1)所有对象所共有的属性/特征---- ...
- ES6 Promise详解
前言 本文主要是对Promise本身的用法做一个全面解析而非它的原理实现,如果你对Promise的用法还不是很熟悉或者想加深你对Promise的理解,我相信这篇文章一定会帮到你. 首先让我们先了解一下 ...
- JavaScript基础回顾知识点记录2
js 使用嵌套for循环输出三角形 for(var i=0; i<5; i++){ //正三角 // for(var j=0; j<i+1; j++){ // document.write ...