java基础加强视频zxx(1-32)

原创 2012年03月26日 17:27:09

★1 课程价值与目标介绍:
在这个行业有没有发展,有没有前途,就看你的基础怎门样!!
学习能力,好的练兵场。
学好基础,能证明自身的学习能力。
JKD1.5的新特性?通过面试成长了,酷6 南昌大学7K。
JDK1.6的新特性。不交面试白纸。
★2
MyEclipse 是Eclipse的一个插件,可以扩展它的功能。
Eclipse比较占系统内存,使用java语言写出来的,
实际在运行java.exe,java.exe启动一个java 类,而这个类的运行效果是这样的一个界面。
javaw。启用java中的图形界面所用的虚拟机,通常是javaw,因为它启动的时候就会把命令行窗口关掉。
任务管理器
面试  数据简写
javaEE
IDE integrity development enviroment集成开发环境。
JMS
JMX
JNDI
考专业术语的英语全称,往往是大型的好公司会出这样的题。考阅历,考知识面。
集成开发环境不只是有Eclipse,SUN公司花了很多钱,推广,开发工具就是提高工作效率,节省开发时间。
设置Eclipse中Workspac。
★3
开发程序的两个阶段:编译阶段和运行时阶段
Eclipse打开一个新的工作间的时候,需要把原来的工作间关掉,然后加载新的工作间的相关配置信息。
★4 ★5 试图管理及程序调试
Bad version number in .class file
javac 的版本过高出现的问题,必须同工程中的文件相一致:
1:workspace的设置(window\porference\compile)
2.右键,properties:javaenhance对话框中。
★6 配置java模板代码
surround with
★7 在eclipse中导入已有的工程。
如果有许多jar包需要导入,可以创建一个user library。再一次性将所有jar包导入进来。
★8 静态导入和编译器语法设置 
&问题:compiler的版本是保存在文件中吗?
在某个workspace中,它所保存的环境变量设置信息是保存在何处?

jar 包,第三方的类,第三方的类是不是以jar包的形式???
java开发工具设置:
编译compiler
配置快捷键,有很多辅助的工具可以自定义设置。
一个Workspace包含多个工程。
★9 可变参数 
面试题:overload 和override的区别。
回答的是不是很好?
&想法:定义一个循环,打印如下字符
1+2+3+4一直加到100.输出这样的一个结果。
知识点:可变参数的特点?
★10 增强for循环
Eclipse快捷键:
单行注释符号的添加,选定需要注释的代码区域,ctrl+alt+/
注释段落,则:ctrl+shift+/ 效果是:/*  */
copy lines ctrl+alt+down 复制上一行代码。
------------------------------------------------
增强for循环,The enhanced for statement
在sun公司官网上下载关于java语言的规范文档,
expression 可以是运算后的一个集合,该集合必须实现了Iterabale接口,如果是HashMap这样的集合显然是不行的。
★11 jdk1.5提供的基本类型数据的自动拆箱和装箱。

重构的好处:定义一个类,如果别的地方调用了这个类,则在变更该类的名称时,其他地方相关联的类都随着更改。

定义一个整数为Integer对象,在-128~127之间是,比较返回true,大于该范围返回false。

    对于小的整数,考虑到会经常使用,则该范围内的数字在内存中不必每次都开辟单独的内存空间存储。这就是享元模式。flyweight。一种设计模式。
 如果有很多很小的对象,有很多相同的东西,可以把它们变成一个对象。对于不同的东西,把它变成外部的属性,作为方法的参数传入。
    
&有些东西不需要别人教,心里好奇做一个实验看看。
★12 枚举
java出场,宣布号称去掉了c语言那些臃肿的东西。
现在java程序员越来越多,所以对大家的要求也越来越高了。学习,要学深学透学多。

★13 用普通类模拟枚举实现的原理
匿名类。
如果想在一个类中编写完各个枚举类和测试调用类,那么可以将枚举类定义成调用类的内部类。
★14 java5的枚举的基本应用
问题:enum 类的方法中没有values()方法。该视频06:30何解?
Enum 作为类和视频中的enum是有区别的。
[03/18/12 21:45]暂停,学习老毕关于枚举的视频、
★15 [03/24/12 10:15]继续:实现带有构造方法的枚举;
枚举中定义元素时后面还有方法时,最后一个元素必须加分号;结束。
★16 实现带有抽象方法的枚举。
枚举就是一个类,枚举的成员就是这个类的实例对象。
这个方法的返回值还是这个类自己。
子类必须完成父类的抽象方法。
这个枚举是抽象类,它的每个成员都是由它命名的一个子类来实现的。
带上了抽象方法的枚举。
子类的构造方法,调用父类有参的构造方法。
new 子类的实例对象,并且调用父类的有参构造方法。
类的方法返回的类型可以是自己这个类型,类里面可以定义静态常量,常量指向的结果是就是这个类型的实例对象。
如果要写单例,可以定义一个枚举,并且这个枚举中只有一个元素。
枚举就是一个特殊的类。:构造方法不用自己写了,是私有的
★17 透彻分析反射的基础。
java的反射,java中的类,类的名字?属于哪一个包?有哪些成员变量,哪些方法?它的父类是什么?
所以:Class类面熟了哪些方面的信息呢?:
类的名字,类的访问属性,类所属于的包名,字段名称的列表,方法名称的列表,等等。学习反射就要明白Class这个类。
Class类中提供了相应的方法来返回这些东西。
Class类实例代表的是内存中的字节码。
class类的创建是将代表该类的字节码加载到内存中,再使用这些字节码来创建一个一个的对象。
p1.getClass();得到该实例对象所属的类。
面试题:
Class.forName的作用:它的作用就是返回字节码。返回的方式有两种。java虚拟机有或没有的情况,如果代码已经被jvm加载过,已经存在内存中了,那么直接返回;如果内存中还没有,就要用类加载器去加载。把加载进来的字节码缓存在jvm中。再返回。
Class.forName("java.lang.String")得到这个类的字节码。

字节字符拉长缩短整两次都是浮云,是不是?
byte、char、int、double、float boolean、short 、long

Class cls1 = void.class;

Integer里面专门定义了一个常量叫TYPE。这个常量代表包装类型所包装的基本类型的字节码。

★18  理解反射的概念:
Class类: Field、MethodConstructor、Package等。
★19 构造方法的反射应用
Constructor
1.4 没有可变参数。
1.5才出现
反射会比较占用系统内存。导致机器性能下降。
★20
Generate Constructor using Fields...
用已有的字段来生成构造函数的一个代码。
fieldY只是对应类字节码中的一个变量。没有对应到对象身上。它不代表一个具体的值,只代表一个变量!

★21
★22
用反射调用String的CharAt方法,类的包要导入:
com   :非标准的,内部用的。
java开头的:标准的,外部用的
用反射的方式得到字节码里面的方法,再拿着这个方法去作用于某个对象。
静态方法被调用时不需要对象。
jdk1.4 和jdk1.5的一个区别: 1.4还没有可变参数,当要传多个参数的时候,需要将这些参数封装成一个数组。1.5有了可变参数,
★23 对接收数组参数的成员方法进行反射
Method methodCharAt = String.class.getMethod("charAt",int.class);
  System.out.println(methodCharAt.invoke(str1,1));
  System.out.println(methodCharAt.invoke(str1,new Object[]{2}));

  TestArguments.main(new String[] {"111","222","333"});
  //在程序中用静态代码的方式直接调用它的main方法,现在用反射的方式调用,
  为什么要用反射的方式调呢?
  String startingClassName = args[0];
  Method mainMethod = Class.forName(StartingClassName).getMethod("main",String[]);
  mainMethod.invoke(null,new Object[]{new String[]{"111","222","333"}});
  mainMethod.invoke(null,(Object)new String[]{"111","222","333"});
  
★24 数组与Object的关系及其反射类型

byte   B
  char   C
  class or interface L classname;
  couble   D
  float   F
  int   I
  long   J
  short   S
--------------------------------------------------------
a1.getClass().getSuperclass().getName()  反射方式获得父类的名称。
  基本类型的一维数组,不能转换为Object数组。基本类型不是Object。
  定义数组时,后面如果给了具体的元素,[]中则不能再有表示数组元素个数的int
  int [] a1 = new int [3];
  Object[] aObj1 = a1;
  Arrays中有大量的对数组进行操作的静态方法。
  asList  将数组转换为List
  int[] 和String[] 转换为Arrays.asList(int[])打印,
  int数组中的元素显示不出,还是为hashCode值;String[]则转换打印成功。
  Object把int[]当做一个Object
★25 数组的反射应用。
怎么得到数组中的元素类型?
可以得到某一个具体元素的类型
★26 反射的综合案例。
★28 用类加载器的方式管理资源和配置文件
配置文件到底放在哪里?
配置文件在实际的项目中,不采用相对路径来存储。相对路径是一个飘忽不定的东西,它随着当前运行状态所在的目录走。
配置文件放在程序内部。一定要记住完整的路径,但完整的路径不是硬编码,而是运算出来的。
&类加载器把.class文件加载到内存中。
框架的配置文件都放在classpath指定的目录中。原因是内部用类加载器加载的配置文件。
开发框架,配置文件放在classpath的根目录下,如果是用eclipse,则放在resource目录下。
★29 由内省引出JavaBean的讲解。
javaBean是一种特殊的java类。符合这种特定规则。特定的get和set方法。
★30
内省对应的英文单词为:IntroSpector,它主要用于对JavaBean进行操作,JavaBean是一种特殊的java类,其中的某些方法符合,包中命名规则,如果一个Java类中的一些方法符合某种命名规则,则可以把它当做JavaBean来使用。
&对一个JavaBean来操作,取某个属性一定是要通过get方法来取。
选定3行,右键选取:refactor——>,extract method
这样可以快速建立起一个方法。
★31:对JavaBean的复杂内省操作。
用内省的方式对javaBean的属性进行了get和set操作。
由于对JavaBean的属性进行设置和读取操作需求广泛,开源勇士做了一些东西。
提供了专门对JavaBean进行操作的工具类。
Beanutils工具包。
★32 关于JavaBean工具包的讲解。
使用BeanUtils工具包操作JavaBean。
jar包导入时,不要添加外部路径的方式,因为在传送一个工程时,jar包是不会随工程一期copy的,这样到别的机器上运行就容易出错。
把jar包放在工程内部,解决了copy工程时,没有jar包的问题。
apache 提供的一个logging开发包,即日志开发包。
将jar包copy到lib下,再增加到path设置。
BeanUtils中的get和set方法都把值当做字符串来操作。
它支持属性链,一级一级地点下去。
javaBean可以它Map相互转换,key——value的转换。
jdk7的一个新特性:关于Map的定义:
Map map = {name:"zxx",age:18};
&Map的key,相当于javaBean的属性。

Java基础:基础加强

Java enhance
  • zr523725410
  • zr523725410
  • 2014年09月26日 00:24
  • 2288

黑马程序员-张孝祥Java基础加强(PART1)

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ---------------------- 知识点: 1.Java5的几个新特性,...
  • niniliwei
  • niniliwei
  • 2014年02月28日 15:30
  • 1061

[黑马程序员] Java基础加强(5-7天)2010年Java高新技术_张孝祥

---------------------- ASP.Net+Android+IO开发、.Net培训、期待与您交流! ---------------------- 第1单元:概述 ...
  • shang1jk
  • shang1jk
  • 2013年05月08日 09:57
  • 2839

.NET基础加强第一天(1)

作为一个程序员基础太差,什么都不懂会被鄙视。慢慢学习吧
  • salafh
  • salafh
  • 2016年12月26日 18:00
  • 113

Java基础加强之集合篇(模块记忆、精要分析)

千里之行,始于足下。把别人的变成自己,再把自己的分享给别人,这也是一次提升的过程。本文的目的是以一篇文章从整体把握集合体系又不失一些细节上的实现,高手路过。 集合的作用与特点 Java是一门面向对...
  • whm114336793
  • whm114336793
  • 2017年02月22日 12:13
  • 513

【备忘】传智播客-Java基础班 视频教程 下载

日期星期课程内容教室讲师天数 2013/2/28星期四开学典礼 2013/3/1星期五Java开发前奏明浦广场1号楼204室毕向东第1天 同学们,既然选择了传智,确定了高薪目标,就应该积...
  • honghongyangguang
  • honghongyangguang
  • 2016年12月22日 10:12
  • 1005

java程序员菜鸟进阶(六)《HTTP权威指南》之HTTP相关概念详解

Http:超文本传输协议,在我们如今的网络时代。我们每天浏览着万万千千的网页,图片,文字,这些都离不开Http,他是我们快速可靠访问世界各地的web服务器资源地基础。Http使用的是可靠地数据传输协议...
  • csh624366188
  • csh624366188
  • 2013年02月04日 13:33
  • 15827

Java基础:基础加强

1.泛型 1.1 概述 (1).泛型是JDK1.5版本以后出现的新特性,用于解决安全文帝的一个类型安全机制; (2).泛型在集合类中的应用:JDK1.5以后的集合类希望在...
  • wtxwd
  • wtxwd
  • 2016年10月31日 09:57
  • 264

java基础项目实战教程视频下载,ja…

链接: http://pan.baidu.com/s/1eQu6TQq 密码: nkct 讲师注意。这个是arry老师的课题库地址。 课题:Java实现大型企业滚动分页和关键字搜索-百度内部技术ht...
  • iaoyou
  • iaoyou
  • 2015年05月27日 15:56
  • 2966

传智 刘意 2015年Java基础视频-深入浅出精华版 笔记 day24~day26(2016年4月26日13:11:30)

day24 1.多线程(JDK5之后的Lock锁的概述和使用)   Lock:           void lock(): 获取锁。           void unlock():释放锁。 ...
  • juliantem
  • juliantem
  • 2016年04月15日 00:40
  • 4936
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java基础加强视频zxx(1-32)
举报原因:
原因补充:

(最多只允许输入30个字)