java基础知识回顾_第1页
java基础知识回顾_第2页
java基础知识回顾_第3页
java基础知识回顾_第4页
java基础知识回顾_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA 基础回顾第一天 1. JDK 安装包含了 JRE,不用独立安装 JRE 2.不同操作系统有不同的 JVM 安装版本,因此 JAVA 有了跨平台特 性 3.通过设置 path 变量,可以方便在 Dos 下使用 Java 工具命令,不 用每次进入安装路径 3.1.path 的设置有两种 1)添加至系统变量,(2)临时配置,Dos 关闭后恢复,set path=%path%;%JAVA_HOME%; 4.classpath 用于指定 JVM 查找类的路径,没有该变量时,只查找 当前目录,有该变量时,值的结尾没有分号,只查找 classpath 包 含的路径 4.1.当编译含 package 命令时,用 javac -d ,指定的存储目录下应该手动创建相关包的文件夹 5.关键字 5.1 权限修饰符:public、private、protected、default。 成员访问权限: private default protected public 同 类 有 有 有 有 内 部 类 有 有 有 有 同包中的(子)类 有 有 有 不同包子类 有 有 其他包的类 有 类访问权限控制: public 和默认修饰 public:所有类都可以访问 默认修饰:同一个包中的类可以访问 5.2 static 关键字 类的静态成员(类成员):类属性+类方法 静态成员变量(类属性 class attributies): -即使没有 new 产生对象的时候,也会在内存中有且仅有一个该变 量,可通过类名来访问该变量或其他方法。与类的加载同生 共死, 为所有实例对象所共享。eg:System.out; 静态方法(类方法): -public/private/final static fun() -调用形式:类名.fun()、对象名.fun()、成员方法中调用:fun2() fun(); -eg:System.gc();/垃圾回收 System.exit(); 注意点: -静态方法中只能访问静态成员,非静态成员需要对象创建后才能 访问; -静态方法不能使用 this 和 super 关键字 -main()是静态方法,同上 -类成员赋值时应当注意先后顺序, eg:G:JavaBaseReviewDemo.java 静态代码块: -只会在类加载时被执行一次,常作类的初始化,在构造方法之前 执行 -static . -类被使用时才被加载 6. 抽象类 abstranct 抽象类中没有构造函数,因为不能实例化,可以没有抽象方法,但 是有抽象方法的类必须声明为抽象类 7. 接口 成员变量:public static final XXX 成员方法:public abstranct fun(); 8. 单态设计模式: -采取一定方法,使某个类的对象在整个程序中只产生一个。 -因此,必须使类的构造方法为 private,而且只能在 static 模块 中产生(因为不能在类的外面使用 new ) , 这使得需要一个 public static 的方法来加载类。 -eg: public class TestSingle/饿汉式单例模式 private TestSingle() /显示的设置构造方法的权限 private static final TestSingle Instance= new TestSingle();/类的内部可以调用构造方法 public static TestSingle getInstance=() /返回类型为 TestSingle 类 return Instance; 9.理解 main()的定义类型,以及参数的传递是在 java 命令中传递 的,java classname arg1 arg2 .(参数间以空格隔开 必要时参 数加“) 10.内部类: 即类中嵌套的类,可以对主类的成员进行访问,但是主类不能直接 访问内部类的成员,而是通过内部类的对象进行访问。 -内部类不能被主类之外的访问 -也可以在方法、for 循环模块等中定义,在方法中,方法内中的局 部变量只有 final 变量可以访问 11.Java 文档注释 -javadoc -d xxx -version -author xxx.java 12. 多线程 线程状态:被创建、运行、冻结、就绪、死亡 两种方式:(1).创建 Thread 的子类,之类中的 run()方法是线程执 行体; (2).创建实现了 Runnable 借接口的子类的实例,并将该实例作为 new Thread(Runnable xx)的参数; 通常创建匿名内部类线程:new Thread() public void run(). start(); OR new Thread(new Runnable() public void run().start(); 13. 线程安全 原因:多线程访问延迟以及随机性 解决方案:同步代码块 synchronized(对象) 和 同步函数(锁: this) 等 线程同步:条件有二:两个及以上线程,同一个锁(锁可以使任意 对象) 弊端:线程过多会降低效率(懒汉式单例设计模式中,双重判断可 以提高效率) 线程通信: wait():释放 CPU 执行权,释放锁 sleep():释放 CPU 执行权,不释放锁 停止线程 (1).定义循环结束标记 (2).使用 interrupt(中断)方法。 设置优先级:setPriority(int num) 设置守护线程:setDaemon(boolean b) 当前 JVM 运行的线程没有 非守护线程时,JVM 退出 等待中断:join()(没明白) JAVA 基础回顾第二天 1. 集合 1.1 String 类 字符串是一个特殊的对象。 字符串一旦初始化就不可以被改变。 String str = “abc”; String str1 = new String(“abc”);的区别: str 是指向 String 常量池中常量对象“abc“的引用地址,只产生一个引用对象,str1 是指 向内存堆中对象的引用地址,该对象由常量池中常量“abc“拷贝至内存堆产生的,因此 有两个对象产生。 另外:String s1 = “ss“; String s2 = “ss“; -s1=s2 的结果是 true 详细内容:G:JavaWJavaBaseReviewJava 中的 String 数据类型.pdf 1.2 StringBuffer 类 字符串的组成原理通过该类实现的; 一个容器,可变长度,可以对字符串内容进行增删; 与 Stringbuilder 的区别是,Stringbuffer 是同步的,后者非同步 2. 集合接口类 方便对多个对象的操作,存取等 2.1 特点 集合只用于存储对象,长度可变,对象类型可以不相同 2.2 主要子接口 2.2.1 List(列表) 接口 :有序存放,可重复元素 Vector 类:线程安全,速度慢,不常用 ArrayList 类:线程不安全,查询速度快,常用 LinkedList 类:链表结构,增删速度快 2.2.2 Set(集) 接口 :元素无序存放,不可重复 HashSet 类: 线程不安全,存取速度快,通过 equals()和 hashCode()办证元素唯一性 TreeSet 类:线程不安全,以二叉树形式存放,可通过 compareTo()或 compare()对元素 进行排序 2.3 迭代 Iterator Collection.iterator(); 3. Map 集合 3.1 特点 与 Collection 框架并列, 用 put()存储键值对, 需要转成 Set 才能迭代出元素,键是唯一的 3.2 主要子类 3.2.1 Hashtable 哈希表:线程安全 ,速度慢,不常用,被 HashMap 替代 3.2.2 HashMap:线程不安全,速度快,允许存放 null 键值 3.2.3 TreeMap: 有序的键 4. 集合框架中的工具类 4.1 Collections 4.2 Arrays 5. JDK1.5 新特性 5.1 增强 for 循环 for(数据类型 变量名 : 数组或集合) 执行语句; 5.2 泛型 限定集合元素类型,优化类型强制转换,将运行期间问题转至编译期 5.3 可变参数 返回值类型 函数名(参数类型 形式参数) 执行语句; 参数用法:将形式参数当做参数类型的一个数组,eg:形式参数。length 6. IO 流 练习:键盘输入,递归法 G:/JavaW/JavaBaseReview/ListFile.java 管道流 PipedInputStream 和 PipedOutputStream 输入输出可以直接进行连接,通过结合线程使用。 7. 编码表 常见码表: ASCII:美国标准信息交换码 ISO8859-1:拉丁码表,欧洲码表 GB2312:简体中文码表 GBK: GB2312 升级版 Uni

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论