漫步Java------初识java
一、 Java语言概述
- 语言:是人与人之间用于沟通的一种方式。
- 例如:中国人与中国人用普通话沟通。而中国人要和英国人交流,就要学习英语。
- 计算机语言(编程语言):
- 人与计算机交流的方式。如果人要与计算机交流,那么就要学习计算机语言。计算机语言有很多种,如:C,C++,Java,PHP等。
二、Java程序运行机制
1、核心机制—Java虚拟机(Java Virtual Machine)
- JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。
- 负责执行指令,管理数据、内存、寄存器。
- JVM 用于运行 Java 应用程序
- 对于不同的平台,有不同的虚拟机。
- Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。
2、核心机制—垃圾回收(Garbage Collection)
- 垃圾回收:将不再使用的内存空间进行回收。
- 在 C/C++ 等语言中,由程序员负责回收无用内存。
- Java 不需要程序员负责回收无用的内存:它提供一种系统级线程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。
- 垃圾回收在 Java 程序运行过程中自动进行,程序员无法精确控制和干预。
三、JDK和JRE(JDK包含JRE)
1、JDK(完成 java 程序的开发)
- 常用工具:
- javac 是用来编译源代码的命令。
- java 是用于执行类文件的命令,而类文件将在 Java 虚拟机中运行类。
- appletviewer 命令允许在万维网浏览器的环境之外运行 Applet。
- 安装:
- bin:一些执行文件,Java的编译器、解释器和工具。
- demo:各种演示的实例。
- lib:保存库文件。
- include:Win32子目录,都是本地方法文件。
- jre:Java程序运行环境的根目录。
2、JRE(运行开发好的 Java 应用程序)
- 包含:
- Java虚拟机(JVM:Java Virtual Machine)
- Java 程序所需的核心类库等,
附:如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
四、Java语言的特点
1、特点
- 面向对象(主要特点)
- 简单性
- 分布式与安全性
- 解释和编译特性
- 多线程
- 动态执行
- 自动废区回收性
- 丰富的API文档和类库
- 健壮性
- 跨平台性
2、两个基本概念:
- 类
- 对象
3、三大特性:
- 封装
- 继承
- 多态
五、Java 的API文档
API (Application Programming Interface,应用程序编程接口)是 Java 提供的基本编程接口。
Java语言提供了大量的基础类,因此 Oracle 也为这些基础类提供了相应的API文档,用于告诉开发者如何使用这些类,以及这些类里包含的方法。
六、Java开发环境的配置
1、系统环境变量的设置
- 定义:
环境变量是包含关于系统及当前登录用户的环境信息的字符串,一些程序使用此信息确定在何处放置和搜索文件。
- JDK相关的环境变量:
- path:告诉操作系统到哪里去查找所需要的执行的文件
- classpath:告诉JDK 工具到哪里去查找类文件(.class 文件)。
2、环境变量Path的设置
- 我的电脑→属性→高级系统设置→系统属性→环境变量→选中系统环境变量path→编辑按钮→对环境变量path进行修改→添加“;c:\java\jdk7\bin”→确定
3、环境变量classpath的设置
如果环境变量中不存在该变量,则新建它,如果存在则编辑它. 在classpath对应的变量值中添加Java类文件(.class 文件)所在的路径,假定要用到的类文件存放在D:\JavaTest目录下,把D:\JavaTest添加到变量值对应的编辑框中,然后单击“确定”按钮,即可完成对classpath环境变量的设置。
七、一个简单Java应用程序---Hello Word
【例】编程输出字符串:Hello world!
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello world!");
}
}
说明:
- 存储文件时源文件的扩展名必须为Java,且源文件名必须与程序中声明为public class的类的名字完全一致(包括大小写一致)。
- 程序中public class HelloWorld声明要建立一个名为HelloWorld的类,关键字class说明一个类声明的开始。类声明由类头和类体组成,类体部分的内容由一对大括号括起来,在类中不能嵌套声明其它类。类体内容包括属性和方法,具体内容将在在第3章中介绍。
- Java应用程序可以由若干类组成,每个类可以定义若干个方法。但其中必须有一个类中包含有一个且只能有一个public static void main(String args[])方法,main是所有Java应用程序执行的入口点,当运行Java应用程序时,整个程序从main方法开始执行。
- System.out是Java提供的标准输出对象,println是该对象的一个方法,用于向屏幕输出。
八、注意点
- Java源文件以“java”为扩展名。源文件的基本组成部分是类(class),如本类中的HelloWorld类。
- 一个源文件中最多只能有一个public类。其它类的个数不限,如果源文件包3)含一个public类,则文件名必须按该类名命名。
- Java应用程序的执行入口是main()方法。它有固定的书写格式:public static void main(String[] args) {...}
- Java语言严格区分大小写。
- Java方法由一条条语句构成,每个语句以“;”结束。
- 大括号都是成对出现的,缺一不可。
九、面试题
- Java为什么可以跨平台:
- 在不同的操作系统下都有不同的虚拟机,Java将源程序转化为与平台无关的class的字节码文件。
漫步Java------初识java的更多相关文章
- Personal Learning Path of Java——初识Java
初识Java 在我个人看来,Java是一门高大上的面向编程语言,这也是Java吸引我的地方.在自学Java之前,我在学校大概学过了一些C语言的知识,在学校学的那点C语言纯属是拿来打基础用的,大概了解了 ...
- Java - 初识Java
Java是一种跨平台的面向对象的程序设计语言. 区分大小写: 标点符号为英文: 强类型语言,在Java中存储的数据,必须在编译时确定其类型: Java版本 Java按应用范围分为3个版本,即Java ...
- Java初识与配置环境
Java初识 Java简介 Java是一门面向对象的程序设计语言.功能强大并且简单易用,极好的实现了面向对象理论.允许程序以类似人类的思维方式进行复杂的编程. Java具有简单性.面向对象.分布式.健 ...
- 002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介
002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介 学习Java的基础语法 Java是一门编程语言,学习的逻辑其实和现实世界的语言是一样的,需要了 ...
- 初识Java
Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以极强的安全性.平台无关性.硬件结构无关性.语言简洁.面向对象的特点,在网络编程语言中占据了无可比拟的优势 ...
- Java初识
基础概念 特点: 完全面向对象,动态 解释性,简单.易移植,跨平台 安全健壮,高性能 多线程,分布式 三种核心机制: Java虚拟机 Java Virtual Machine 垃圾收集机制 Garba ...
- SSH 框架学习之初识Java中的Action、Dao、Service、Model-收藏
SSH 框架学习之初识Java中的Action.Dao.Service.Model-----------------------------学到就要查,自己动手动脑!!! 基础知识目前不够,有感性 ...
- Java 面向对象编程——第一章 初识Java
第一章 初识Java 1. 什么是Java? Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以其强安全性.平台无关性.硬件结构无关性.语言简 ...
- JAVA 初识类加载机制 第13节
JAVA 初识类加载机制 第13节 从这章开始,我们就进入虚拟机类加载机制的学习了.那么什么是类加载呢?当我们写完一个Java类的时候,并不是直接就可以运行的,它还要编译成.class文件,再由虚拟机 ...
- java——初识
java是现在最火的高级编程语言之一,功能强,应用广. java可以做什么? 1. 开发桌面应用程序 2. 开发面向Internet的应用程序 开发java程序的基本步骤: 1. 编写源程序:mypr ...
随机推荐
- CentOS6.8下实现配置配额
CentOS6.8下实现配置配额 Linux系统是支持多用户的,即允许多个用户同时使用linux系统,普通用户在/home/目录下均有自己的家目录,在默认状态下,各个用户可以在自己的家目录下任意创建文 ...
- World Tour CodeForces - 667D (bfs最短路)
大意: 有向图, 求找4个不同的点ABCD, 使得d(A,B)+d(D,C)+d(C,A)最大
- 373. Find K Pairs with Smallest Sums (java,优先队列)
题目: You are given two integer arrays nums1 and nums2 sorted in ascending order and an integer k. Def ...
- [Fiddler] ReadResponse() failed: The server did not return a complete response for this request. Server returned 0 bytes.
待解决 [Fiddler] ReadResponse() failed: The server did not return a complete response for this request. ...
- 【PowerDesigner】【6】Table视图同时显示Code和Name
效果图: —————————————————————— 步骤: 文字版: 1,顶部工具栏Tools→Display Preference 2,Columns→List columns右侧按钮 3,勾选 ...
- vue-navigation 实现前进刷新,后退不刷新
vue-navigation GitHub地址 导航默认行为类似手机APP的页面导航(A.B.C为页面): A前进到B,再前进到C: C返回到B时,B会从缓存中恢复: B再次前进到C,C会重新生成,不 ...
- ActiveMQ Advisory Message
http://activemq.apache.org/advisory-message.html ActiveMQ broker 内部维持了一些 topic,保存了一些系统信息,客户端可以订阅这些 t ...
- Python3+telnetlib实现telnet客户端
一.程序要点说明 python实现telnet客户端的六个关键问题及其答案是: 使用什么库实现telnet客户端----telnetlib 怎么连接主机----两种方法,一种是在实例化时传入ip地址连 ...
- 反向代理/负载均衡/session/cookie
正向代理:客户端将流量重定向到burpsuite等软件或连接到VPN再访问服务器而不是直接访问服务器的场景.流量流动方向是真正机器--代理服务器.正向代理又称代理.普通代理. 反向代理:服务器端使用反 ...
- import 和 from … import 模块的变量、方法引用差异
import 和 from … import 模块的变量.方法引用差异 还是上面例子中的模块 support.py: def print_func( par ): print "Hello ...