Java学习笔记,前两章总结
第一章 Java平台概论
1.Java不仅仅是个程序语言,代表解决问题的平台,代表了原厂、各个厂商、社群、开发者与用户沟通的成果。
2.Java三大平台,从J2SE、J2EE、J2ME到Java SE,Java EE,Java ME;Java SE包含四部分:JVM(Java虚拟机),JRE(Java运行环境),JDK(Java开发工具)与Java语言。
3.Java语言只是Java SE的一部分,除了语言之外,Java最重要的就是提供庞大且强大的标准API。
4.Java不仅仅是程序语言,还是标准规范。
5.学习路径:
(1)深入了解JVM/JRE/JDK。
(2)理解封装、继承、多态。
(3)掌握常用Java SE API架构。
(4)学习容器观念。就操作层面,容器室执行于JVM之上的Java应用程序,就抽象层面来说,是应用程序沟通、协调相关资源的系统。
(5)研究开放源码项目。
(6)学习设计模式(设计经验)与重构(调整手法)。
(7)熟悉开发工具,代替手动执行指令。
6.JVM、JRE、JDK关系
JDK(Java Development Kit)包含Java程序语言,工具程序(javac,appletviewer,javadoc),JRE。JRE(Java Runtime Environment)包括了部署技术,Java SE API与JVM。
Java编译时并不直接编译为二进制文件,而是翻译为中介格式的位码,对应.class为后缀的文件。运行时使用Java SE API中的 链接库,无需额外在程序中包装链接库。
第二章 从JDK到IDE
2.1从HelloWorld开始
1、可以运行HelloWorld程序,就说明建好了Java开发环境。
2、PATH是高速操作系统javac.exe,java.exe在什么位置,在PATH中设置工具程序的信息,系统才能在PATH中找到要执行的指令。在命令提示符中设置SET PATH="C:\Program Files\Java\jdk1.8.0_101\bin";%PATH%,关掉命令提示符后下次还要重新设定。可在系统环境变量中添加,会套用至每个用户,用户环境变量只影响个别用户。开启一个命令提示符时,获得的环境变量是系统环境变量在附加用户环境变量。
3、启动JVM指令为java,执行HelloWorld时不需附加.class的后缀,可以通过CLASSPATH来指定可执行的.class文件的路径信息。java -classpath C:\workspace;C:\classes HelloWorld多个路径信息可用;隔开。JVM默认CLASSPATH是当前路径。我在用户环境变量里面增加了相应的CLASSPATH信息后,即可在任意路径下执行。
2.2管理源码与位码文档
2.2.1编译程序(javac)与SOURCEPATH
在编译src\Main.java时,要用到Console类,需要告诉编译器Console原始码文档放置位置,使用-sourcepath来指定原始码文档,-d来指定位码存放位置,通过javac -sourcepath src -d classes src\HelloWorld.java来进行编译,可以在classes文件夹下看到生成的Console.java和HelloWorld.java文件。当生成了Console.java文件后,再次编译时可使用javac -sourcepath src -cp classes -d classes src\HelloWorld.java可以不用再次编译Console.java文件而直接在classes文件夹下找到Console.class位码文件。
2.2.2使用package管理类
- 在HelloWorld.java中添加
package com.lm;,相应建立文件夹目录放置原始文件,防止相同的文件名冲突。在引用时同样要加上包名com.lm.util.Console.writeLine("Is it OK?"); - 编译时生成的位码文件也会建立相应的文件夹存放。
java执行程序时,必须指定完全吻合名称,即
java com.lm.HelloWorld,才可以运行。2.2.3使用import
即通过在HelloWorld.java加入
import com.lm.util.Console,可以解决以上com.lm.util.Console.writeLine("Is it OK?");引用的问题,而直接简写成Console.writeLine("Is it OK?");即可。同样还可以使用import com.lm.util.*2.3使用IDE
使用eclipse或NetBeansIDE来代替手动敲命令进行编译执行,NetBeansIDE下载地址
https://netbeans.org/downloads/index.html
一点体会:
1、之前对学习一门语言一直以来的认识就是安装一个IDE,然后找一本书学习语法,离开了编译器就不能写代码,学到这里发现Java的最基本的编译执行和Linux下的C道理是相同的,根本没有“编译器只是一个代劳我们敲指令的工具而已”的意识
2、之前一直认为Java只是一门编程语言而已,现在根据之前的一些学习发现Java的强大之处,JVM平台统一了不同的操作系统,不同的平台,让Java真的实现“一次编译,到处执行”,可以统治所有的平台。
Java学习笔记,前两章总结的更多相关文章
- 20145330《Java学习笔记》第一章课后练习8知识总结以及IDEA初次尝试
20145330<Java学习笔记>第一章课后练习8知识总结以及IDEA初次尝试 题目: 如果C:\workspace\Hello\src中有Main.java如下: package cc ...
- C Primer Plus 学习笔记 -- 前六章
记录自己学习C Primer Plus的学习笔记 第一章 C语言高效在于C语言通常是汇编语言才具有的微调控能力设计的一系列内部指令 C不是面向对象编程 编译器把源代码转化成中间代码,链接器把中间代码和 ...
- Java 学习笔记 ------第五章 对象封装
本章学习目标: 了解封装的概念与实现 定义类.构造函数与方法 使用方法重载与不定长度自变量 了解static方法 一.Java封装概念 在面向对象程式设计方法中,封装(英语:Encapsulation ...
- [core java学习笔记][第十一章异常断言日志调试]
第11章 异常,断言,日志,调试 处理错误 捕获异常 使用异常机制的技巧 使用断言 日志 测试技巧 GUI程序排错技巧 使用调试器 11.1 处理错误 11.1.1异常分类 都继承自Throwable ...
- Java 学习笔记 ------第三章 基础语法
本章学习目标: 认识类型与变量 学习运算符的基本使用 了解类型转换细节 运用基本流程语法 一.类型(基本类型) 所谓基本类型,就是在使用时,得考虑一下数据用多少内存长度存比较经济,利用程序语法告诉JV ...
- Java 学习笔记 ------第四章 认识对象
本章学习目标: 区分基本类型与类类型 了解对象与参考的关系 从打包器认识对象 以对象观点看待数组 认识字符串的特性 一."=" 和 "==" 当=用于基本类型时 ...
- Java 学习笔记 ------第六章 继承与多态
本章学习目标: 了解继承的目的 了解继承与多态的关系 知道如何重新定义方法 认识java.lang.object 简介垃圾回收机制 一.继承 继承是java面向对象编程技术的一块基石,因为它允许创建分 ...
- thinking in java学习笔记:14章 类型信息
14.2 Class 对象 https://github.com/zhaojiatao/javase 1.什么是Class对象,Class对象是用来做什么的? Class对象是java程序用来创建类的 ...
- [core java学习笔记][第四章对象与类]
4.3 用户自定义类 4.3.1 类数组的声明 需要两次new Employee[]=staff=new Employedd[3]; staff[0]=new Employedd(参数列表); sta ...
- [core Java学习笔记][第一二三章基本语法]
基本语法 1 Java 简单的类型 1.1 一些常量 正无穷大 Double.POSITVE_INFINITY 负无穷大 Double.NEGATIVE_INFINITY 不存在 Double.NaN ...
随机推荐
- sql表和字段的别名
1. sql表和字段的别名通过关键字 AS 来指定. 2.通常,定义字段别名的 AS 关键字可以省略,但我们建议不要省略 AS 关键字.别名(alias)是 SQL 的标准语法,几乎所有的数据库系统都 ...
- HDU 1074 Doing Homework (状压dp)
题意:给你N(<=15)个作业,每个作业有最晚提交时间与需要做的时间,每次只能做一个作业,每个作业超出最晚提交时间一天扣一分 求出扣的最小分数,并输出做作业的顺序.如果有多个最小分数一样的话,则 ...
- 【CentOS】磁盘管理与vim编译器
一.查看硬盘或目录容量 1.df [-hmkiT] -h 查看系统磁盘使用情况 -m 使用MBytes显示结果 -k 使用KBytes显示结果 -i 查看inode -T 查看Type 2 ...
- jQuery插件(拖拽)
拖曳插件draggable的功能是拖动被绑定的元素,当这个jQuery UI插件与元素绑定后,可以通过调用draggable()方法,实现各种拖曳元素的效果,调用格式如下: $(selector). ...
- 要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。
找到该文件所在文件夹,右键属性,安全选项卡,添加-aspnet用户,并设置其权限为完全控制.如果还是不行,就添加一个Everyone用户并赋予完全控制权限windows server 2008中IIS ...
- three.js材质
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...
- [Python学习] python 科学计算库NumPy—tile函数
在学习knn分类算法的过程中用到了tile函数,有诸多的不理解,记录下来此函数的用法. 函数原型:numpy.tile(A,reps) #简单理解是此函数将A进行重复输出 其中A和reps都是ar ...
- wordexpress
登陆数据库:mysql -uroot -p 创建数据库:CREATE DATABASE wordpress; 创建数据库用户:CREATE USER wordpress@localhost IDENT ...
- WPF中UserControl和DataTemplate
最新更新: http://denghejun.github.io 前言 前言总是留给我说一些无关主题的言论,WPF作为全新Microsoft桌面或web应用程序显示技术框架, 从08年开始,一直到现在 ...
- HTML5的全新语义化元素
1.<section> <section>元素用来定义文档或应用程序中的区域(或节).例如,可以用它组织你的个人信息,一个<section>用于联系信息,另一个用于 ...