- 浏览: 686202 次
- 性别:
- 来自: 合肥
文章分类
最新评论
-
di1984HIT:
学习了,学习了!
Tomcat的URL中文乱码解决以及传输优化 -
arottenapple:
...
我的二十一天CoreJava 学习笔记 -
黯淡流觞:
...
我的二十一天CoreJava 学习笔记 -
onlyOneToOne:
wsc830719 写道@RequestMapping(val ...
spring mvc3中 ResponseBody中文乱码 -
waj_615:
但是打印订单不是简单的string 啊
用java实现打印功能
注 :本文档只是本人在学习 JAVA 时的笔记,每一天学习的知识都不同,并不是完全的学习手册。这里很多地方都只是对知识点的讲一下就带过了没有详解,这里主要是给入门者一个全景概括,让他们知道, JAVA 里会有哪些东西,哪些是基础性的必须要掌握的。
在线pdf浏览地址:http://www.docin.com/p-203504193.html
下面给上第一天的笔记,全文在附件。
我的二十一天 CoreJava
培训学习笔记
第一天 了解JAVA基础知识 2
第二天 语言元素 6
第三天 流程控制 10
第四天 数组 12
第五天 对象 14
第六天 类 16
第七天 接口 20
第八天 修饰符 21
第九天 类相关 22
第十天 内部类 25
第十一天 集合 28
第十二天 泛型 29
第十三天 异常 30
第十四天 反射和 注释(标注) 33
第十五天 图形界面 36
第十六天 Swing具体用法 37
第十七天 Swing事件 39
第十八天 THREADS (多线程) 40
第十九天 锁 42
第二十天 I/O流 44
第二十一天 网络编程 46
第一天 了解 JAVA 基础知识
一、学习CoreJava 的要求
1 、上课一定要听懂(理解)
2 、课后一定要练习
3 、练完后要思考
二、Java 的优势
1. 简单:c++ 里面内存要自己去管理,而java 里面有系统的垃圾回收器,Java 中省去了对指针的操作,但并不是没有指针了,只是被封装了而已,
代替指针的是种新的变量,叫做引用,这个引用里面也是保存的一个对象的地址,它和指针的差别就是比指针功能要弱化了,也更简单了。
2 、安全,字节码的验证,c++ 中对指针的操作可能会导致内存栈的溢出,而在Java 里面不用我们去担心这些问题,这些统统有JVM 去替我们做。
3 、Java 的跨平台性:用这个语言开发出来的程序可以在不同系统中运行:
源码是怎样成为可执行代码的
源码--> 编译--> 目标码(二进制机器码)--> 连接--> 可执行文件
由此看来,汇编、C 、C++ 等语言都是不跨平台的,因为他们的编译过程就直接与当前系统挂钩了
C 和C++ 源码都是跨平台的,我们所指的跨平台是基于编译过程中的跨平台,以上几种语言在不同
的系统中编译出来的目标码是不同的。
Java 跨平台就是编译过程中的跨平台,怎么实现的呢,那就是Java 虚拟机:
Java 的源码编译过程:
源码--> 编译--> 字节码--> 把字节码装载到虚拟机中运行
--JAVA 虚拟机:JVM
屏蔽掉了不同平台的差异,为上层的字节码提供了一个统一的运行环境
虚拟机是为了给字节码提供统一的执行平台,每种操作系统所用的虚拟机是不同的,是为了统一
JAVA 字节码的解析执行方式,如果没有虚拟机,在一种操作系统上写了JAVA 代码,编译成字节码
后只能在本操作系统上运行,但是换一个操作系统的话就要重新再写一遍JAVA 代码然后重新编译,
所以虚拟机提高了代码的复用性,实现了一次编写,多处使用的优点。
不同系统的Java 虚拟机之前的源码和字节码部分都是跨平台的,从虚拟机就不是跨平台的了。
这样Java 的字节码就可以直接用来传播,而不用传播源码了。
三、JDK/JRE/JVM
JDK :JAVA 开发工具包,比JRE 多了一些开发和调试的命令,比如javac 、java 等等。
JRE :JAVA 运行环境
JVM :JAVA 虚拟机
包含关系:JDK 包含JRE ,JRE 包含JVM
如果你搭建的Java 开发环境是用来做Java 开发的,那么就安一个JDK
如果你不做开发,而只是运行别人开发调试好的程序,那么就只安装一个JRE 就可以了
一般服务器上就只安装JRE
针对不同的操作系统有不同的JDK 下载
在JDK 安装好后的文件夹中有个bin 目录,里面一般是我们经常用到的一些命令,比如javac 、java
在JDK 目录下有个src.zip 文件,解压开后就是JDK 类库中的源码,也就是rt.jar 压缩文件中class
文件的源码。
jre 目录是JDK 自带的JRE ,里面也有bin 目录,一般存放的是运行时的一些命令
jre 文件夹中的lib 文件中有一些jar 文件,里面都是一些class 文件在虚拟机运行时作为类代码
其中一个比较重要的jar 文件就是rt.jar ,里面放的是JDK 给我们提供的一整套类库的字节码
四、配置环境变量
JAVA_HOME :JDK 的安装路径
CLASSPATH :类的搜索路径
PATH :命令的搜索路径=$JAVA_HOME/bin-->java javac
Linux :
-- 一般JDK 是放在/opt/jdk1.6.0_05
-- 配置环境变量的文件是主目录中的".bash_profile" 文件(bash)
.profile(bsh),.cshrc(csh)
进入终端后:vi .bash_profile
在里面配置:
JAVA_HOME=/opt/jdk1.6.0_05
CLASSPATH=.
PATH=$PATH:$JAVA_HOME/bin:.......
export JAVA_HOME
export CLASSPATH
-- 配置完后保存退出,然后source .bash_profile
在命令行打java 命令验证是否配置成功,如果成功了,注销一遍系统
Windows:
-- 右键我的电脑--> 高级--> 环境变量--> 在系统变量或者用户变量上配置-->
JAVA_HOME :当前机器上JDK 的文件目录 "C:\Program Files\Java\jdk1.6.0_05"
CLASSPATH :类的搜索路径 "." 当前目录
Path: 命令的搜索路径 ...;%JAVA_HOME%\bin
-- 开始--> 运行-->cmd-->java 验证是否配置成功
五、第一个JAVA 程序
一个java 文件只能定义一个public 类,并且public 修饰的类的类名要与文件名相同
vi MyFirstJava.java
public class MyFirstJava{
public static void main(String[] args){
String name="tangliang";
int age=30;
System.out.println("my name is:"+name);
System.out.println("my age is:"+age);
}
}
写好后在命令行cd 到文件所在目录,然后打 javac MyFirstJava.java 编译文件
编译成功后当前文件夹中会出现一个MyFirstJava.class 文件
运行:java MyFirstJava
结果:
my name is:tangliang
my age is :30
要学会编译出错后查找错误!
在文件中在定义一个class Animal{}
保存编译后文件中就会多一个Animal.class 文件,也就是说,文件中有多少类,那么就有多少class 文件
注:
1 、文件名必须和public 修饰的类名一致,以.java 作为文件后缀。
2 、一个.java 文件中可以有多个class ,但是只有一个public 修饰的类。
3 、.java 文件编译以后,一个class 对应一个.class 文件。
4 、main 函数是我们整个程序的执行入口所以必须是静态公开的。
java 命令执行所做的东西(要用到PATH 的环境变量)
1. 启动jvm
2 、找到类的字节码(class )文件,要用到CLASSPATH 的环境变量
3 、装载该字节码文件(加载类到内存中)
4 、找类的主方法,main 方法,执行代码:"": 里面是字符串值,System.out.println(): 向控制台输出,
括号里面代表的是输出的内容,不加ln 代表不换行,+ :代表字符串的连接。
类:里面可以写方法,可以写属性,一般来说:类与类(后面会讲到不并列的情形),方法与方法之间是并列的。
刚开始写代码时要注意代码的格式问题,有利于以后代码的维护以及可观性!
六、包
1 、作用,java 程序很庞大的话会有很多类文件,为了分类存放,那么就把相同类型的类文件放在同一个包中。
2 、语法:
package 包名;
... 正文;
包名规范:公司的URL. 项目的简称. 项目的模块(如:com.tarena.abs.model ),好处:保证包的唯一性
编译时用javac -d 目录 XX.java
编译好后,class 文件会被自动放在自己定义的包(自动生成的文件夹)中,包会放在编译命令中指定的目录中
执行时在包所在的当前目录下打 java 包名. 类名
七、创建jar 文件命令
把指定的包中的class 文件打包成jar 文件
语法:
jar cvf jar 文件名 要打包的文件夹
c :create (创建) v:visible (可视的) f:filename (文件名)
比如:jar cvf abc.jar ./com
执行完后在当前目录会生成一个abc.jar 的文件,解压后就是com 文件夹,里面还是class 文件
cvf:create visible filename 创建可视文件名
如果在别的java 文件中要用到此jar 文件中的类,那么就要在环境变量的CLASSPATH 中多配一个abc.jar
的路径。然后在类文件中直接import 这个类就可以了
jvm 查找类的顺序:
(1 )、当前路径下找类
(2 )、从rt.jar 中找类(jdk 提供给我们的<
- 我的二十一天CoreJava_培训学习笔记.pdf (475.4 KB)
- 下载次数: 900
评论
发表评论
-
学习计划表[最新更新2012-04-16]
2012-04-13 11:34 1559内容 重要 备注 进度 爱 ... -
java练手全程录5-对JPA的研究[最新更新2012-2-5]
2012-02-15 17:46 9952012-2-13至2012-2-15日 ... -
java练手全程录4-处理工具类代码实现
2012-02-07 12:26 11452012-2-7 继续昨天的 ... -
java练手全程录3-处理代码中文工具类
2012-02-06 19:18 10122012-2-4 和 2012-2-6 号两天空闲时间 ... -
java练手全程录2-静态页面制作
2012-02-04 16:28 10232012-2-3日 做出了网站的静态页面,首页、列表页 ... -
java练手全程录1-练手方案
2012-02-04 16:10 1087技术学了不少了,我也不是那个刚出道时剑指四方,谁与争锋的刚猛的 ... -
睡觉的隐性影响
2011-08-30 11:59 926“饥来餐饭倦时 ... -
着手准备着技术转型
2011-07-08 20:56 945最近很少写技术文型章 ... -
规划我的30年后
2011-07-06 18:33 1018做为一个程序员,每天研究的不仅仅是技术,还有自己的人生。。。 ... -
重新定位合适我的操作系统
2011-07-05 19:14 1317夏天已至,我的电脑又 ... -
在JAVA周边转了一圈,现在回来了
2011-07-04 18:20 1194好像差不多有一个月的 ... -
最近喜欢上了做脑图,以后就用脑图来发文章
2011-05-25 17:53 1532写的不少的字,没保存一下子全没了。-_-! 别 ... -
打造能度量的真实进度
2011-04-18 15:30 1030在做项目时,会常常要报告进度。经常的,我们会写出工 ... -
团队开会的艺术之怎么开
2011-04-11 17:27 1947开会,对于我们程序员来说,也是司空见惯了,然而每次开会过后,你 ... -
项目开发过程的三重境界
2011-04-11 00:14 1141国学大师王国维在《人间词话》中有写到古今成功者三重境界,第一重 ... -
如何在重复性工作中提升自我
2011-04-09 18:55 4674最近感觉项目组的战友们都有点麻木性的疲惫了,都有点了颓废的 ... -
团队交流艺术-对事不对人
2011-04-07 18:35 1091下班了,匆匆的写上几 ... -
[一切从模仿开始]我要创造轮子
2011-03-24 18:37 1412干IT的都听过或看过一句话,别发明重复轮子。可我现在却想说,一 ... -
成功开发程序员的目标之一:灭了测试
2011-03-21 19:18 1348与不少的朋友在一起聊天时,经常会聊到开发和测试的关系。 ... -
JAVA程序员不一定非得要会SSH
2011-03-20 01:06 4809SSH框架架构对于国内来说是大行其道。国内一大半的软件 ...
相关推荐
Java是一种广泛使用的面向对象的编程语言,其基础知识构成了"Core Java"的学习内容。在学习Java时,遵循"多花时间、多动手、多问题"的原则至关重要,因为理论理解与实践操作相结合能更好地掌握知识。 1. **Java语法...
《Core Java》学习笔记。 我把自己的笔记都以注释的形式写在代码里面了,这样方便理解。 尽管有些部分被标记为“已完成”,但实际上以后说不定我还会折返回来进行修改或者添加一些注释。 当然如果你有什么不理解...
Java是一种由Sun Microsystems在1995年推出的高级编程语言,现由Oracle公司维护。...以上就是Core Java学习笔记的主要内容概述,涵盖了从基础语法到高级特性的广泛知识,为深入理解和应用Java打下了坚实的基础。
在Java编程中,核心Java(Core Java)是学习Java语言的基础,涵盖了Java语言的主要特性和API。这篇学习笔记主要讨论了Java集合框架,包括Collection、List、Set和Map四大接口以及它们的相关方法。 首先,Collection...
Java是世界上最流行的编程语言之一,...以上就是“达内Core Java学习笔记”中涉及的主要知识点。通过深入学习和实践,初学者可以逐步建立起坚实的Java编程基础,并为进一步学习Java的高级特性和框架打下坚实的基础。
CoreJava DAY01 Java概述 1 CoreJava DAY02 数据类型和控制结构 6 CoreJava DAY03 数组 11 CoreJava DAY04 15 CoreJava DAY05 面向对象 17 ...CoreJava DAY21-22 IO 95 CoreJava DAY23 网络编程 107
在Java编程语言中,SortedSet接口是Set接口的一个子接口,它添加了对集合元素排序的能力。SortedSet接口要求其实现类必须维护元素的排序顺序,这种顺序可以是元素的自然顺序(即元素自身可比较),也可以是通过提供...
CoreJava DAY01 Java概述 1 CoreJava DAY02 数据类型和控制结构 10 CoreJava DAY03 数组 20 CoreJava DAY04 27 CoreJava DAY05 面向对象 31 ...CoreJava DAY21-22 IO 174 CoreJava DAY23 网络编程 197
CoreJava全套详细笔记资料.pdf CoreJava是Java编程语言的核心部分,涵盖了...通过对CoreJava全套详细笔记资料的学习,我们可以更好地理解Java语言的基础知识和高级应用,从而提高自己的编程能力和解决问题的能力。
《CoreJava学习笔记》 Java,作为一种广泛使用的高级编程语言,以其独特的特性和优势深受开发者喜爱。本学习笔记旨在深入浅出地介绍Java的核心概念,帮助初学者快速掌握这一强大的工具。 1. Java特点 Java语法...
CoreJava_day11的学习笔记主要涵盖了集合框架,特别是关于List、Set和Map接口,以及ArrayList、Vector和LinkedList等具体实现类的知识点。 首先,集合框架是用来存放对象的对象,它提供了一组接口和类,使得我们...
在Java编程语言中,继承是面向对象编程的一个关键特性,它允许子类继承父类的属性和方法,从而实现代码的复用和扩展。在Java中,类的继承是单继承的,即一个子类只能有一个直接父类,但可以通过接口实现多继承的效果...
这门课程旨在帮助学员在21天内掌握Java编程的核心概念和技术,每天的学习内容包括详细的代码示例和课堂笔记,确保学习者能够理论与实践相结合,快速提升编程能力。 在课程中,第一天通常会从Java的基础知识开始,如...
自己学习corejava核心技术卷一时的学习笔记和心得,提出的一些问题
《Core Java》学习笔记。 我把自己的笔记都以注释的形式写在代码里面了,这样方便理解。 尽管有些部分被标记为“已完成”,但实际上以后说不定我会折返回来进行修改或者添加一些注释。 当然如果你有什么不明白的...
### Java学习笔记及心得知识点详细解析 #### 标题:Java学习笔记及心得 #### 描述:Core Java 学习笔记及心得 pdf格式可打开。涵盖了java的基础入门知识,非常适合自学的及想深入学习理解的同学。 #### 标签:...
在学习CoreJava时,我们需要掌握以下几个关键知识点: 1. **编程思想**: - 面向对象编程(Object-Oriented Programming, OOP):Java是一种纯面向对象的语言,一切皆为对象,理解类、对象、封装、继承、多态等...