Java基础学习资料+笔记
Java基础
第一天:
常用的dos命令:
通过快捷键windows+R
1、切换盘符: 盘符:
2、查看目录结构:dir
3、创建文件夹: md 目录名
删除文件夹:rd 目录名
创建文件 copy con 文件名 ctrl+z保存文件
删除文件 del 文件名
显示文件内容 type 文件名
4、切换路径:cd*****
cd ..回到上一级目录
cd \回到根目录
cd 目录名
面向过程的理解
张三去开车
1、张三拿钥匙打开车门,张三拿钥匙发动汽车
2、李四砸窗打开车门,李四推着发送汽车。、
关注的是人
缺点:不同的人打开车门和发送车的方式是不一样的,代码重用性不好。
因为我们关注的是每个人操作的细节。
面向对象的理解:
关注的是车而不是不同的人。
对车进行封装。
1)车的门打开了
2)车被启动了
张三的车门被打开了,张三的车启动了
李四的车门被打开了,李四的车启动了
不考虑细节,考虑最终的结果,对细节进行了封装,用户看不到。
java sun公司的,后来被oracle以74亿美金收购。
java 三大体系
1)JavaSE(Java标准版)--主要用来开发一些C/S方面的应用
2)JavaEE(Java企业版)--主要用来开发B/S方面的应用,比如电子商务网站
3)JavaMe(Java微型版)--主要用来做嵌入式的小程序,小游戏。
---Android
Java实现跨平台的原理*****
什么叫跨平台?也就是说我们编写的程序只要编译一次,可以在任意平台上
到处运行.
不同的操作系统它的指令集是不一样的,比如:+号在linux操作系统上可能是
001011,window操作系统上+号可能是110111.
JVM(Java Virtual Machine)java虚拟机。*****
它的作用,就是把编译好的中间语言翻译成当前操作系统所能
最终执行的机器语言。
所以JVM才是实现跨平台的实施者。但JVM机本身不跨平台,不同操作系统有不同版本的JVM机。
JRE和JDK
什么是JRE?
---Java运行环境。主要用来运行java程序的。
什么是JDK?
---Java开发工具包。主要用来开发,调试java程序的。
jdk包含jre
JDK的目录机构
---bin:包含开发,调试java程序的一些工具,比如编译,执行*****
---db:jdk中自带的一个数据库
---include:包含了一些C语言的头文件。
---jre:java运行环境
---lib:存放一些java类库文件
---src.zip:保存的是java类的源码*****
环境变量path*****
作用:path变量中提供了很多的路径,当我们在当前路径下执行某个指令的时候
先从当前路径下找是否有对应的指令,有的话直接执行,没有的话再到path
所提供的路径下找,找到同样执行。
配置环境变量
永久性的配置方式*****
1)创建一个系统变量 JAVA_HOME:jdk的安装根路径
2)在path环境变量下设置:%JAVA_HOME%\bin;
临时性的配置方式
查看当前窗口所对应的环境变量path set path 查看环境变量
编写第一个Java程序
步骤:
1)编写java源程序,文件名为.java文件
2)对java源代码进行编译,生成.class文件(字节码文件),使用的指令是javac.exe
3)把编译好的字节码文件交给JVM来加载解释执行。使用的指令是java.exe
4)查看运行结果
编写第一个Java程序注意点:
1、一个Java程序最小单元就是一个类,也就是说程序代码都放在类中。所以
类是java程序运行的最小单位。
class 类名{
//java代码
}
这个类是合法的,但不能运行,因为没有主方法(程序的入口点)
public static void main(String [] args){
//要执行的代码
}
//输出指令
System.out.println("要输出的内容");
常见的问题汇总*****
1)修改了代码没有重新编译就直接执行了
2)英文的符号写成了中文符号
3)漏掉了大括号,因为没有养成书写的好习惯。先写好成对的大括号,再写代码
4)文件名和类名不一致,导致执行的时候写错名字,养成好习惯,文件名和类名一致。我们
可以强制做到这一点,只要在类名前加上public,那么类名就必须和文件名一致,不一致出错
5)修改的java源文件没有保存
classpath:
设置class文件所对应的路径,功能类似path,主要的作用就是我们可以在任意路径下去找到
我们要执行的class文件。一旦设置了classpath环境变量,那么java指令会从classpath的路径
下找对应的class文件执行,我们往往在路径前面加上.;先让其在当前路径下找。
ln==line
两个常用的转换符
\n:代表换行
\t:代表制表符
java 注释 --给人看的,不是给JVM来看的,jvm在解释运行的时候会跳过注释
注释分两种:
1)单行注释 //
2)多行注释 /* */
注释也可以注释代码
----------------------------------------------------------------------------------- 第二天:
什么是变量?
变量是内存中的一块存储空间。
变量的作用?
用来存取应用程序所使用到的数据。(存取数据用的)
怎么去找到内存中开辟的那块变量?
内存中变量是有唯一的地址的,默认是十六进制的比如:
0XABC1234。
默认的地址不好记忆,那我们怎么处理?
给变量取一个别名,比如 score,别名更容易找到内存空间,方便。这个
别名就称之为“变量名”.
----------------------------------------------------------------------------------- java程序如何去声明(开辟)一个内存中的变量?
语法:数据类型变量名;
比如: int score; //在内存中声明了一个变量,变量名叫score,里面存放的数据类型是int
数据类型的作用有两个:
1)约束变量中存放数据的格式
2)用来确定内存中开辟变量的大小,int 占4个字节 1个字节8位有8个0和1组成的数。
//变量的声明方式
1)先声明后赋值
int number;
number=1;
2)声明的同时做赋值
int number=1;
3)可以同时声明多个相同类型的变量
int num1,num2,num3;
int num1=1,num2=2,num3=3;
int num1=num2=num3=1; 错误的
标识符的命名规则:和名字有关的就称之为标识符,比如类名、变量名
变量名:首字母只能是字母、下划线、$符号,后面的字符就多了个数字,除了$和_以外的其它特殊字符都是不合法的。
变量名不能使用关键字,"关键字"系统已经使用的名字
变量名推荐使用驼峰命名法,比如myScore
变量名要直观易理解
java数据类型分类
1、8大基本数据类型
数值型
--整型
--byte(1个字节大小)
--short(2个字节大小)
--int(4个字节大小)*****
--long(8个字节大小)
--浮点型
--float(4个字节)单精度浮点数,它描述的数据范围大小
比int和long都大
--double(8个字节) 双精度浮点数*****(默认)
非数值型
--boolean(布尔类型) 只能存放true或false
--char(字符类型) 只能存放单字符,用单引号括起来,中文也可以
2、引用数据类型
String:(字符串类型):用双引号括起来的1到多个字符
String address="上海松江区";
char类型使用的unicode编码表
什么叫编码表?
不同的国家都有自己的编码表,主要用来描述自己本国的文字或其它的一些字符。
比如美国的编码表叫Ascii表 0-127 每一个数字代表了一个字符或符号
iso-8859-1 欧洲编码表,包含了大多数欧洲国家的字符和符号,0-255,前面128个是兼容了Ascii表
中国对应的编码表
GB2312--描述的是常用的一些汉字和符号共7000多个。
GBK--国标码--存储20000多个汉字
BIG5--大五码
国际编码组织为了统一编码表,指定了unicode编码表,它里面存放了全世界常用的一些字符和符号。
char类型就是使用了unicode编码表。一个字符对应的就是一个整数,所以我们也可以这么认为
char和int之间是可以转换的。
十进制转二进制:公式除2取余数
14--00001110
二进制转十进制
01101110
十六进制 0-9 A-F
01101110 转 16进制二进制4位转1位 0X6E
16进制转二进制 1位转4位 01101110
八进制由8个数组成 0-7
二进制转八进制 3位变1位
01101110 0156
八进制转二进制 1位变3位
0156 001101110
类型转换分为两种:
1)自动类型转换(隐式转换)
1.1)数据类型兼容
1.2)小的数据类型赋值给大的数据类型
2)强制类型转换(显式转换)
2.1)数据类型兼容
2.2)大的数据类型赋值给小的数据类型,
强制类型转换往往会导致数据进度丢失。不推荐使用
表达式最终得到的数据类型跟大的数据类型走。
什么叫表达式呢?由操纵数加操作符组成的公式就叫表达式,比如:a+b+c-d
我们可以把String认为是最大的数据类型,字符串加任何数据类型都是字符串的连接。
*****
算术运算符:
+:两个功能数学运算加字符串连接
-:两个功能数学运算加负数
*:数学运算
/:数学运算:注意一点:两个整数相除得到结果位商,没有小数点的,记住表达式的结果跟大的数据类型走
%:取余数:
++: 没有赋值运算符的情况下,++在前面和后面一样都是自身加1.
有赋值运算符的情况下,++在后面先赋值后自身加1,++在前面先自身加1再赋值
--:没有赋值运算符的情况下,--在前面和后面一样都是自身减1.
有赋值运算符的情况下,--在后面先赋值后自身减1,--在前
面先自身减1再赋值
赋值运算符*****
=
*****
关系运算符--结果是boolean类型的值
== != < > <= >=
逻辑运算符--结果是boolean类型的值
&&:条件1&&条件2&&条件3..... *****
代表多个条件同时都得true那么整个表达式结果才为true,
否则为false
特点:当第一个条件不满足,那么后面的条件就不会再判断,直接返回false,
这个称之为短路与
||:条件1||条件2||条件3..... *****
代表多个条只要有一个为true那么整个表达式结果就为true,否则为false
特点:当第一个条件满足的情况下,后面的条件就不会再判
断了。这个称之为短路或
!:求反 !(条件)真为假、假为真。*****
& 不会短路,往往对二进制进行操作,两个1为1
| 不会短路,往往对二进制进行操作,有一个1就为1
^ 往往对二进制进行操作,两个不同才位1,相同为0
逻辑运算符***
<<左移记住,左移几位就代表乘以2的几次方。比如
5<<3=5*2^3=40
>>右移记住,右移几位就代表除以2的几次方。比如16>>2=16/2^2=4
第三天
条件结构语句的学习
1、为什么要发明条件结构语句,也就是说它的作用是什么?
一个程序有很多指令组合而成,默认情况下指令是按顺序执行的,也就是
说从上往下一条条执行。条件结构语句可以改变这种情况,可以按照我们
设定的条件来选择性的去执行相应的指令。
2、条件结构语句的种类
1)最简单的if语句
语法:
if(条件){
//执行的指令
}
//指令
条件成立执行指令,不成立跳过里面的指令直接往下执行
2)简单if...else...
语法:
if(条件){
//指令1
}else{
//指令2
}
3)多重if...else
语法:
if(条件1){
//指令1;
}else if(条件2){
//指令2;
}else if(条件3){
//指令3;
}else{
//指令4
}
强调:有些情况下条件顺序的改变可能会影响最终的结果,所以要考虑清楚。
4)嵌套if
语法:
if(条件1){
if(条件2){
//指令1
}else{
//指令2
}
}else{
if(条件3){
}
}
强调:一定要搞清楚,else是对应哪个if的,else对应的是离它最近的那个没有else的if。
注意点:当if或else中只有一条指令的时候,是可以删除大括号的,但不推荐使用,我们最好养成
习惯不管有多少条指令都加上大括号。
3、switch语句块
语法:
switch(表达式){
case 值1:
执行的指令1
break;
case 值2:
执行的指令2
break;
case 值3:
执行的指令3
break;
[default:
执行的指令4;
[break;]]
}
执行的过程:首先计算出表达式的结果,这个结果只能是byte,short,int,char,
String(jdk1.7版本之后才有),enum(jdk1.5之后才有的)
得到值好以后和case后面列出的值进行等值判断,假设一致,就执行对应的指令,碰到
break结束swicth语句块,当和所有的case列出的值没有匹配的时候会执行default语句块
强调:
1)switch只能做等值判断,区间判断做不了,区间判断可以交给多重if来做。
2)case 后面的数据是不能重复的。一旦重复,编译出错。
3)break是可以省略的,一旦省略了,就不会比较了,一直往下执行,指导碰到第一个break或
switch语句块结束为止。
4)case语句块可以任意位置交换,default也可以。
4、什么是循环?循环的作用是什么?
循环就是重复的去做某件事情。往往我们学会避免死循环。
1)while循环
语法:
while(条件){
//循环体语句
}
执行的流程,当条件成立执行循环体语句,执行完回到条件再做判断,条件成立继续执行
循环体语句,直到条件不成立为止。
特点:先判断后执行,循环体语句可能一次都不执行。
做循环的练习,其实只要分析两点内容:
1)分析什么情况下循环(确定循环条件)
2)循环做什么事情(确定循环体语句)
3)更新循环体变量防止死循环。
什么叫循环体变量?
控制循环次数的那个变量就称之为循环体变量。
第四天:
2)do ... while()循环
语法:
do{
//循环体语句
}while(条件);
特点:先执行后判断,当第一次条件就不成立的情况下,循环体语句也会执行一次。循环体语句至少会
会执行一次。
3)for循环
语法:
for(表达式1;表达式2;表达式3){
循环体语句4;
}
三个表达式的作用
表达式1的作用:用来做初始化变量的,它只执行一次。
表达式2的作用:循环条件,条件成立执行循环体语句,不成立,循环结束
表达式3的作用:更新循环体变量来防止死循环
工作流程:
1-->2(true)->4-->3-->2(true)-->4--->3--->2(false)-->结束
最新javaweb学习课程总结
总结一:javaweb课程总结刚开始学的时候,感觉这两门课程好高大上的样子,因为自从学软件工程这个专业以来,一直都是学的理论性、框架性的东西,就没有接触到编程的实质性的部分,终于开始学编程了,感觉蛮兴奋的,也是精神饱满,信心十足,怀着一腔热血来听课。 由于JAVAWEB和JSP两门课是同时上的,而且每次都是一整上午,上课时间很长,老师一直有条不紊的讲着,虽然时间很长,但是每当大家上完课,心中都是有一种充实的感觉,大家都觉得有所收获,所以也就不曾觉得累了。 JAVAWEB这门课让我认识了以前见所未见闻所未闻的专业术语,Web应用程序的概述。我从中了解到Web应用程序的三层体系结构:表示层、业务层、数据存取层。从而想到了学数据库设计时的数据库设计三大范式,它们同是叙述在编写代码时应做的规划和应遵循的规则,这种规划在以后的学习中时有出现,说明编程并不是一味地进行循环判断、死记硬背,而需要在技术上有所加强、在效率上有所提高。做任何事都是如此,事先必须有目标、有计划,有统筹,这样执行时才不会盲目,才不会事倍功半。学习编程对综合能力都是一种培养。 接下来是JSP知识。要学JSP,就必须会HTML,如果HTML学不通,这对以后的学习都是一个瓶颈。基础一定要打扎实,吃透,否则上层建筑的建起就不会很顺利甚至没法起步。然后是JavaBean。以下是个人对JavaBean的一点学习体会。JavaBean里有set()和get()方法,用这些方法能很容易地传值,逻辑上更标准,代码看起来也更规范。但set()和get()方法只是用来对属性进行操作的,所以如果是进行复杂的逻辑或对数据库进行操作等,那么就不要写成set()和get()方法,只用一个有返回值的方法就足以。这样直观方便,且符合规范。总之,set()和get()方法不要没有效率地滥定义。 接着是Servlet。Servlet是一个用Java编写的应用程序,在服务器上运行,用来处理请求和响应,也可以单独做为一个Web页面。然后讲的是标签,包括自定义标签和JSP标准标签库。用一般的Java代码都几乎能实现它们的功能。它们的好处是提高了代码的重用性。 我们需要配置的坏境有JDK,Tomcat,还要用到Myeclips这一基础的编程工具。在学习JSP之前,由于没有网页编程的基础,便学习了HTML这种文本标记语言,自己试着去做简单的静态网站。后来学做JSP动态网站时,就涉及到了多方面的知识,JSP内部对象及内部对象所涉及的方法,JSP与数据库连接,如何去引用数据库。这门课更是巩固了JAVA 这一基础编程语言,要求对JAVA掌握的要透彻,每门语言要学扎实,深入理解,都要花费很大的功夫,不是容易的事情。 Jsp与servlet有一定的区别,Servlet可以看作是HTML的Java代码,而JSP可看作是包含Java代码的HTML。共同点:JSP和Servlet实际上是一回事。JSP页面最终要转换成Servlet,并进行编译,在请求期间执行的实际上是编译后的Servlet。因此,JSP页面不过是编写Servlet的另一种方式。各自应用的范围:Servlet比较适合于做处理任务,如做业务逻辑;JSP适合于表示任务,如网页制作,生成动态网页。 对JAVAWEB和JSP课程的知识就简单介绍到这里,本学期的这两门课程让我对软件工程这门课有了一个全新的认识,我真切的学到了能用的东西,大学里的很多课是浪费时间,而
java基础知识点总结
Created by AIwen on 2017/5/14. java是面向对象的程序设计语言;类可被认为是一种自定义的数据类型,可以使用类来定义变量,所有使用类定义的变量都是引用变量,它们将会引用到类的对象。类用于描述客观世界里某一类对象的共同特征,而对象则是类的具体存在,java程序使用类的构造器来创建该类的对象。 java也支持面向对象的三大特征:封装、继承、和多态。java提供了private、protected、和public三个访问控制修饰符来实现良好的封装,提供了extends关键字让子类继承父类,子类继承父类就可以继承到父类的成员变量和和方法,如果访问控制允许,子类实例可以直接调用父类里定义的方法。继承是实现类复用的重要手段。使用继承关系来实现复用时,子类对象可以直接赋给父类变量,这个变量具有多态性。 面向对象的程序设计过程中有两个重要的概念:类(Class)和对象(object,也被称为实例,instance)。类可以包含三种最常见的成员:构造器、成员变量、和方法。 构造器用于构造该类的实例,java语言通过new关键字类调用构造器,从而返回该类的实例。构造器是一个类创建对象的根本途径,如果一个类没有构造器,这个类通常无法创建实例。因此java语言提供了一个功能:如果程序员没有为一个类编写构造器,则系统会为该类提供一个默认的构造器,这个构造器总是没有参数的。一旦程序员为一个类提供了构造器,系统将不再为该类提供构造器。 构造器用于对类实例进行初始化操作,构造器支持重载,如果多个重载的构造器里包含了相同的初始化代码,则可以把这些初始化代码放置在普通初始化块里完成,初始化块总在构造器执行之前被调用。静态初始化块代码用于初始化类,在类初始化阶段被执行。如果继承树里某一个类需要被初始化时,系统将会同时初始化该类的所有父类。 构造器修饰符:可以是public、protected、private其中之一,或者省略构造器名:构造器名必须和类名相同。 注意:构造器既不能定义返回值类型,也不能使用void声明构造器没有返回值。如果为构造器定义了返回值类型,或使用void声明构造器没有返回值,编译时不会出错,但java会把这个所谓的构造器当成方法来处理——它就不再是构造器。 实际上类的构造器是有返回值的,当使用new关键字来调用构造器时,构造器返回该类的实例,可以把这个类的实例当成构造器的返回值。因此构造器的返回值类型总是当前类,无须定义返回值类型。不要在构造器里显式的使用return来返回当前类的对象,因为构造器的返回值是隐式的。 java类名必须是由一个或多个有意义的单词连缀而成的,每个单词首字母大写,其他字母全部小写,单词与单词之间不要使用任何分隔符。 成员变量: 成员变量的修饰符:public、protected、private、static、final前三个只能出现一个再和后面的修饰符组合起来修饰成员变量,也可省略。 成员变量:由一个或者多个有意义的单词连缀而成,第一个单词首字母小写,后面每个单词首字母大写,其他字母全部小写,单词与单词之间不要使用任何分隔符。 类型:可以是java语言允许的任何数据类型,包括基本类型和引用类型。 成员方法: 方法修饰符:public、protected、private、static、final、abstract,前三个只能出现一个,static和final最多只能出现其中的一个,和abstract组合起来使用。也可省略。 返回值类型:可以是java语言的允许的任何数据类型,包括基本类型和引用类型。 方法名:和成员变量的方法命名规则相同,通常建议方法名以英文动词开头。 方法体里多条可执行语句之间有严格的执行顺序,排在方法体前面的语句总先执行,排在方法体后面的语句总是后执行。 static是一个特殊的关键字,它可用于修饰方法、成员变量等成员。static修饰的成员表明它属于这个类本身,而
Java基础学习心得笔记
Java基础学习心得笔记 对于很多只会C语言的初学者而言,面对java基础语法学习,反而感觉很难,其实其中最大的问题不是语法难,而是一种编程思想的转变。面向过程就是把你的代码封装成函数,然后依次去做一件事情,面向过程是把你要做的事情抽象成对象,告诉对象去做。所以要想学好java入门,必须知道类和对象的概念。 类是对生活中事物的抽象描述,比如人类,动物类,交通工具类;对象即是对类的具体实例化,比如张三是人,猫是动物,飞机是交通工具(对象-----类)。Java基础入门学习路线可以总结为四步走: 1.java开发环境的搭建; 2.java初级之基础语法学习(80%类似C语言); 3.java中级之面向对象编程学习(重点); 4.java中级之应用编程学习。 第一步:JDK软件开发包时java软件开发环境, 包括jre运行环境和jvm虚拟机,在oricle官网下载javaSE版本JDK包;配置好环境变量就可以使用了。 第二步:java初级语法学习, 1.基本数据类型整形,字符型,字节型,长整形,短整形,浮点型,双精度,布尔型;
2.运算符+,-,*,/,%等; 3.控制流(while,switch,if else); 4.数组的定义方式。 此阶段基本无难度,只要了解练习例题。 第三步:java面向对象学习, 1.类和对象; 2.java语言三大特性,封装、继承、多态; 3.一些关键字学习(static,final,abstract,extends)等。 这是重点,大家根据知识点一步步研究学习才是关键。 第四步:java应用编程, 例如:文件IO,集合(类似C语言数据结构),异常处理,线程,网络,JDBC数据库操作等,都是掌握面向对象以后,在查找不同的类使用类中不同的方法达到应用的效果,所以并不会很难。等基础语法掌握了就可以继续后面框架学习(java web方向,android学习),相信明确思路你会豁然开朗,更有学习动力。 以上没有具体的实例和知识点讲解,分享的只是完全没接触过java的初学者自学java的思路和学习的流程,应该把握的重点,希望大家有所帮助。 如果你想学好Java,找一家靠谱的培训机构,能让你的学习事半功倍。
Java基础知识
一、填空题(每题1分,共50分) 1.Java程序可以分为两种基本的类型,分别是_________________和_________________。 2.如果一个类不显示地写上其继承的父类,则它的默认的直接父类是系统类_______________。 3.Java对内存的释放是采用____________________机制。 4.接口的所有成员方法都具有________________和________________属性。 5.设有一个Java应用程序,其源程序文件名为Test.java,则编译该源程序的命令是_________________________,运行该应用程序的命令为_________________________。 6.如果线程类A需要继承类B,而类B不是线程类,则需要通过接口类Runnable构造线程类A,类A的具体定义为 ___________________________________________________。 7.Java系统提供了方法____________________来强制立即回收垃圾。 8.运行以下语句后b的值是__________________。 String s1=“1234”; String s2=new String(“1234”); Boolean b=(s1 = = s2); 9.通过Connection实例对象的_____________________方法可以创建出Statement的实例对象。 10.JAVA小应用程序一般是_____________的子类。 11.JAVA语言通过____________机制简化了程序的内存管理。 12.JAVA字符(char)采用的是___________字符集。 13.面向对象的计算机语言一般应具有3个基本特性:____________、____________和______________。 14.JAVA语言中,捕获异常是通过________________语句结构来实现的。 15.编写线程程序主要是构造线程类,而构造线程类的方式主要有以下两种:(1)____________________________________________ (2)____________________________________________ 16.假设用JAVA语言为清华大学(网址为https://www.360docs.net/doc/024311048.html,)编写了图像处理包image,那么按照SUN公司的建议,这个包的名称最好为_________________。 17.JAVA数据类型中,具体包括哪三种引用数据类型:___________、____________、______________。 18.JAVA程序以________为单位进行组织的。 19.如果没有显式的定义类的构造方法,则系统会为该类定义一个默认的构造方法,这个默认的构造方法的作用是_____________________________________。
黑马毕向东JAVA基础总结笔记
Java基础知识总结(超级经典) 写代码: 1,明确需求。我要做什么? 2,分析思路。我要怎么做?1,2,3。 3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。 4,代码实现。用具体的java语言代码把思路体现出来。 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用。demo 4,该技术什么时候用?test。 ----------------------------------------------------------------------------------------------- 一:java概述: 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器; 1994年将Oak语言更名为Java; Java的三种技术架构: JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发; JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础; JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序; 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。 2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。3,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。 环境变量的配置: 1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdk path=%JAVA_HOME%\bin 2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin 特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。classpath的配置: 1):永久配置方式:classpath=.;c:\;e:\ 2):临时配置方式:set classpath=.;c:\;e:\ 注意:在定义classpath环境变量时,需要注意的情况 如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件; 如果指定了classpath,那么会在指定的目录下查找要运行的类文件。 还会在当前目录找吗?两种情况: 1):如果classpath的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。 2):如果classpath的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目录找。 一般不指定分号,如果没有在指定目录下找到要运行的类文件,就报错,这样可以调试程序。 4,javac命令和java命令做什么事情呢? 要知道java是分两部分的:一个是编译,一个是运行。 javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java 文件进行编译。生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。 java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行. 一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数. ----------------------------------------------------------------------------------------------
史上最全Java基础知识点归纳
史上最全Java基础知识点归纳 写这篇文章的目的是想总结一下自己这么多年来使用Java的一些心得体会,主要是和一些Java基础知识点相关的,所以也希望能分享给刚刚入门的Java 程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java。 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE 相关的、和Java中各个框架相关的内容。 经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容。 1.JVM相关(包括了各个版本的特性) 对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3年以上Java经验的资
深开发者来说,不会JVM几乎是不可接受的。 JVM作为Java运行的基础,很难相信对于JVM一点都不了解的人可以把Java语言吃得很透。我在面试有超过3年Java经验的开发者的时候,JVM几乎就是一个必问的问题了。当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证Java开发能力的高低。 在JVM这个大类中,我认为需要掌握的知识有: JVM内存模型和结构 GC原理,性能调优 调优:Thread Dump,分析内存结构 class二进制字节码结构,class loader体系,class加载过程,实例创建过程 方法执行过程 Java各个大版本更新提供的新特性(需要简单了解) 2.Java的运行(基础必备) 这条可能出看很简单,Java程序的运行谁不会呢?不过很多时候,我们只是单纯通过IDE去执行Java程序,底层IDE又是如何执行Java程序呢?很多人并不了解。
JavaWeb期末总结
第一章Web开发基础知识(简单描述)表单(续) 表单元素