JAVA笔记(根据马士兵的java视频整理)

合集下载

马士兵_J2SE_第二章_基础语法_个人学习笔记

马士兵_J2SE_第二章_基础语法_个人学习笔记

第二章基础语法1. 成员变量:类体内方法体外声明的变量 局部变量:方法体内声明的变量 重要:变量出了它所在的大括号就不起作用了,反之只要是在它的大括号内任何地方都起作用。

TestConvert.javapublic class TestConvert {public static void main(String arg[]) {int i1 = 123;int i2 = 456;double d1 = (i1+i2)*1.2;//系统将转换为double型运算float f1 = (float)((i1+i2)*1.2);//需要加强制转换符byte b1 = 67;byte b2 = 89;byte b3 = (byte)(b1+b2);//系统将转换为int型运算,需//要强制转换符System.out.println(b3);//结果:-100double d2 = 1e200;float f2 = (float)d2;//会产生溢出System.out.println(f2);//infinity(无限)float f3 = 1.23f;//必须加flong l1 = 123;long l2 = 30000000000L;//必须加lfloat f = l1+l2+f3;//系统将转换为float型计算long l = (long)f;//强制转换会舍去小数部分(不是四舍五入)}}TestConvert2public class TestConvert2 {public static void main(String[] args) {int i=1,j=12;float f1=(float)0.1; //0.1ffloat f2=123;long l1 = 12345678,l2=8888888888L;double d1 = 2e20,d2=124;byte b1 = 1,b2 = 2,b3 = 127;j = j+10;i = i/10;i = (int)(i*0.1);char c1='a',c2=125;byte b = (byte)(b1-b2);char c = (char)(c1+c2-1);float f3 = f1+f2;float f4 = (float)(f1+f2*0.1);double d = d1*i+j;float f = (float)(d1*5+d2);}}Fab.javapublic class Fab {public static void main(String[] args) {System.out.println(f(-9));}public static long f(int index) {if(index < 1) {System.out.println("invalid parameter!");return -1;}if(index == 1 || index == 2) {return 1;}long f1 = 1L;long f2 = 1L;long f = 0;for(int i=0; i<index-2; i++) {f = f1 + f2;f1 = f2;f2 = f;}return f;}}。

马士兵java基础笔记 pdf版 面向对象部分

马士兵java基础笔记 pdf版 面向对象部分

public class Test{ public static void main(String args[]){ Test test = new Test(); int date = 9; BirthDate d1= new BirthDate(7,7,1970); BirthDate d2= new BirthDate(1,1,2000)(1); test.change1(date)(4); test.change2(d1);(7) test.change3(d2);
b.setDay(22),把 b 指向的值改变了,这次真 的变了!
方法执行完后,b 消失,d2 的值变了。
四. 方法重载 类中可以定义相同名字但参数不同的方法。
五. this 关键字 this 指向对象自身的引用。
在类的方法定义中使用 this 关键字代表使用该方法的对象的引用。 当必须指出当前使用方法的对象是谁时要使用 this 有时使用 this 可以处理方法中成员变量和参数重名的情况 this 可以看作是一个变量,它的值是当前对象的引用
_id:1
age = _age; }
_age:25
public static void main(String[] args) {
Person tom = new Person(1, 25); } }
tom:XXX Stack
id:1 age:25
Heap
例子:
class BirthDate { private int day; private int month; private int year; public BirthDate(int d, int m, int y) { //构造方法 day = d; month = m; year = y; }

马士兵_J2SE第九章_线程_个人学习笔记

马士兵_J2SE第九章_线程_个人学习笔记

第九章Java多线程机制进程与线程区别每个进程都有独立的代码和数据空间,进程间的切换会有很大开销。

线程可以看成轻量级的进程同一类线程共享代码和数据空间,每个线程有独立的运行栈个程序计数器,线程切换开销小。

多线程:在操作系统中能同时运行多个任务(程序)。

多线程:在同一个应用程序中有多个顺序流同时执行。

二、说明:Runnable接口ng.Runnable–Java多线程机制的一个重要部分,实际上它只有一个run()方法–Thread类实现了Runnable接口,相对于Thread类,它更适合于多个线程处理同一资源–实现Runnable接口的类的对象可以用来创建线程,这时start方法启动此线程就会在此线程上运行run()方法–在编写复杂程序时相关的类可能已经继承了某个基类,而Java不支持多继承,在这种情况下,便需要通过实现Runnable接口来生成多线程Thread类ng.Thread–在Java程序中创建多线程的方法之一是继承Thread类–封装了Java程序中一个线程对象需要拥有的属性和方法–从Thread类派生一个子类,并创建这个子类的对象,就可以产生一个新的线程。

这个子类应该重写Thread 类的run方法,在run方法中写入需要在新线程中执行的语句段。

这个子类的对象需要调用start方法来启动,新线程将自动进入run方法。

原线程将同时继续往下执行–Thread类直接继承了Object类,并实现了Runnable接口。

它位于ng包中,因而程序开头不用import 任何包就可直接使用例子:Thread\TestThread1.java 开始使用Eclipse2 一般程序先执行子线程,再执行主线程(方法调用)package Thread;public class TestThread1_1 {public static void main(String args[]) {Runner1 r = new Runner1();r.run();for(int i=0; i<100; i++) {System.out.println("Main Thread:------" + i);}}}class Runner1 implements Runnable {public void run() {for(int i=0; i<100; i++) {System.out.println("Runner1 :" + i);}}}3继承Thread类(继承,不常用)package Thread;public class TestThread1_2{public static void main(String arg[]){Runner1_2 r = new Runner1_2();r.start();for (int i = 0 ;i <= 100; i++){System.out.println("Main Thread:!!!!"+i);}}}class Runner1_2 extends Thread{public void run(){for (int i = 0 ;i <= 100; i++){System.out.println("Runner2:!!!!"+i);}}}2010-4-2 21:04:16 – 2010-4-14 16:28:59三、线程状态转换四、线程控制基本方法Sleep/Join/Yield方法Sleep/Join(需要捕获异常)例子1 Thread/TestInterrupt.Java (线程结束的方式)package Thread;import java.util.*;public class TestInterrupt {public static void main(String arg[]){MyThread thread = new MyThread();thread.start();try{Thread.sleep(10000);}//主线程睡眠…catch(InterruptedException e){}thread.interrupt();//中断线程。

马士兵-Java笔记

马士兵-Java笔记

马士兵-Java笔记Java语言的特点:1. 一种面向对象的语言;2. 一种平台无关的语言,提供程序运行的解释环境;3. 一种健壮的语言,吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如:指针,内存的申请与释放等)。

Java两种核心机制:Java虚拟机、垃圾收集机制;一个Java源文件中最多只能有一个public类。

其他类的个数不限,如果源文件包含一个public类,它必须按该类名命名;Java标识符命名规则:1. 标识符由字母、下划线“_”、美元符“$”或数字组成;2. 标识符应以字母、下划线、美元符开头;3. Java标识符大小写敏感,长度无限制。

从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每个变量使用前必须要先申请(声明),然后必须进行赋值(填充内容),才能使用。

数据类型包括基本数据类型和引用数据类型:1. 基本数据类型:数值型:整数类型(byte,short,int,long),浮点类型(float,double)字符型(char)布尔型(boolean)2. 引用数据类型:类(class)接口(interface)数组Java语言的整型常量默认为int型,声明long型常量可以后加‘l’或‘L’。

Java浮点型常量默认为double型,如要声明一个常量为float型,则需在数字后面加f或F.Boolean类型不可以转换为其他的数据类型。

整型,字符型,浮点型的暑假在混合运算中相互转换,转换时遵循一下原则:1. 容量小的类型自动转换为容量大的暑假类型;数据类型按容量大小排序为:Byte,short,char->int->long->float->doubleByte,short,char之间不会互相转换,他们三者在计算时首先会转换为int类型2. 容量大的暑假类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意。

JavaSE马士兵笔记word版

JavaSE马士兵笔记word版

第1章Java概述Java语言的特特点一种面向对象的语言;一种平台无关的语言;一种健壮的语言,吸收了C/C++的优势,但去掉了其阻碍程序健壮性的部份(如:指针、内存的申请与释放等)Java的两种核心机制Java虚拟机(Java Virtual Machine)垃圾回收机制(Garbage Collection)源程序(*.java文件)→Java编译器→字节码(*.class文件)→类装载器→字节码校验器→说明器→操作系统平台一次编译,到处运行Java是一种说明型语言JDK(Java Development Kit)软件开发工具包JRE(Java Runtime Environment)运行时环境开发需要JDK;用户只需JREPATH:WINDOWS系统执行命令时要搜寻的途径(如,)CLASSPATH:Java在编译和运行时要找的class所在途径(“.”代表当前途径)java:运行java程序javac:编译java程序java –version一个源文件最多只能有一个public类,其他类数量不限,源文件名必需与public类名一致Java应用程序的执行入口时main()方式:public static void main(String[] args){…} Java语言中严格区分大小写编译后,每一个类都对应一个class文件第2章基础语法标示符由字母、下划线”_”、美元符”$”或数字组成标示符应以字母、下划线、美元符开头Java标示符对大小写灵敏,长度无穷制,注意“见名知意”且不能与Java语言关键字重名goto和const尽管未利用,但也被作为Java的关键字保留程序执行进程:到内存区 2.找到main方式开始执行 3.执行进程中的内存治理Java数据类型的划分boolean类型数据只许诺取值true或false,不能够利用0或非0的整数值取代true和false,这点和c语言不同Java字符采纳Unicode编码,每一个字符占两个字节,因此能够用十六进制编码形式表示,例:char c = ‘\u0061’;Java语言的整型常量默以为int类型,声明long型常量能够后加l或L大体数据类型转换boolean类型不能够转换为其他的数据类型整型,字符型,浮点型的数据在混合运算中彼此转换,转换时遵循以下原那么:容量小的类型自动转换为容量大的类型:byte,short,char->int->long->float->doublebyte,short,char之间不需要彼此转换,他们三者在计算时第一会转换为int类型能够将整型常量直接赋值给byte,short,char等类型变量,而不需要进行强制类型转换,只要不超过其表数范围“+”除用于算术加法外,还可用于对字符串进行连接操作,“+”运算符双侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接,当进行打印时,不管任何类型,都自动转换为字符串进行打印break&continuebreak语句用于终止某个语句块的执行。

马士兵vip课笔记

马士兵vip课笔记

马士兵vip课笔记
马士兵VIP课笔记
1. 课程概述
马士兵的VIP课程是一个全面的编程培训项目,涵盖了从基础到高级的各类编程知识和技能。

该课程强调实战编程,注重培养学员的实际项目开发能力。

通过学习此课程,学员可以掌握多种编程语言和技术,为未来的职业发展打下坚实的基础。

2. 课程内容
•基础概念:课程首先介绍了编程的基本概念,如变量、数据类型、控制结构等。

•面向对象编程:深入探讨了面向对象编程的概念,包括类、对象、继承和多态等。

•高级编程技术:涵盖了如泛型、反射、异步编程等高级编程技术。

•框架与库:介绍了多个主流的编程框架和库,如Spring、Django等。

•实战项目:课程以多个实战项目作为结尾,让学员在实际操作中巩固所学知识。

3. 课程特色
•实战导向:课程强调实战编程,注重培养学员解决实际问题的能力。

•内容全面:课程内容涵盖了从基础到高级的各类编程知识和技能,满足不同层次学员的需求。

•互动性强:课程中设置有多个互动环节,鼓励学员与老师和同学进
行交流和讨论。

•社区支持:提供了一个强大的社区支持,学员可以在社区中寻求帮助和分享经验。

4. 总结
马士兵的VIP课程是一个非常全面且实战导向的编程培训项目。

通过学习此课程,学员可以系统地掌握编程知识和技能,为未来的职业发展打下坚实的基础。

如果你是一位编程爱好者或者想要在编程领域有所建树,那么这门课程是你不容错过的选择。

【免费下载】尚学堂科技.马士兵.JAVA.系列视频教程 [全]

【免费下载】尚学堂科技.马士兵.JAVA.系列视频教程 [全]

尚学堂科技.马士兵.JAVA.系列视频教程第一部分:J2se学习视频内容包括:尚学堂科技_马士兵_JAVA视频教程_JDK5.0_下载-安装-配置尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第01章_JAVA简介_源代码_及重要说明尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第02章_递归补充尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第02章_基础语法尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第03章_面向对象尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第04章_异常处理尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_ 第05章_数组尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第06章_常用类尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第07章_容器尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第08章_IO尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第09章_线程尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第10章_网络尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第11章_GUI尚学堂科技_马士兵_JAVA 视频教程_J2SE_5.0_专题_日期处理尚学堂科技_马士兵_JAVA视频教程_J2SE_专题_正则表达式反射avi◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第二部分:j2se练习项目视频内容包括:尚学堂科技_马士兵_在线聊天系统雏形视频教程_java_eclipse尚学堂科技_马士兵_坦克大战视频教程_java_eclipse尚学堂科技_马士兵_坦克大战图片版尚学堂科技_马士兵_JAVA_坦克大战网络版视频教程尚学堂科技_马士兵_snake_贪吃蛇内部视频涉及到项目之1俄罗斯方块.rar: 07.4 MB涉及到项目之2坦克大战视频教程.rar: 019.4 MB涉及到项目之3坦克大战视频教程_java_eclipse.rar: 0395.4 MB涉及到项目之4坦克大战图片版.rar: 0101.2 MB涉及到项目之5坦克大战网络版视频教程.rar: 0248.8 MB涉及到项目之snake_贪吃蛇视频.rar: 095.2 MB涉及到项目之在线聊天系统雏形视频教程_java_eclipse.rar: 0233.9 MB◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第三部分数据库视频Oracle视频内容包括:01——53讲avi格式◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第四部分:JDBC和MySQL视频,内容包括:1_lomboz_eclipse_jdbc2_mysql_avi3_ 连接池的设计思路.avi◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第五部分:HTML & CSS & JAVASCRIPT 视频:Html & CSS 视频内容简介:01_html 简单介绍和meta标签.avi02_a_路径问题等等.avi03_学习方法_其他常用标签.avi04_1_note.avi04_ 表格和表单_1.avi05_表格和表单_2.avi06_Frame.avi07_Dreamweaver.avi08_CSS_1.avi09_CSS_2_ 选择方式.avi10_CSS_3.avi11_CSS_4.aviJavaScript 视频简介:01_JS 初步及调试.avi02_JS基本语法.avi03_函数_事件处理_1.avi04_事件处理_2.avi05_内置对象_DOM_BOM.avi06_趣味.avi07_实用.avi08_ 表单验证.avi09_表单验证_new.avi10_后台框架.avi11_后台框架_2.avi12_TREE.avi◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第六部分:Servlet & JSP视频——内容包括:1 tomcat的安装使用,配置2 servlet & jsp 视频1——30节jsp的练习项目内容包括:3 简单bbs项目3 2007美化BBS项目4 网上商城项目视频4 网上商城项目视频讲解视频◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第七部分:J2EE学习视频包括:DRP项目框架视频学习:Struts视频Hibernate视频Spring视频提高部分:uml统一建模语言视频SSH项目视频:oa办公自动化系统视频crm项目视频银行系统视频ejb3.0视频J2ME_3G简介资料面试材料:面试题大汇总+笔记+技巧。

JAVA 笔记(根据马士兵的java视频整理)

JAVA 笔记(根据马士兵的java视频整理)

JAVA视频教程尚学堂---手把手教程Email:******************Call:86-10-58052712 主讲教师马士兵**********************SCM系统--------Java+VC跨平台(电信宽带运营平台-------Java+WEB(J2EE)跨平台远程教学平台----Java+WEB(tomcat)VOD视频监控-----VCERP视频会议---------VC新闻发布系统-----Java+XML(模板)网上商城课堂内容、教学方法、学习方法、预备知识、教学资源JAVA基础贯穿数据结构的知识(时间复杂度、链表)---非常重要语法基础【变量、循环、分支】最核心的东西—原理--学好OO【面向对象是最重要的】有新东西学是好事----个人价值Exception 从Java Web开始,框架巨多无比Array【数组】基础类、常用类I/O StreamCollection/Generic【集合类】Thread【线程】TCP/UDP【网络底层】GUI【Graphic User Interface 图形化用户接口窗口】Meta Data【以后讲,与EDP3.0紧密相关】Regular Expression【正规表达式】JDK初步Java Web编程【主攻一个框架---讲原理,略讲其他框架】针对Web程序J2EE【一套标准,包含Java Web 、JDPC、JSP、SP、JB/开源框架EDP3.0—就分步式来说,目前(2005)无东西与之抗衡】(比较EDP3.0,2.0,1.0)企业级应用J2ME移动设备移动增值SP运营商3G,2.5G,要火爆起来【网络先铺起来,应用才能上来;3G的网络还没有铺开、火爆起来,讲3G的应用超前了】巨无霸式的教学理论举例理论回顾练习讲解【三片面包加两片肉】注重结合工程实践【完全结合】注重传授自学能力【自学的东西相当重要,授人以鱼,不如授人以渔;慢慢学会掌握一定基础后才有,灌输、背,融成血液里的一部分,心中无剑,手中有剑—前提—心中有剑手中也有剑;时间短,强度大,该背就背】个人能力分三个层次知识学习前人的知识---学习能力的一个表现,被动地接受—接受能力{自己学习了知识后考虑如何去应用,去---学习解决问题的方法【类似问题遇到过】灵活运用学到的知识【碰到什么问题采用什么方法】解决问题的思路【最高层次】创造解决问题的方法【思路掌握了,遇到新问题,自己拓展一条思路,解决问题,不可能一口吃成一个胖子,沿着这三个层次一点一点往上升首先打造自己学习知识的能力,先把该掌握的知识掌握了,再谈如何应用---如何教---教大家写项目每一个知识教太深—给项目留得时间特别短---不合适;自学一些东西,慢慢去培养解决问题的思路,试着朝这个方向去培养,工作后慢慢遇到新问题使劲去思考了积累起来逐渐会有这个能力,灵活一点、再灵活一点!基础知识要背—灵活应用的东西不能背,无一定之规,在实践中慢慢锻炼—实践的越多—敲的代码越多(掌握思路后自主敲代码,哪怕敲不出来再看别人的思路—收获远远不一样,学习要自主一点,多思考思路才能开阔—无捷径,努力锻炼自己的就业能力。

尚学堂马士兵java第4章异常处理笔记(精)

尚学堂马士兵java第4章异常处理笔记(精)

尚学堂马士兵java第4章异常处理笔记.txt精神失常的疯子不可怕,可怕的是精神正常的疯子!第四章异常处理java异常的概念:运行期出现的错误1、java异常是java提供的用于处理程序中错误的一种机制2、所谓错误是指在程序运行的过程中发生的一些异常事件(如:除0溢出、数组下表越界、所要读取的文件不存在)。

3、设计良好的程序应该在异常发生时提供处理这些错误的方法,使得程序不会因为异常的发生而阻断或产生不可预见的结果。

4、java程序的执行过程中如出现异常事件,可以生成一个异常类对象,该异常对象封装了异常事件的信息并将被提交给java运行时系统,这个过程称为抛出(throw)异常。

5、当java运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获(catch)异常。

异常的分类:Throwable:Error和ExceptionError:不能处理系统错误(如java虚拟机错误)Exception:可处理的异常Runtime Exception:一类特殊的异常,如被0除、数组下表炒范围等,其产生比较频繁,处理麻烦,如果显式的声明或捕获将对程序可读性和运行效率影响很大。

因此由系统自动检测并将它们交给缺省的异常处理程序(用户可不必对其处理)。

try语句:1、try{...}语句指定了一段代码,该段代码就是一次捕获并处理例外的范围2、在执行过程中,该段代码可能会产生并抛出一种或几种类型的异常对象,它后面的catch语句要分别对这些异常做相应的处理3、如果没有例外产生,所有的catch代码段都被略过不执行catch语句:1、在catch语句块中是对异常进行处理的代码,每个try语句块可以伴随一个或多个catch语句,用于处理可能产生的不同类型的异常对象2、在catch中声明的异常对象(catch(SomeException e))封装了异常事件发生的信息,在catch语句块中可以使用这个对象的一些方法获取这些信息3、例如:A、getMessage()方法,用来得到有关异常事件的信息B、printStackTrace()方法,用来跟踪异常事件发生时执行堆栈的内容finally语句:1、finally语句为异常处理提供一个统一的出口,使得在控制流程转到程序的其他部分以前,承购对长须的状态做一个统一的管理2、无论try所指定的程序块中是否抛出例外,finally所指定的代码都要被执行3、通常在finally语句中可以进行资源的清除工作,如:A、关闭打开的文件B、删除临时文件C、。

(完整版)Java学习笔记 基于马士兵老师视频教学的笔记毕业论文

(完整版)Java学习笔记 基于马士兵老师视频教学的笔记毕业论文

Java学习笔记学习Java首先要配置环境变量,在电脑属性的高级中,点击环境变量,classpath中有一英文句号“.”后跟一个分号,表示当前路径的意思。

由第一个程序Helloworld为例说明Java的基本运行代码:public class HelloWorld {public static void main(String args[]) {System.out.println("Hello, World!");}}在Java中只能允许有一个公共类,此区别于C++。

还有Java的写作风格与C和C++有很大区别。

下面细谈Java的基本语法,与其他语言类似,Java每一条语句都以“;”结束。

1.short byte char 之间不会自动转换,他们运算时首先转换为int 然后进行运算;boolean不会进行转换;如:byte b1;byte b2;byte b3=byte(b1+b2);b1+b2运算后是int 类型,可以byte a=1;可以把数值直接赋值不超范围,(-128~127)float f1=1.234f;long l1=L;f和L一定加上;2.System.out.println( );输出后换行System.out.print( );输出后不换行&&和&的区别:表达式1 && 表达式2 只要表达式1 错误,后不再计算,表达式1 & 表达式2 就算表达式1错误表达式2也会计算。

+既可以作为加号,也可以作为连接符,即左右都是字符串,当有一个是字符串,系统默认把另一个转化为字符串再处理。

例如:System.out.println(“c=”+ c);打印时,无论任何类型,都先转换为字符型,再进行打印。

3.聚合关系,就是包含关系,实现关系就像虚基类,在派生类中实现。

4.定义成员变量可以初始化,若不则自动初始化(可以直接在成员变量的定义时初始化);但局部变量一定要自己初始化,boolean类型默认为false,其他默认为0;在main中调用函数时,只要定义了构造函数并且初始化,就一定要把实参的值写到函数里,不能少参数。

马士兵视频列表及Java学习教学大纲

马士兵视频列表及Java学习教学大纲

马士兵视频列表及Java学习教学大纲教学视频资源列表 q、 jshtmlcss 这是基础 l、尚学堂科技_马士兵_轻松开心 linux 视频教程 n、 oracle.马士兵 r、 mysql_avi.马士兵这些单独的数据库和系统模块可以在任何时候都可以,建议在学j2ee 之前学 j、尚学堂马士兵视频教程_scm_cvs_svn cvs 是存档工具,建议在学 j2ee 当中学习 p、 junit4 这个是测试工具,建议在学 j2ee 中学习 s、设计模式.马士兵 j2ee 中会提到这块的 f、马士兵jsp_servlet 视频这个是 j2ee 的基础 a、 ejb3.0 李腾飞 ejb 现在用的真的不多了 d、 struts 马士兵 b、 hibernate 马士兵 c、 spring 马士兵 struts 是学习 j2ee 的第一个框架,简洁易上手,也可以考虑struts2,这个跟 struts 没啥关系,是 webwork 的升级版 hibernate 对于懒人来说很好用,但是不适合面对大客户量的访问,那样机器会死的很惨 spring 还不错,就是要适应繁琐的配置文件 g、尚学堂科技_马士兵_java_网上商城项目视频讲解 h、尚学堂 09 年 drp 项目 i、尚学堂科技_马士兵_jdbc_mysql_bbs 项目课堂实录视频教程 k、尚学堂科技_马士兵_java_系列视频教程_bbs_2007 o、尚学堂马士兵视频教程_xml_ajax_dom4j_javadb_metadata 学完三大框架之后就可以做上面的项目了,然后 ajax 的学习也用不了太久,可以边学边学着做 e、 oa 项目最好是在有以上项目阅历的基础上,加上学完了 ajax 再做 oa 项目,因为 oa 项目涉及到的技术太多 m、网络课堂.尚学堂马士兵_flex_01 00_actionscript 这个跟上面的不是一个体系,建议当做扩展来学习第一部分:j2se 学习视频内容包括:尚学堂科技_马士兵_java 视频教程_jdk5.0_下载-安装-配置尚学堂科技_马士兵_java 视频教程_j2se_5.0_第 01 章_java 简介_源代码_及重要说明尚学堂科技_马士兵_java 视频教程_j2se_5.0_第 02 章_递归补充尚学堂科技_马士兵_java 视频教程_j2se_5.0_第 02 章_基础语法尚学堂科技_马士兵_java 视频教程_j2se_5.0_第 03 章_面对对象尚学堂科技_马士兵_java 视频教程_j2se_5.0_第 04 章_异样处理尚学堂科技_马士兵_java 视频教程_j2se_5.0_第 05 章_数组尚学堂科技_马士兵_java 视频教程_j2se_5.0_第 06 章_常用类尚学堂科技_马士兵_java 视频教程_j2se_5.0_第 07 章_容器尚学堂科技_马士兵_java 视频教程_j2se_5.0_第 08 章_io 尚学堂科技_马士兵_java 视频教程_j2se_5.0_第 09 章_线程尚学堂科技_马士兵_java 视频教程_j2se_5.0_第 1 0 章_网络尚学堂科技_马士兵_java 视频教程_j2se_5.0_第11 章_gui 尚学堂科技_马士兵_java 视频教程_j2se_5.0_专题_日期处理尚学堂科技_马士兵_java 视频教程_j2se_专题_正则反射 avi 其次部分:j2se 练习项目视频内容包括:尚学堂科技_马士兵_在线闲聊系统雏形视频教程_java_eclipse 尚学堂科技_马士兵_坦克大战视频教程_java_eclipse 尚学堂科技_马士兵_坦克大战图片版尚学堂科技_马士兵_java_坦克大战网络版视频教程尚学堂科技_马士兵_snake_贪吃蛇内部视频第三部分数据库视频 oracle 视频内容包括:01 53 讲 avi 格式第四部分:jdbc 和 mysql 视频,内容包括:1 _lomboz_eclipse_jdbc 2_mysql_avi 3_连接池的设计思路.avi 第五部分:html css js 视频:html css 视频内容简介:01 _html 简洁介绍和 meta 标签.avi 02_a_路径问题等等.avi 03_学习方法_其他常用标签.avi 04_1 _note.avi 04_表格和表单_1 .avi 05_表格和表单_2.avi 06_frame.avi 07_dreamweaver.avi 08_css_1 .avi 09_css_2_选择方式.avi 1 0_css_3.avi 11 _css_4.avi js 视频简介:01 _js 初步及调试.avi 02_js 基本语法.avi 03_函数_事务处理_1 .avi 04_事务处理_2.avi 05_内置对象_dom_bom.avi 06_趣味.avi 07_好用.avi 08_表单验证.avi 09_表单验证_new.avi 1 0_后台框架.avi 11 _后台框架_2.avi 1 2_tree.avi 第六部分:servlet jsp 视频内容包括:1 tomcat 的安装运用,配置2 servlet jsp 视频 1 30 节jsp 的练习项目内容包括:3 简洁 bbs 项目 3 2007 美化 bbs 项目4 网上商城项目视频 4 网上商城项目视频讲解视频第七部分:j2ee 学习视频包括:drp 项目框架视频学习:struts 视频 hibernate 视频 spring 视频提高部分:uml 统一建模语言视频 ssh 项目视频:oa 办公自动化系统视频 crm 项目视频银行系统视频 ejb3.0视频 j2me_3g 简介资料面试材料:面试题大汇总+笔记+技巧路途图明细下面给出其次节《java 自学路途图》中学问点的明细:一:j2se 面对对象-封装、继承、多态内存的分析递归集合类、泛型、自动打包与解包、 annotation io 多线程、线程同步 tcp/udp awt、事务模型、匿名类正则反射机制 2:数据库(oracle 或者 mysql) sql 语句多表连接,内外连接,子查询等管理表、视图、索引、序列、约束等树状结构存储存储过程、触发器数据库设计三范式、 3:jdbc jdbc 基础连接池树状结构存储与呈现datasource rowset jdbc 连接 oracle 及 mysql 4:html_css_js html、 css、 js 基础语法 js form 推断 dom 编程基础(事务处理等) js 常用效果如 treeview、下拉联动等 js 学习方法 js 调试方法 dreamweaver 初步(建立 html、 table、 form、css)等 5:servlet jsp tomcat 基础 servlet 基础 web.xml 配置基础web application 的结构 servlet 生命周期 request response 等常用方法servletcontext 类+css+js--------------------------- 3 days 5. --html+css+js--------------------------- 3 days 6. --bbs----------------------------------- 2 days 其次部分学习总周期 27 天 7. --drp-----------------------------------1 2 days 8.--struts--------------------------------- 6 days 9. --hibernate-------------------------------- 6 days 1 0.--spring--------------------------------- 3 days 第三部分学习总周期 26 天 11 .--uml----------------------------------- 2 days12.--oa-----------------------------------1 5 days13.--crm----------------------------------- 5 days 1 4.--ejb 3.0---------------------------------3 days 1 5.--bankproject(简介) ---------------------------1 days 1 6.--面试技巧+3g+j2me(简介) -------------------------1 days 第四部分 linux 学习总周期4 天。

马士兵-J2SE第二章-基础语法-个人笔记

马士兵-J2SE第二章-基础语法-个人笔记

马士兵-J2SE第二章-基础语法-个人笔记第二章基础语法一、标识符1.J ava对各种变量、方法和类等要素命名时使用的字符序列成为标识符。

2.命名规则:a)以一个字母、下划线(_)或美元符号($)开始b)由一个字母、下划线(_)或美元符号($)或数字组成c)是大小写区别对待的, 且无最大长度二、关键字关键字对Java技术编译器有特殊的含义,它们可标识数据类型名或程序构造(construct)名。

表2-1列出了使用在Java编程语言中的关键字。

abstract do implements private throwboolean double import protected throwsbreak else instanceof public transientbyte extends int return truecase false interface short trycatch final long static voidvolatileclass float new switch whilecontinue for null synchronizeddefault if package this三、常量a)J ava的常量值用字符窜表示,区分为不同的数据类型i.整形:39实型3.14 字符常量’a’字符串常量:”hellworld”四、变量a)是程序中最基本的存储单元,包括变量类名,变量类型和作用域b)每个变量都属于特定的数据类型,使用前必须声明,让后赋值,才能使用c)程序执行过程重要!!!01_标识符_关键字_数据类型_1.avi五、变量分类a)按被声明的位置:i.局部变量:方法或语句块内部(方法的参数叫局部变量)(小)ii.成员变量:方法外部、类的内部(大)iii.注意:类外面(与类对应的大括号外面)不能有变量的声明b)按所属的数据类型:i.基本数据类型变量ii.引用数据类型变量六、数据类型划分 4类8种1.b oolean只取true或false2.c har 字符型(单引号),采用Unicode编码,每个字符占两个字节(可以用十六进制编码形式表示);a)c har c1 = ‘\u0061’;b)c har c2=’\n’; 转移字符’\’3.整数型:有固定的表数范围和字段长度a)十进制 12c)十六进制要求0X或0x开头 0x12d)默认为int型i.4.浮点型:有固定的表数范围和字段长度a)十进制 3.14b)科学计数法:2.14e2c)默认为double 要声明float 必须在数字后面加f或者Ffloat f = 12.3fd)七、基本数据类型转换a)b oolean类型不可以转换为其他数据类型,其他类型也不能转换为booleanb)整形,字符型,浮点型的数据在混合运算中相互转换:i.容量小的自动变为大的,byte,short,char->int->long->float->doubleii.byte,short,char之间不能转哈,先转换为intc)容量大的变为小的时,要加上强制转换符,会造成精度降低d)多种类型数据混合运算,系统先将所有数据自动转换为最大的那中,然后计算例子TestConvert.java TestConvert2.java八、格式a)大括号对齐b)遇到{缩进,Tab / Shift + Tabc)程序块之间加空行d)并排语句之间加空格e)运算符两侧加空格i.有特定条件f){前面有空格g)成对编程九、运算符a)算术:+ , - , * , / , % , ++ , --c)逻辑: ! , & , | , ^ , && , ||d)位: & , | , ^ , ~ , >> , << , >>>e)赋值 : =f)扩展赋值: += , -= , *= , /=g)字符串连接: +1.++(--)在后时先取值在运算2.++(--)在前时先运算后取值inti1=1,i22; ii.inti=(i2++); iii.i1++2i) iv.则:i=2i2=22=223.逻辑运算符i. ! 非 , & 与 , | 或 , ^ 异或 , && 短路与 , || 短路或ii.4.赋值运算与扩展赋值运算5.字符串连接: +i.对字符串进行连接ii.+ 运算符两侧的操作数中只要有一个是字符串(String ) 系统会自动将一个操作数转换为字符串iii.当打印时,无论什么类型,都自动转换为字符串进行打印十、表达式a)符合一定语法规则的运算符和操作数的序列b)顺序:按照运算符的优先级从高到低,优先级相同的,按照事先约定的结合方向进行。

java-hibernate笔记(讲义)-【尚学堂马士兵老师】

java-hibernate笔记(讲义)-【尚学堂马士兵老师】

java-hibernate笔记(讲义)-【尚学堂马士兵老师】知识点终结:1 新建项目2 学习建立user-library-hibernate,并加入相应的jar包a项目右键-build path-configure build path-add libraryb选择user-library,在其中新建library,命命为hibernatec 在该library中加入hibernate所需要的jar包hibernate3.3.2/hibernate3.jar/lib/required目录下的所有包6个Sl4j-nop jar3 引入mysql的JDBC驱动包4 在MYSQL中建数据库和相应的表student(id,name,age)5 建立hibernate配置文件hibernate.cfg.xml参考文档中COPY,修改对应的数据库连接,6 建立student类7 建立映射文件Student.hbm.xml 参考相应文档8 将映射文件加到hibernate-cfg.xml中搭建日志环境并配置显示DDL语句slf的实现:slf4j nodep ,log4j ,jdk logging api ,apache common-log.slf4j.nop.jar是slf-api.jar其相应的接口实现把slf的接口对到log4j的实现,在user library中hibernate,把slf的实现slf4j-nop-1.5.8.jar去掉,添加log4j的实现log4j-1.2.15.jar,再添加一个slf-api和log4j转换器slf4j-log4j12-1.5.8.jar.把slf的接口转换成log4j的接口.最后添加一个log4j的配置文件log4j.properties利用HIBERNA TE导出数据库建表//读取配置文件hibernate.cfg.xmlConfiguration cfg=new AnnotationConfiguration().configure();(有注解时使用AnnotationConfiguration),configure()可以手动指定配置文件名称. Configuration cfg=new Configuration(),会默认读取hibernate.properties文件//创建schemaExport对象import org.hibernate.tool.hbm2ddl.SchemaExport;SchemaExport export=new SchemaExport(cfg);//创建数据库表export.create(true, true);对象映射(采用Annotation注解方式)1 建表Create table teacher(id int primary key,name varchar(20),title varchar(20));2 创建teacher类,并进行注解@import javax.persistence.Entity;import javax.persistence.Id;在bean中加注解@ Entity,@Id(加在getId()上面)3 在hibernate中加入annotation相应的jar包hibernate-annotations.jar/lib目录下加入相应的包ejb3-persistence.jar, hibernate-commons-annotations.jar注意:annotation文档中并没有提到hibernate-annotations.jar包4 参考annotation文档建立对应的注解5 在hibernate.cfg.xml中建立映射<mapping class=”com.xx.xx”/>6 示例//AnnotationConfiguration;Configuration cfg=new AnnotationConfiguration();SessionFactory sf=cfg.configure().buildSessionFactory();Session session=sf.openSession();session.beginTransaction();session.save(t);//session.getTransaction().commit();session.close();sf.close();对象映射(采用配置文件方式)1 在相应的类中建立对应的配置文件.例如Student类对应的配置文件Student.hbm.xml<hibernate-mapping package="com.model"><class name="Student" table=" Student" ><id name="id" column="id"></id><property name="name" column="name" /><property name="age" column="age" /></class></hibernate-mapping>2 在hibernate.cfg.xml中添加该映射文件Student.hbm.xml即可<!-- 建立对应的配置文件关联相应的数据库表 --><mapping resource="com/model/Student.hbm.xml"/>注意包名的写法3 示例//读取配置文件hibernate.cfg.xmlConfiguration cfg=new Configuration().configure();//创建SessionFactorySessionFactory sf=cfg.configure().buildSessionFactory();//创建sessionSession session=sf.openSession();session.beginTransaction();session.save(s);session.getTransaction().commit();session.close();sf.close();hibernate.cfg.xml配置hibernate.hbm2ddl.auto属性取值: validate | update | create | create-drop在sessionfactory创建时,自动检查数据结构,或者将数据库schema(表)的DDL导出到数据库,使用create-drop时,在显式关闭sessionfactory时,将drop掉数据库schema.validate 加载hibernate时,验证创建数据库表结构create 每次加载hibernate,重新创建数据库表结构create-drop 加载hibernate时创建,退出是删除表结构update 加载hibernate自动更新数据库结构表名和类名不同的情况时,对表名进行配置1 在注解中import javax.persistence.Table;@Table(name=”TableName”)2 在XML文件中<hibernate-mapping package="com.model"><class name="Teacher" table="Teacher" >配置对应的table属性为相应的表名<id name="id" column="id"></id>…</class></hibernate-mapping>字段名和属性名相同,默认为对于annotation,如果什么注解都不写的话,相当于加了注解@Basic实体bean中所有的非static非transient的属性都可以被持久化, 除非你将其注解为@Transient.所有没有定义注解的属性等价于在其上面添加了@Basic注解. 通过@Basic注解可以声明属性的获取策略(fetch strategy):对于XML文件中不用写column.字段名和属性名不同时Annotation:@column(name=”column_name”)加上相应的getXXX()方法上XML:column属性不需要persistence的字段import javax.persistence.Transient;@ Transient 意思是说这个属性是透明的,不进行持久化,存储的时候不存进去映射日期和时间类型,指定时间精度Annotation:import javax.persistence.Temporal;@Temporal(TemporalType.TIME)XML:指定type<class name="Teacher" table="Teacher" ><id name="id" column="id"></id><property name="name" type="time" />type=time或date</class>枚举类型的转换@Enumerated(EnumType.STRING)字段映射的位置推荐写在gexXXX方法上在程序中通过Hibernate 来保存java.sql.Clob 或者java.sql.Blob 实例时,必须包含两个步骤:1 在一个数据库事务中先保存一个空的Blob 或Clob 实例。

尚学堂 马士兵 Java视频学习顺序

尚学堂 马士兵 Java视频学习顺序

第一阶段:J2SE基础数据结构正则表达式反射机制第零部分:60分钟零基础体验项目开发第一部分:J2se学习视频内容包括:尚学堂科技_马士兵_JA V A视频教程_JDK5.0_下载-安装-配置尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第01章_JA V A简介_源代码_及重要说明尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第02章_递归补充尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第02章_基础语法尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第03章_面向对象尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第04章_异常处理尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第05章_数组尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第06章_常用类尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第07章_容器尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第08章_IO尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第09章_线程尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第10章_网络尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第11章_GUI尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_专题_日期处理尚学堂科技_马士兵_JA V A视频教程_J2SE_专题_正则表达式尚学堂科技_马士兵_JA V A视频教程_J2SE_专题_递归尚学堂科技_马士兵_JA V A视频教程_J2SE_专题_CLASSPA TH第二部分:j2se练习项目视频内容包括:尚学堂科技_马士兵_在线聊天系统雏形视频教程_java_eclipse尚学堂科技_马士兵_坦克大战视频教程_java_eclipse尚学堂科技_马士兵_坦克大战图片版尚学堂科技_马士兵_JA V A_坦克大战网络版视频教程尚学堂科技_马士兵_snake_贪吃蛇内部视频补充知识:设计模式(一部分) ,Java Annotation,Java 反射,专题_日期处理,专题_正则表达式,另外建议补充数据结构的知识。

马士兵JAVA基础知识整理

马士兵JAVA基础知识整理

Java语言基础知识整理一.计算机语言的发展史及历史地位1.第一代语言打孔机——纯机器语言2.第二代语言汇编3.第三代语言(1)C、Pascal、Fortran面向过程的语言(2)C++面向过程/面向对象(3)java跨平台的纯面向对象的语言(4).NET跨平台语言4.java语言特点(1)一种面向对象的语言(2)一种平台无关的语言,提供程序运行的解释环境(3)一种健壮的语言,吸收了c/c++语言的优点,但去掉了影响程序健壮性的部分(如:指针、内存的申请与释放等)。

二.Java程序运行机制及运行过程1.java两种核心机制(1)Java虚拟机(Java Virtual Machine)(2)垃圾收集机制(Garbge Collection)2.java运行过程源程序(*.java文件)—>java编译器—>字节码(*.class文件)—>类装载器—>字节码校验器—>解释器—>操作系统平台4.java虚拟机(1)java虚拟机可以理解为是一个以字节码为机器指令的CPU。

(2)对于不同的运行平台有不同的虚拟机。

(3)Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。

5.垃圾收集机制(1)不再使用的内存空间应回收—垃圾收集。

(2)在c/c++语言中,由程序员负责回收无用的内存空间。

(3)Java语言消除了由程序员负责回收无用的内存空间的责任,它提供了一种系统级线程跟踪存储空间的分配情况,检查并释放那些可以被释放的存储器空间。

(4)垃圾收集在java程序运行过程中自动进行,程序员无法精确进行控制和干预。

三.Java Application初步1.java源文件以“java”为扩展名。

源文件的基本组成部分是类(class)。

2一个源文件最多只有一个public类,其他类的个数不限,如果源文件包括一个public 类,它必须按该类名命名。

3.java应用程序的执行入口是main()方法,有固定的书写格式:public static void main(String[] args){ …}4.java语言严格区分大小写。

java笔记马士兵版

java笔记马士兵版

java笔记马士兵版第一章基础语法1.程序执行过程2.java变量的分类3.java数据类型的划分4.数据类型所占的空间大小注意:数值范围数值转换数据类型之间的转化5.运算逻辑符的关系6.do..while 和while的区别执行语句和判断语句执行先后的问题7.break和continue的区别(代码分析)8.方法形式参数:在方法被调用时接收外外界输入的数据。

实参:调用方法时实际传给方法的数据。

返回值:方法执行完毕后返还给调用它的环境的数据。

返回值类型:事先约定的返回值的数据类型,如无返回值,则返回值类型为void。

注意:第二章面向对象1.对象和类的概念2.java与面向对象、类的定义3.Java面向对象的基本概念—引用Java语言中除基本类型之外的变量类型都称之为---引用类型。

Java中的对象通过引用对其经行操作4.构造方法1.当赋值完毕后,栈空间的_id 和_age 会被清除。

2.当没有写构造函数时,编译器会自动添加形如类名(){} 的构造函数。

5.this关键字(代码分析)6.static关键字(代码、内存分析)注意:private static int sid=0; 存储在 data seg 中。

而其余的成员变量存储在stack中。

原因是 static关键字。

7.package和import的语句8.类的集成与权限控制9.方法的重写(代码分析)Super关键字:来引用基类的成分在cc.f()语句中,先执行的是基类的Syso 然后是子类的Syso10.继承中的构造方法11.toString、equals 方法12.对象转型13.动态绑定和多态(代码分析)14.抽象类●用abstract修饰一个方法时,这个方法是抽象方法。

●用abstract修饰一个类时,这个类是抽象的类。

●含有抽象方法的类,必须声明为抽象类,抽象类必须被继承,抽象方法必须被重写。

●抽象类不能被实例化。

●抽象方法只需声明,而不需实例。

马士兵MCA高级互联网架构师学习笔记

马士兵MCA高级互联网架构师学习笔记

马⼠兵MCA⾼级互联⽹架构师学习笔记```javapackage com.mashibing;public class MyCalculator implements Calculator {public int add(int i, int j) {int result = i + j;return result;}public int sub(int i, int j) {int result = i - j;return result;}public int mult(int i, int j) {int result = i * j;return result;}public int div(int i, int j) {int result = i / j;return result;}}```CalculatorProxy.java```javapackage com.mashibing;import ng.reflect.InvocationHandler;import ng.reflect.Method;import ng.reflect.Proxy;public class CalculatorProxy {public static Calculator getProxy(final Calculator calculator){ClassLoader loader = calculator.getClass().getClassLoader();Class<?>[] interfaces = calculator.getClass().getInterfaces();InvocationHandler h = new InvocationHandler() {public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {Object result = null;try {result = method.invoke(calculator, args);} catch (Exception e) {} finally {}return result;}};Object proxy = Proxy.newProxyInstance(loader, interfaces, h);return (Calculator) proxy;}}``````javapackage com.mashibing;public class Test {public static void main(String[] args) {Calculator proxy = CalculatorProxy.getProxy(new MyCalculator()); proxy.add(1,1);System.out.println(proxy.getClass());}}```**动态代理的源码:**Proxy.java的newProxyInstance⽅法:```javapublic static Object newProxyInstance(ClassLoader loader,Class<?>[] interfaces,InvocationHandler h)throws IllegalArgumentException{//判断InvocationHandler是否为空,若为空,抛出空指针异常Objects.requireNonNull(h);final Class<?>[] intfs = interfaces.clone();final SecurityManager sm = System.getSecurityManager();if (sm != null) {checkProxyAccess(Reflection.getCallerClass(), loader, intfs);}/** Look up or generate the designated proxy class.* ⽣成接⼝的代理类的字节码⽂件*/Class<?> cl = getProxyClass0(loader, intfs);* Invoke its constructor with the designated invocation handler.* 使⽤⾃定义的InvocationHandler作为参数,调⽤构造函数获取代理类对象实例*/try {if (sm != null) {checkNewProxyPermission(Reflection.getCallerClass(), cl);}//获取代理对象的构造⽅法final Constructor<?> cons = cl.getConstructor(constructorParams);final InvocationHandler ih = h;if (!Modifier.isPublic(cl.getModifiers())) {AccessController.doPrivileged(new PrivilegedAction<Void>() {public Void run() {cons.setAccessible(true);return null;}});}//⽣成代理类的实例并把InvocationHandlerImpl的实例传给构造⽅法return cons.newInstance(new Object[]{h});} catch (IllegalAccessException|InstantiationException e) {throw new InternalError(e.toString(), e);} catch (InvocationTargetException e) {Throwable t = e.getCause();if (t instanceof RuntimeException) {throw (RuntimeException) t;} else {throw new InternalError(t.toString(), t);}} catch (NoSuchMethodException e) {throw new InternalError(e.toString(), e);}}```getProxyClass0(ClassLoader loader,Class<?>... interfaces)```javaprivate static Class<?> getProxyClass0(ClassLoader loader,Class<?>... interfaces) {//限定代理的接⼝不能超过65535个if (interfaces.length > 65535) {throw new IllegalArgumentException("interface limit exceeded");}// If the proxy class defined by the given loader implementing// the given interfaces exists, this will simply return the cached copy;// otherwise, it will create the proxy class via the ProxyClassFactory// 如果缓存中已经存在相应接⼝的代理类,直接返回,否则,使⽤ProxyClassFactory创建代理类 return proxyClassCache.get(loader, interfaces);}* a cache of proxy classes*/private static final WeakCache<ClassLoader, Class<?>[], Class<?>>proxyClassCache = new WeakCache<>(new KeyFactory(), new ProxyClassFactory()); ```。

JAVA视频资料百度网盘分享

JAVA视频资料百度网盘分享

JAVA视频资料百度⽹盘分享1、javascript视频教程链接: /s/1gd57FVH 密码: d9ei2、JPA视频教程链接: /s/1dDCx1fj 密码: fwwd3、马⼠兵hibernate视频教程链接:/s/1dFILSYH 密码:nuwz4、JAVA电⼦书链接: /s/1o6xlV9w 密码: 347e5、ext4.0视频教程链接: /s/1ntvmfKd 密码: n6fi6、hadoop实战链接: /s/1nttQoRJ 密码: r6857、android视频教程链接: /s/1mgpi4TM 密码: tx2e8、photoshop基础教程视频链接:/s/1eRVuN4I 密码:d9yv9、马⼠兵struts2视频教程链接: /s/1qWGeCg8 密码: m53e10、junit视频教程链接: /s/1jGCTjQA 密码: sncp11、Struts2+Spring3+Hibernate4+Maven+EasyUI整合⼊门视频链接: /s/1gfJVC8F 密码: fwmi12、spring mvc视频教程链接: /s/1eSvBih0 密码: 5irb13、ext视频教程链接: /s/1pLAlQRL 密码: j2dk14、UML视频教程链接: /s/1c1AXZP2 密码: h3ng15、⽹页与UI设计从⼊门到精通视频教程链接: /s/1mg7z1bi 密码: w7zw16、JSP视频教程链接: /s/1gdBDuIR 密码: jv2u17、java邮件开发视频教程链接: /s/1o61pEgq 密码: cjm518、EJB视频教程链接: /s/1c05DRe4 密码: 3jdy19、编译原理视频教程链接: /s/1mgxVZBy 密码: s6vc20、韩顺平J2SE视频教程21、银⾏交易系统实现链接: /s/1pJL6yAv 密码: qt3m 22、⿊客攻防技术见招拆招视频教程链接: /s/1hqEZgCO 密码: 1d3f 23、scm_cvs_svn视频教程链接: /s/16xQKA 密码: fmb3 24、dreamweaver教学视频链接: /s/1i3ffpGT 密码: cdy3 25、马⼠兵j2se、j2EE视频教程链接:/s/1dFlBRWX 密码:swsf 26、Unix操作系统(哈⼯⼤)链接: /s/1jIx4Oo2 密码: zgfh 27、Android开发视频教程链接: /s/1bn6vR2n 密码: yasa 28、dwr视频教程链接: /s/1bnmdj47 密码: 98bp 29、jquery视频教程链接: /s/1jGARtqe 密码: f95u 30、马⼠兵spring3视频教程链接: /s/1kVCvSXL 密码: ntia 31、java并发教程链接: /s/1yWqEq 密码: 4mxe 31、巴巴⽹开发实现链接: /s/1c0sgDSc 密码: w7z9 32、张孝详J2SE⾼深讲解链接: /s/1mg1ZLcG 密码: 2dg4 33、Flash动画制作教程视频链接: /s/1mirvfq4 密码: dig7 34、C语⾔基础链接: /s/1dDsK8ZB 密码: b4g6 35、php视频教程链接: /s/1r4M6q 密码: w4ak 36、linux视频教程-韩顺平链接: /s/1qXIHdmO 密码: jk9k 37、spring-mvc视频教程链接: /s/1o7SU7xC 密码: fkcf 38、[吉林⼤学计算机操作系统视频教程]链接: /s/13ad9k 密码: bux4 39、mysql特级课视频教程链接: /s/1o8O1exc 密码: 8v8b 40、NoSQL视频教程41、maven视频教程链接: /s/1dDg9ulb 密码: 1f5k42、JNI视频教程链接: /s/1i3tsv45 密码: edvc43、易语⾔资料与教程链接: /s/1c14S1rE 密码: ht9u44、⿊客新⼿综合书藉链接: /s/1mgD4VJq 密码: p4zd45、tomcat视频教程链接: /s/1qWxhRmG 密码: kpcs46、计算机操作系统原理视频教程链接: /s/1pJ1nEeJ 密码: vke747、oracle视频教程及OCP认证教程链接: /s/1o6IQDya 密码: mx1n48、SEO⽹站优化视频教程-学⽆忧链接: /s/1i36jBcp 密码: 9gae49、设计模式视频教程链接: /s/1kTjKUjX 密码: k7m850、jdbc视频教程链接: /s/1kTJCIYN 密码: hk8b51、php从⼊门到精通链接: /s/1i3rq877 密码: c79252、html+CSS教程[13个视频⽂件+1个rar⽂件-423M+资源⼤⼩]链接: /s/1jHPEVZK 密码: hrgd53、JAVA编程⾼级知识链接: /s/1hqEtm5I 密码: yr3x54、OA+⼯作流视频教程链接: /s/1mgLC9Jy 密码: 7em955、webservice视频教程链接: /s/1sjIe7Wp 密码: eka856、数据结构视频教程链接: /s/1mgElasg 密码: wtus57、计算机⽹络视频教程链接: /s/1mgH8NkG 密码: 75wj58、HTML5开发框架PhoneGap实战(jQuery Mobile开发、API解析、3个经典项⽬实战)链接: /s/1nvyKEz3 密码: 47gn59、SpringMvc+Spring+MyBatis+Maven整合视频链接: /s/1ntEOVwt 密码: 7ibg60、weblogic视频教程链接:/s/1bo8YojX 密码: qmy961、java⽹上在线⽀付实战视频62、23种设计模式视频教程链接: /s/1eQ7BD3k 密码: bhff 63、lucene视频教程链接: /s/1mgH8NlY 密码: 5g41 64、xml视频教程链接: /s/1i5kFFbJ 密码: vn86 65、HTML5⼊门视频教程【秀野堂】链接: /s/1sl4ciFb 密码: s46y 66、微普年薪10W版Android教学视频链接: /s/1gdJKOqn 密码: dp2i 67、ibatis视频教程链接: /s/1o6Mo4h8 密码: jfgv 68、传智播客-韩顺平-php从⼊门到精通链接: /s/1c04XT9A 密码: rhuv 69、国内⾸部Zookeeper从⼊门到精通链接: /s/1dD5BOLb 密码: trv7 70、⿊马ios链接: /s/1ntneBJr 密码: xb3f 71、phonegap HTML5开发视频链接: /s/1boRpe5x 密码: 6ws3 72、Zookeeper⼊门到精通链接: /s/1ntEOV4d 密码: gtj3 73、java⼊门链接: /s/1bn7bLWb 密码: r5kz 74、SSH2+activiti5OA管理系统案例视频链接: /s/1gdjnfdL 密码: a54r 75、word转换链接: /s/1pJ5r14R 密码: pbvv 76、桌⾯UI链接: /s/1sj470UL 密码: h32b 77、ajax链接: /s/1kVLjw8n 密码: 38by 78、axure视频教程链接: /s/1kTD7fq3 密码: dk89 79、兄弟连NoSQL视频教程 redis链接: /s/1pJzlMt1 密码: bjsu 80、Hadoop链接: /s/1mgKqEqG 密码: rea5 81、JS视频教程共150集链接: /s/1o6pe3t4 密码: 3cwz 82、activiti ⼯作流学习专题83、oa链接: /s/1o6laJEE 密码: 5scp 84、前段资料链接: /s/1eSmNDwI 密码: m9uk 85、简单微信[⼩项⽬]链接: /s/1bnqgNSj 密码: qu4j 87、nutch链接: /s/1jGsAxE2 密码: ckjq 88、anocation链接: /s/1i3HES0d 密码: cpym 89、DataGuru视频链接: /s/1kThdcMz 密码: v3sn 90、Nutch相关框架视频教程(压缩超清)链接: /s/1dD2nYoT 密码: 9eb6 91、Mars《Android开发视频教程》链接: /s/1sjswhbv 密码: wdbi 92、Python链接: /s/1hqrY4KG 密码: wf77 93、oa activiti 新版链接: /s/1jGMw8E6 密码: 5y4h 94、maven视频教程链接: /s/1i3g1iD3 密码: 1wik 95、linux视频教程链接: /s/1bn2Yacf 密码: k6df 96、⼩布⽼师Git⼊门链接: /s/1i3sCzS5 密码: fqkb 97、Redis链接: /s/1hq2hVta 密码: t7r5 98、⼯作流相关资料链接: /s/1o6tiskE 密码: 664u 99、EasyUI⼊门视频教程链接: /s/1jGxufxc 密码: 1s8m 100、MongoDB视频教程链接: /s/1pLk30d9 密码: 6jsc 101、thinkphp链接: /s/1sjKg4VF 密码: 1vek。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JAVA视频教程尚学堂---手把手教程Call:86-主讲教师马士兵SCM系统--------Java+VC跨平台(电信宽带运营平台-------Java+WEB(J2EE)跨平台远程教学平台----Java+WEB(tomcat)VOD视频监控-----VCERP视频会议---------VC新闻发布系统-----Java+XML(模板)网上商城课堂内容、教学方法、学习方法、预备知识、教学资源JAVA基础贯穿数据结构的知识(时间复杂度、链表)---非常重要语法基础【变量、循环、分支】最核心的东西—原理--学好OO【面向对象是最重要的】有新东西学是好事----个人价值Exception 从Java Web开始,框架巨多无比Array【数组】基础类、常用类I/O StreamCollection/Generic【集合类】Thread【线程】TCP/UDP【网络底层】GUI【Graphic User Interface 图形化用户接口窗口】Meta Data【以后讲,与紧密相关】Regular Expression【正规表达式】JDK初步Java Web编程【主攻一个框架---讲原理,略讲其他框架】针对Web程序J2EE【一套标准,包含Java Web 、JDPC、JSP、SP、JB/开源框架—就分步式来说,目前(2005)无东西与之抗衡】(比较,,)企业级应用J2ME移动设备移动增值SP运营商3G,2.5G,要火爆起来【网络先铺起来,应用才能上来;3G的网络还没有铺开、火爆起来,讲3G的应用超前了】巨无霸式的教学理论举例理论回顾练习讲解【三片面包加两片肉】注重结合工程实践【完全结合】注重传授自学能力【自学的东西相当重要,授人以鱼,不如授人以渔;慢慢学会掌握一定基础后才有,灌输、背,融成血液里的一部分,心中无剑,手中有剑—前提—心中有剑手中也有剑;时间短,强度大,该背就背】个人能力分三个层次知识学习前人的知识---学习能力的一个表现,被动地接受—接受能力{自己学习了知识后考虑如何去应用,去---学习解决问题的方法【类似问题遇到过】灵活运用学到的知识【碰到什么问题采用什么方法】解决问题的思路【最高层次】创造解决问题的方法【思路掌握了,遇到新问题,自己拓展一条思路,解决问题,不可能一口吃成一个胖子,沿着这三个层次一点一点往上升首先打造自己学习知识的能力,先把该掌握的知识掌握了,再谈如何应用---如何教---教大家写项目每一个知识教太深—给项目留得时间特别短---不合适;自学一些东西,慢慢去培养解决问题的思路,试着朝这个方向去培养,工作后慢慢遇到新问题使劲去思考了积累起来逐渐会有这个能力,灵活一点、再灵活一点!基础知识要背—灵活应用的东西不能背,无一定之规,在实践中慢慢锻炼—实践的越多—敲的代码越多(掌握思路后自主敲代码,哪怕敲不出来再看别人的思路—收获远远不一样,学习要自主一点,多思考思路才能开阔—无捷径,努力锻炼自己的就业能力。

){美国一项调查—全世界的百万富翁中99%的人的成功之路走得都是比较正统的一条路——大学毕业-找一份差不多的工作-进入这个行业-不断努力、积累-慢慢发展起来成为百万富翁}{学习本讲义完成习题-------作业,复习,做作业,每天运用自学的能力读---读别人的代码写---(读完后,最最重要,3万行2万行,多动手—学程序的不二法门)查---能力预备知识英语---不懂—金山词霸,看不懂—看、背、学—没人天生会—学出来的—每天4、5个,句型不多—熟能生巧计算机基础操作逻辑能力教学资源---goole+电驴(点对点下载)、BT、讯雷前程技术正规的路线【(刚进去)程序员OrSoftWare开发人员---该高级SoftWare 工程师---Team Leader---System 分析OrSystem 架构师(2、3年锤炼)--项目经理—技术部经理、产品经理—CTO—沟通、管理能力】{软件认证---不听人忽悠----用自己的脑子去认识世界、理智一点好的认证好的DBA—(最好)具有一些开发经验—比较不错(知道如何对数据库进行调优/网管与DBA?);(硬件Or网络领域)CCA、CCIE过硬的技术是最好的认证软件Or软件出身—做咨询师—前提—做ERP行业(Enterprise Resource Project 企业资源管理—生产、销售、库存、财务、物流—帮助企业实施电子化—无纸化办公、网上办公、网上管库存)/专门领域-做一段时间-奔咨询师方向发展/ERP老大—德国的SAP咨询师(ERP企业)、金蝶/路由?,积累,技术底子,沟通、管理、协调能力比较偏的路线—喜欢做技术的人—共享软件— get、netant、迅雷—不收费—收广告商的钱/国外的作者身价1000多万美金,周易?CD格式转为mp3格式(30美金,每月1800多套)------对技术要求特别特别高/目前(2005)国内也有,Java这方面也有给别人开发组件、类库无论怎样----勤奋、努力(技术解决方案、市场分析,努力思考了才能想到,随时留意细节—用心—勤奋!记住)程序员的乐趣/缺陷-----一段段枯燥的代码累成小软件,用起来特舒服还能卖钱—成就感;内向—多沟通企业与学校之间的区别时限【大学学习,一星期去消化/立马消化】实用为主【大学学习,理论偏多】浩瀚知识的分类----有限精力用到刀刃上---哪些知识立马用得上、找工作工作中立马用得上能赚钱—要点--管理好自己的精力----乐观的努力、眼观要高远(自己把握)、脚步要踏实(最重要目标—找一份不错的起点70-80%)八辈子用不着一回(用自己的能力去查,现学,算法)错误做法—老师讲得多/深、练得少/浅----讲得中等偏深,练得比较深(项目、模块)只灌输知识点,没有串联不培养自学能力----手把手教【怎样从网上查出来、怎样纠出不合适的地方、怎样动手做试验把它弄出来】给答案不给思路项目太简单【企业项目尤其是Java项目越做越复杂,不经过实习,上不了手】.需求分析自己去做,给一份标准答案,自己对去---初学者做一个完整的项目做多深很难把握,做的往往比较浅,花很多时间做出的东西还不如老师带着你一点一点做出的东西深项目太复杂【非完全实际中的真实项目,实际中7、8个人花2、3个月做出的都是小项目,抽出项目中最核心的模块,兼顾技术上各个知识点】-----学核心东西、思想项目太少【简历不丰富,接触的类型少、知识面窄,?程序员—掌握技术(基本)、业务逻辑(不同行业的行业领域知识. 财务软件-掌握财务方面的知识-借、贷、记账、对账;金融—银行;电信-电信;企业的信息系统---进、销存,企业?管理;ERP—ERP的知识(库存、销售)注重授课技巧,不注重基本功【有些技术性的东西是死的,该记就记,无投机取巧之处】----技术是最最重要的重管理技巧看,轻开发技巧知识陈旧错误做法---学生只看不练只听不练钻到细节中拔不出来(初学者)----非搞研究----弄清自己的角色—---个人目标—定义好自己的成功/学最实用的东西—管理系统、技术上的技能—更好的企业去用你、自主创业修正—明确目标,心无旁骛学校—集中所有精力,教授实用知识对计算机心存敬畏-----大胆去动、去尝试不敢动(装卸软件、安装系统)不敢调试bug-----胆大心细—bug那么多就高兴—调试---开始正规的那条路Windows NetMeeting?/调试时常用重启---重启服务器—不合适安装到有空格的路径,将来某个软件需使用JDK工作工作就可能不正常C:/JDK----开发环境,内部自带运行时环境JRE----运行环境,.客户,不做Java开发,只是运行Java程序,不需安装JDK,单安装JRE----(然后)修改注册表—告诉其他程序,要用我Java程序,注册表有—直接找/其他用Java软件,不需指定JRE在什么目录,直接找得到验证安装成功---命令提示符,输入javac,出现一系列提示系列课程第一部分-----Java的基础----J2SE之JAVA概述想学J2ME J2EE吗?请打好基础---J2SE(Java2 Standard Edition)J2SE的课程内容----知识点慢慢贯穿—java的语法是什么—原代码如何写JAVA概述JAVA语言基础【变量定义、循环、分支、方法···最常用的东西】面向对象编程【最重要】JAVA异常处理机制数组JAVA常用类JAVA容器类JAVA流技术JAVA多线程机制JAVA网络编程GUI编程第1章内容计算机语言的历史以及Java语言的历史地位Java自身的发展史Java体系Java的运行机制Java运行环境的安装与配置{最重要}第1个程序HelloWorld计算机语言的历史以及Java语言的历史地位----了解即可,最关注技术-----朝人容易理解的方向发展第1代语言----打孔机----计算机底层只认0、1,高电平、低电平---纯机器语言----无法调试第2代语言----汇编----要了解机器底层的东西、构造第3代语言----告诉他怎么去做才能成事C、Pascal、Fortran面向对象的语言C++、面向过程/面向对象(3代半)Java跨平台的纯面向对象的语言.NET跨语言平台第4(. Ckle语言—直接告诉他要做什么事if怎么样、while怎么样、for怎么样、else怎么样—不必管他如何实现如找数据、搜索、循环、排序—帮助拿出来)、5(自然语言—. 告诉它做一个ERP系统,gdgd就做出来--某个领域大概可实现)代语言!3 Java发展史与java体系95年,Sun发布98年,,更名Java2后续、旧语法也要认识----以读懂别人的代码目前(2005),更名为(最新为版,非最终稳定版本)我们使用 j2seJava webJ2ee(重点)移动增值j2meJava语言的特点一种面向对象的语言一种与平台无关的语言,提供程序运行的解释环境---JAVA成功的关键性因素一种健壮的语言,吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如:指针、内存的申请与释放等)---但JAVA只是在语法上《Java程序运行机制及运行过程Java---核心机制比较多(用的过程中自然懂)、构成其特点的、最重要的---两种核心机制:Java虚拟机(Java Virtual Machine)--帮助实现平台无关垃圾收集机制(Garbage collection)---消除C++中影响程序健壮性即容易出错的地方—不用指针—申请内存后不用老记得还回去要了解(上述2种)核心机制---了解整个Java程序的运行过程JAVA—编程语言—对计算机说的话--与计算机沟通—计算机能懂的语言—非常底层Or经过一系列翻译.汇编、第3代语言源程序(源代码—写—语法,自己可认知)(*.java文件)Java编译器【只有翻译成0、1计算机才认识—编译并不能直接翻译成0、1—除非OS是java(只认java程序)—但大多为Windows(可执行文件exe-OS可直接翻译成0、1 –程序就可执行/C、 C++直接编译操作系统的底层才可执行)】编译型语言. C、 C++ 直接编译成操作系统可认识的可执行格式,不经过第二次解释型语言----java第一次编译成自己的可执行文件格式.class---执行过程中需要java里面的虚拟机拿出class文件中的代码一行一行解释---拿一行翻译成各个操作系统平台可直接认识的可执行文件格式---拿一行立马就解释------真正的执行过程java是一行一行解释执行字节码(*.class文件---java自己的可执行文件)类装载器(不用管、针对java的编译执行环境)字节码校验器(不用管、针对java的编译执行环境)解释(?)器(不用管、针对java的编译执行环境)交给---操作系统平台—翻译成机器可认知的部分—程序可执行核心机制之Java虚拟机Java虚拟机可以理解成一个以字节码为指令的CPU—任意地编写一个java 文件—编译成.class文件—要执行—.放在UNIX上,到UNIX上的JVM上执行对于不同的运行平台,有不同的虚拟机—对人来说接口统一了,但对虚拟机和OS系统之间的接口—每个OS有每个OS自己的东西---但此接口由如SUN给我们提供了上的JVM—真正实现跨平台Java虚拟机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”对着虚拟机编程--体现分层的思想—把底层的东西屏蔽掉,直接对上层接口编程JAVA看不见OS的底层只在自己虚拟的环境中执行—整个虚拟环境对class 接口是一样的--“一次编译,随处运行”JVM for UNIX编译(?)执行*.Java *.class JVM for WindowsJVM for Other Platform 核心机制之垃圾收集---提供程序的健壮性,直接申请内存,不用负责回收不再使用的内存空间应回收----垃圾收集在C/C++等语言中,由程序回收无用内存Java语言消除了程序员回收无用内存空间的责任,它提供一种系统级线程跟踪存储空间的分配情况。

相关文档
最新文档