JAVA视频教程
尚学堂---手把手教程https://www.doczj.com/doc/598821134.html,
Email:training@https://www.doczj.com/doc/598821134.html,
Call:86-10-58052712 主讲教师马士兵mashibing2004@https://www.doczj.com/doc/598821134.html,
SCM系统--------Java+VC跨平台(
电信宽带运营平台-------Java+WEB(J2EE)跨平台
远程教学平台----Java+WEB(tomcat)
VOD视频监控-----VC
ERP
视频会议---------VC
新闻发布系统-----Java+XML(模板)
网上商城
课堂内容、教学方法、学习方法、预备知识、教学资源
JAVA基础贯穿数据结构的知识(时间复杂度、链表)---非常重要
语法基础【变量、循环、分支】最核心的东西—原理--学好
OO【面向对象是最重要的】有新东西学是好事----个人价值Exception 从Java Web开始,框架巨多无比Array【数组】
基础类、常用类
I/O Stream
Collection/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的应用超前了】
巨无霸式的教学
理论
举例
理论回顾
练习
讲解【三片面包加两片肉】
注重结合工程实践【完全结合】
注重传授自学能力【自学的东西相当重要,授人以鱼,不如授人以渔;慢慢学会掌握一定基础后才有,灌输、背,融成血液里的一部分,心中无剑,手
中有剑—前提—心中有剑手中也有剑;时间短,强度大,该背就背】个人能力分三个层次
知识
学习前人的知识---学习能力的一个表现,被动地接受—接受能力
{自己学习了知识后考虑如何去应用,去---学习
解决问题的方法【类似问题遇到过】
灵活运用学到的知识【碰到什么问题采用什么方法】
解决问题的思路【最高层次】
创造解决问题的方法【思路掌握了,遇到新问题,自己拓展一条思路,解决问题,不可能一口吃成一个胖子,沿着这三个层次一点一点往上升首先打造自己学习知识的能力,先把该掌握的知识掌握了,再谈如何应用
---如何教---教大家写项目每一个知识教太深—给项目留得
时间特别短---不合适;自学一些东西,慢慢去培养解决问题的思路,试
着朝这个方向去培养,工作后慢慢遇到新问题使劲去思考了积累起来逐
渐会有这个能力,灵活一点、再灵活一点!基础知识要背—灵活应用的
东西不能背,无一定之规,在实践中慢慢锻炼—实践的越多—敲的代码
越多(掌握思路后自主敲代码,哪怕敲不出来再看别人的思路—收获远
远不一样,学习要自主一点,多思考思路才能开阔—无捷径,努力锻炼
自己的就业能力。){美国一项调查—全世界的百万富翁中99%的人的
成功之路走得都是比较正统的一条路——大学毕业-找一份差不多的工
作-进入这个行业-不断努力、积累-慢慢发展起来成为百万富翁}
{
学习本讲义
完成习题-------作业,复习,做作业,每天
运用自学的能力
读---读别人的代码
写---(读完后,最最重要,3万行2万行,多动手—学程序的不二法门)查---能力
预备知识
英语---不懂—金山词霸,看不懂—看、背、学—没人天生会—学出来的—每天4、5个,句型不多—熟能生巧
计算机基础操作
逻辑能力
教学资源---goole+电驴(点对点下载)、BT、讯雷
前程
技术正规的路线【(刚进去)程序员OrSoftWare开发人员---该高级SoftWare工程师---Team Leader---System 分析OrSystem 架构师(2、3年锤炼)
--项目经理—技术部经理、产品经理—CTO—沟通、管理能力】
{软件认证---不听人忽悠----用自己的脑子去认识世界、理智一点
好的认证e.g.OracleDBA[好的DBA—(最好)具有一些开发经验—比较
不错(知道如何对数据库进行调优/网管与DBA?);(硬件Or网络领
域)CCA、CCIE
过硬的技术是最好的认证
软件Or软件出身—做咨询师e.g.ERP—前提—做ERP行业(Enterprise
Resource Project 企业资源管理—生产、销售、库存、财务、物流—
帮助企业实施电子化—无纸化办公、网上办公、网上管库存)/专门领域
-做一段时间-奔咨询师方向发展/ERP老大—德国的SAP咨询师(ERP
企业)、金蝶/路由?,积累,技术底子,沟通、管理、协调能力
比较偏的路线—喜欢做技术的人—共享软件—e.g.Flash get、netant、迅雷—不收费—收广告商的钱/国外win.zip的作者身价1000多万美金,周易?CD
格式转为mp3格式(30美金,每月1800多套)------对技术要求特别
特别高/目前(2005)国内也有,Java这方面也有e.g.conplent?给别
人开发组件、类库
无论怎样----勤奋、努力(技术解决方案、市场分析,努力思考了才能想到,随时留意细节—用心—勤奋!记住)
程序员的乐趣/缺陷-----一段段枯燥的代码累成小软件,用起来特舒服还能卖钱—成就感;内向—多沟通
企业与学校之间的区别
时限【大学学习,一星期去消化/立马消化】
实用为主【大学学习,理论偏多】
浩瀚知识的分类----有限精力用到刀刃上---哪些知识立马用得上、找工作工作中立马用得上能赚钱—要点--管理好自己的精力----乐观的努力、眼观要高
远(自己把握)、脚步要踏实(最重要目标—找一份不错的起点的工作
—可持续发展的工作、踏踏实实一步一步来)
%)
不常使用用时能查到(了解,e.g.某些类、方法不常用--API文档里去查,70-80%)
八辈子用不着一回(用自己的能力去查,现学,e.g.Unicode算法)
错误做法—老师
讲得多/深、练得少/浅----讲得中等偏深,练得比较深(项目、模块)
只灌输知识点,没有串联
不培养自学能力----手把手教【怎样从网上查出来、怎样纠出不合适的地方、怎样动手做试验把它弄出来】
给答案不给思路
项目太简单【企业项目尤其是Java项目越做越复杂,不经过实习,上不了手】e.g.需求分析自己去做,给一份标准答案,自己对去---初学者做
一个完整的项目做多深很难把握,做的往往比较浅,花很多时间做出的
东西还不如老师带着你一点一点做出的东西深
项目太复杂【非完全实际中的真实项目,实际中7、8个人花2、3个月做出的都是小项目,抽出项目中最核心的模块,兼顾技术上各个知识点】
-----学核心东西、思想
项目太少【简历不丰富,接触的类型少、知识面窄,?程序员—掌握技术(基本)、业务逻辑(不同行业的行业领域知识e.g. 财务软件-掌握财
务方面的知识-借、贷、记账、对账;金融—银行;电信-电信;企业的
信息系统---进、销存,企业?管理;ERP—ERP的知识(库存、销售)注重授课技巧,不注重基本功【有些技术性的东西是死的,该记就记,无投机取巧之处】----技术是最最重要的
重管理技巧看,轻开发技巧
知识陈旧
错误做法---学生
只看不练
只听不练
钻到细节中拔不出来(初学者)----非搞研究----弄清自己的角色—---个人目标—定义好自己的成功/学最实用的东西—管理系统、技术上的技能—
更好的企业去用你、自主创业
修正—明确目标,心无旁骛
学校—集中所有精力,教授实用知识
对计算机心存敬畏-----大胆去动、去尝试
不敢动(装卸软件、安装系统)
不敢调试bug-----胆大心细—bug那么多就高兴—调试---开始正规的那条路
Windows NetMeeting?/调试时常用重启---重启服务器—e.g.PhoneCard不合适安装到有空格的路径,将来某个软件需使用JDK工作工作就可能不正常
C:/JDK5.0
JDK----开发环境,内部自带运行时环境
JRE----运行环境,e.g.客户,不做Java开发,只是运行Java程序,不需安装JDK,单安装JRE----(然后)修改注册表—告诉其他程序,要用我Java
程序,注册表有—直接找/其他用Java软件,不需指定JRE在什么目
录,直接找得到
验证安装成功---命令提示符,输入javac,出现一系列提示
系列课程第一部分
-----Java的基础----J2SE之JAVA概述
想学J2ME JSP.Servelet J2EE吗?
请打好基础---J2SE(Java2 Standard Edition)
J2SE的课程内容----知识点慢慢贯穿—java的语法是什么—原代码如何写JAVA概述
JAVA语言基础【变量定义、循环、分支、方法··最常用的东西】
面向对象编程【最重要】
JAVA异常处理机制
数组
JAVA常用类
JAVA容器类
JAVA流技术
JAVA多线程机制
JAVA网络编程
GUI编程
第1章内容
1.1 计算机语言的历史以及Java语言的历史地位
1.2 Java自身的发展史
1.3 Java体系
1.4 Java的运行机制
1.5 Java运行环境的安装与配置{最重要}
1.6 第1个程序HelloWorld
1.1 计算机语言的历史以及Java语言的历史地位----了解即可,最关注技术
-----朝人容易理解的方向发展
第1代语言----打孔机----计算机底层只认0、1,高电平、低电平---纯机器
语言----无法调试
第2代语言----汇编----要了解机器底层的东西、构造
第3代语言----告诉他怎么去做才能成事
C、Pascal、Fortran面向对象的语言
C++、面向过程/面向对象(3代半)
Java跨平台的纯面向对象的语言
.NET跨语言平台
第4(e.g. Ckle语言—直接告诉他要做什么事if怎么样、while怎么样、
for怎么样、else怎么样—不必管他如何实现如找数据、搜索、循环、
排序—帮助拿出来)、5(自然语言—e.g. 告诉它做一个ERP系统,gdgd
就做出来--某个领域大概可实现)代语言!
1.2/3 Java发展史与java体系
95年,Sun发布JDK1.0
98年,JDK1.2,更名Java2
后续JDK1.3、1.4---旧语法也要认识----以读懂别人的代码
目前(2005)JDK1.5,更名为Java5.0(最新为1.6Bete版,非最终稳定版
本)
我们使用5.0 j2se
Java web
J2ee(重点)移动增值j2me Java语言的特点
一种面向对象的语言
一种与平台无关的语言,提供程序运行的解释环境---JAVA成功的关键性因素一种健壮的语言,吸收了C/C++语言的优点,但去掉了其影响程序健壮
性的部分(如:指针、内存的申请与释放等)---但JAVA只是在语法上
无指针,实际上到处都是指针----了解内存
《Thinking in JAVA》----找来看
1.4 Java程序运行机制及运行过程
Java---核心机制比较多(用的过程中自然懂)、构成其特点的、最重要的---
两种核心机制:
Java虚拟机(Java Virtual Machine)--帮助实现平台无关
垃圾收集机制(Garbage collection)---消除C++中影响程序健壮性即容易出错的地方—不用指针—申请内存后不用老记得还回去
要了解(上述2种)核心机制---了解整个Java程序的运行过程
JAVA—编程语言—对计算机说的话--与计算机沟通—计算机能懂的语言—非常底层Or经过一系列翻译e.g.汇编、第3代语言
源程序(源代码—写—语法,自己可认知)
(*.java文件)
Java编译器【只有翻译成0、1计算机才认识—编译并不能直接翻译成0、1—除非OS是java(只认java程序)—但大多为Windows(可执行文件
exe-OS可直接翻译成0、1 –程序就可执行/C、C++直接编译操作系
统的底层才可执行)】
编译型语言----e.g. C、C++ 直接编译成操作系统可认识的可执行格式,不经过第二次
解释型语言----java第一次编译成自己的可执行文件格式.class---执行过程中需要java里面的虚拟机拿出class文件中的代码一行一行解释---拿一行
翻译成各个操作系统平台可直接认识的可执行文件格式---拿一行立马
就解释------真正的执行过程java是一行一行解释执行
字节码
(*.class文件---java自己的可执行文件)
类装载器(不用管、针对java的编译执行环境)
字节码校验器(不用管、针对java的编译执行环境)
解释(?)器(不用管、针对java的编译执行环境)
交给---操作系统平台—翻译成机器可认知的部分—程序可执行
核心机制之Java虚拟机
Java虚拟机可以理解成一个以字节码为指令的CPU—任意地编写一个java文件—编译成.class文件—要执行—e.g.放在UNIX上,到UNIX
上的JVM上执行
对于不同的运行平台,有不同的虚拟机—对人来说接口统一了,但对虚拟机和OS系统之间的接口—每个OS有每个OS自己的东西---但此接口由
如SUN给我们提供了e.g.UNIX上的JVM—真正实现跨平台Java虚拟机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”
对着虚拟机编程--体现分层的思想—把底层的东西屏蔽掉,直接对上层
接口编程
JAVA看不见OS的底层只在自己虚拟的环境中执行—整个虚拟环境对class接口是一样的--“一次编译,随处运行”
JVM for UNIX
编译(?)执行
*.Java *.class JVM for Windows
JVM for Other Platform
核心机制之垃圾收集---提供程序的健壮性,直接申请内存,不用负责回收不再使用的内存空间应回收----垃圾收集
在C/C++等语言中,由程序回收无用内存
Java语言消除了程序员回收无用内存空间的责任,它提供一种系统级线
程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放可被释放
的存储空间
垃圾收集器在Java程序运行过程中—每过一段时间统一--自动进行,程
序员无法精确控制和干预
解释名词
J2SDK or JDK & JRE java Compeller(编译器)java
Debugger(调试器) javadoc(专门生成java文档)
JPDA(调试框架)
Software
Development Kit
(软件开发包—帮助做
软件开发,一系列包、
程序)
JSDK(JDK)
Java Runtime JRE
Environment
(Java运行环境)
开发需要(一个环境)JDK(开发完后在jre里运行)
用户(只需直接运行java程序)JRE(把开发的程序.class 解释成底层平台可直接认知的运行格式
Java开发环境的下载安装配置
配置Java开发环境步骤
下载安装最新版本的J2SDK
设置Windows环境变量
选择合适的文本编辑器Or使用集成开发环境下载------http:https://www.doczj.com/doc/598821134.html,
安装
配置path & classpath
Path: windows系统执行命令时要搜寻的路径
Classpath: java在编译和运行时要找的class所在路径验证HelloWorld.java Java 运行java程序
Javac编译java程序/javac执行Windows底下的一个文件
读书?
别抠字眼---特别是计算机方面的书---看个大概—直接用—用时回头再查
Javac----执行Windows底下的一个文件—
环境变量---path的环境变量---(我的电脑—属性-高级?)Windows系统执行命令时所需的路径
Windows支持多用户---上面是用户自己的变量,下面是系统变量(所有用户都可用)
右键—新建文本文件--
程序员—windows底下的环境配置—文件以详细信息存(不用大图标)---工具—文件夹选项—查看—应用到所有文件夹
-工具—文件夹选项-查看—显示所有文件及文件夹—去掉隐藏已知文件类型的扩展名—在地址栏显示完整路径
.java就是一个文本文件---写时要遵守特定的语法规则
Include—包含的文件、sample—例子程序、demo演示程序、bin—binary二进制,包含所有编译好的程序、lib—库文件、soure.zip java源代码
敲java -version告诉所使用的版本
Java程序执行时---先敲一个java文件—编译—class文件
很多个class文件合在一起—才能把整个大程序运行起来—一个class文件很可能要用另一个class文件
Java Application(应用程序)---解释文件内部的问题(程序)
---最简单的一些规则
Java源文件以“java”为扩展名。源程序的基本组成部分是类(class),如本例中的HolleWorld(类名,自取,与文件名一致)
类体—{开头—类体--结尾},()--方法—左边-方法名,方法体一个源文件最多有一个public类。其他类不限,如果源文件文件包含一个一个public类,它必须按该类名命名—文件名与public类的类名一致。
Java应用程序的执行入口是main()方法。它有固定的书写格式:public static void main(String args[]){…}—但其中args表变量名,随便取;[]位置可在中间、后面
java语言中严格区分大小写
java方法由一条一条语句构成,每个语句以;结束
java语言有3种注释方式:
//用于单行注释/* /**
用于多行注释*用于多行注释且可被doc
*/ */工具解析,每行皆有一个*
总结第1个程序
构建程序员自己的环境---把文件做成列表的形式,显示所有文件名,不让他隐藏文件,在地址栏显示全路径---方便--
运用copy----设置(在企业,能copy的一般不自己敲,学校多敲多锻
炼,但对于路径—直接copy)
掌握pass和classpath概念
熟悉常见错误—e.g.NoClassDefFindError、找不到文件--遇到一个记下
一个及其原因及其解决方案---个人知识管理---积累财富(每个企业有自
己的知识管理)
熟悉java程序简单规则—一个文件里只能有一个public class,其他类
不限,public class的名字和文件名一致;java区分大小写;程序入口
点在main方法里;程序以分号结束
熟悉java程序的编译和运行javac java java -version(版本)
```cd/ 回车----由切换到当前工作目录下(C:/> c盘根目录)d: 回车----由切换到d盘java根目录下D:
/>cd MyJava 回车—切换到D盘java目录下
作为一个程序员,Windows底下的环境变量应配置成什么样:
遇到错误---我所应采取的态度---正确对待---java的错误提示在名字里给了很多提示e.g.NoClassDefFindError(无类定义)
保存---用键盘上的ctrl+S键
如何配置classpath环境变量:属性—高级—环境变量—系统变量classpath—变量名选classpath—变量值—D:\java
.(点)代表当前路径---e.g.如果工作在D盘下面—D盘下面所有文件都能找到---配好后重新启动命令提示符才能起作用
最常见的java开发环境:编辑器(Edit Plus /Notepad/Ultra Edit用来编写java源文件小程序但不能运行、集成开发环境IDE(Integrative Development
Environment)—e.g. Eclipse—编写、编译、运行、调试-程序--全在一
个程序下去执行---逐渐改称开发平台—各个区别非常小—学最流行的
课堂练习
编译并运行HelloWorld应用程序,
验证安装环境是否正确
总结
历史、特点;
掌握2个机制—JVM-帮助实现一次编译、随处运行
-----垃圾收集机制—提高程序健壮性
掌握最基础的运行环境---怎样下载、安装、配置
掌握最基础的小程序HelloWorld.java及过程中常见问题