目录

  • 课程介绍与学习引导
    • ● 课程简介及教学目标
    • ● 教学大纲
    • ● 教学团队
    • ● 师生公约
    • ● 如何开启学习?
    • ● 学情调查
    • ● 课程评价规则
    • ● 笔记及预习辅导视频
    • ● 章节测验
  • 第1周走进Java编程世界
    • ● 预习要求
    • ● 学习目标和思维导图
    • ● 自编讲义、课件
    • ● 专题讲解
      • ● 专题1:Java简介
      • ● 专题2:搭建Java开发环境
      • ● 专题3:在Eclipse中开发Java应用程序
      • ● 本周教学视频回放
    • ● Eclipse常见英文错误提示及翻译
    • ● FAQ解答
    • ● 第1周章节测验
  • 第2周Java语言基础一
    • ● 预习要求
    • ● 学习目标和思维导图
    • ● 自编讲义、课件
    • ● 阅读材料
    • ● 专题
      • ● 专题1:Java语法成分
      • ● 专题2:Java数据类型
      • ● 专题3:数据的输入和输出
      • ● 编程微视频4:温度转换程序
      • ● 本周教学视频回放
    • ● FAQ解答
    • ● 第2周章节测验
  • 第3周Java语言基础二
    • ● 预习要求
    • ● 学习目标和思维导图
    • ● 自编讲义、课件
    • ● 阅读材料
    • ● 专题
      • ● 专题1:运算符和表达式
      • ● 专题2:Java流程控制语句
      • ● 专题3:Java数组
      • ● 编程微视频:九九乘法表和卡拉OK
      • ● 本周教学视频回收
    • ● Java程序的阅读
    • ● FAQ解答
    • ● 第3周章节测验
  • 第4周面向对象基础
    • ● 预习要求
    • ● 学习目标与思维导图
    • ● 自编讲义、课件
    • ● 阅读材料
    • ● 专题
      • ● 专题1:面向对象基础
      • ● 专题2:类的定义
      • ● 专题3:对象实例化与销毁
      • ● 专题4:定义包和定义类
      • ● 编程微视频:三角形类
      • ● 本周教学视频回放
    • ● FAQ解答
    • ● 第4周章节测验
  • 第5周面向对象高级
    • ● 预习要求
    • ● 学习目标与思维导图
    • ● 自编讲义、课件
      • ● 自编讲义
      • ● 课件
    • ● 专题
      • ● 专题1:类的重用
      • ● 专题2:语句块和对象造型
      • ● 专题3:最终类和对象造型
      • ● 专题4:异常处理机制
      • ● 编程微视频:游戏团队战斗力统计程序
      • ● 本周教学视频回放
    • ● 讨论话题:科学研究的基本逻辑
    • ● 第5周章节测验
  • 第6周JDK常见类的使用一
    • ● 预习要求
    • ● 学习目标与思维导图
    • ● 自编讲义、课件
      • ● 自编讲义
      • ● 课件
    • ● 专题教学视频
      • ● 专题1:JDK API帮助文档
      • ● 专题2:System和Math类
      • ● 专题3:String和StringBuffer类
      • ● 专题4:Date、专题4:Calendar和SimpleDateFormat类
      • ● 编程微视频:身份证号信息提取
    • ● FAQ解答
    • ● 第6周章节测验
  • 第7周JDK 常见类的使用二
    • ● 预习要求
    • ● 学习目标与思维导图
    • ● 自编讲义与课件
      • ● 自编讲义
      • ● 课件
    • ● 专题
      • ● 专题1:Collection接口及其实现类
      • ● 专题2:Map接口及其实现类
      • ● 专题3:Java计算生态
      • ● 编程微视频:集合的并、交、差集运算
    • ● FAQ解答
    • ● 第7周章节测验
  • 第8周Java IO技术
    • ● 预习要求
    • ● 学习目标与思维导图
    • ● 自编讲义与课件
      • ● 自编讲义
      • ● 课件
    • ● 专题
      • ● 专题1:Java IO技术
      • ● 专题2:常见IO应用(一)
      • ● 专题3:常见IO应用(二)
      • ● 编程微视频:单词统计
    • ● 第8周章节测试
  • 第9周Java GUI编程技术
    • ● 预习要求
    • ● 学习目标与思维导图
    • ● 自编讲义与课件
    • ● 课件
    • ● 专题
      • ● 专题1:JavaGUI技术简介
      • ● 专题2:JavaGUI相关接口和类
      • ● 专题3:利用WindowBuilder进行swing应用开发
      • ● 编程微视频:银行叫号系统界面
    • ● FAQ解答
    • ● 第9周章节测验
  • 第10周多线程技术
    • ● 预习要求
    • ● 学习目标与思维导图
    • ● 自编讲义
    • ● 课件
    • ● 专题
      • ● 专题1:程序、进程和线程
      • ● 专题2:如何实现线程
      • ● 专题3:线程的互斥与同步
      • ● 编程微视频:倒计时器
    • ● FAQ解答
    • ● 讨论话题:火星探路者MPF(Mars Path Finder)
    • ● 第10周章节测验
  • 第11周网络编程技术
    • ● 预习要求
    • ● 学习目标与思维导图
    • ● 自编讲义
    • ● 微视频
      • ● 传统单线程Socket编程
      • ● 多线程多客户端Socket编程
      • ● UDP通信编程
    • ● FAQ解答
    • ● 第11章章节测验
  • 第12周JDBC编程技术
    • ● 预习要求
    • ● 知识结构思维导图
    • ● 自编讲义
    • ● 微视频
      • ● MySQL下载、安装和配置
      • ● Navicat for MySQL的安装和使用
      • ● 静态SQL语句的编程
      • ● 带参数SQL语句的编程
      • ● MySQL存储过程编程
      • ● 讲课资料
      • ● MySQL压缩版安装
    • ● FAQ解答
    • ● 第12章章节测验
  • 附录
    • ● 附录A JDK文档的阅读
    • ● 微视频:JDK文档的阅读
    • ● 附录B Eclipse/MyEclipse基本使用技巧
    • ● Eclipse出错信息
  • 课程设计
    • ● 题目
FAQ解答

常见问题1:

sleep() wait() 有什么区别?

解答:

sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,把执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。waitObject类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。

常见问题2:

启动一个线程是用run()还是start()?

解答:

启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。

常见问题3:

同步和异步有何异同,在什么情况下分别使用他们?举例说明。

解答:

如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。