`
guiqing85
  • 浏览: 162703 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java 学习笔记

阅读更多
1.        解决问题的办法
仔细阅读 -> 思考环节 -> 进行调试(不要一字一句的对照)-> 问google -> BBS
2.        学习方法 -> 敲 / 背 / 调
3.        程序员的桌面设置 (详细列表 / 显示所有文件 / 标题栏地址栏全路径)
        第一章
1.        java的历史与体系结构
2.        java的运行过程 (类装载器 (ClassLoader)/ 字节码校验器等)
3.        java的核心机制 (虚拟机 / 垃圾收集)
4.        java的特点 (面向对象 / 安全 / 跨平台)
5.        java是编译型还是解释型 (先编译,后解释)
6.        path (尽量改用户path / 改完要重新启动DOS窗口 / Echo %path%)
7.        classpath (放置.class文件的路径, *.jar也是一个路径)
8.        JDK&JRE 的概念
9.        HelloWorld
a)        NoClassDefFoundError 一般是类名错误或者是classpath设置不对
b)        看见bug不许害怕 养成记录Bug、进行知识管理的好习惯
c)        类 / 类体 / public class 只能有一个,且和文件名字需要一致
d)        Javac不区分大小写,跟classapth没关系
10.        程序格式的问题(视频)
11.        java类装载器的运行机制(懒加载)
12.        java垃圾收集器的运行机制
        第二章
1.        标识符的规则不用记 关键字表不用记
2.        二进制 / 十进制 / 十六进制
3.        程序运行过程
a)        Load into memory -> find the main method -> run line by line
4.        操作系统或运行环境对于内存的分块 (Code Segment / Data Segment / Heap / Stack)
5.        变量的本质 (内存中的某一块区域)
6.        java的char类型是两个字节,String(内码)UTF-8
7.        分析表达式应该从里到外
8.        变量的作用域 (只在声明的{}内部)
9.        变量之间的类型转换(默认转换和强制转换)
10.        方法 (形参 实参 返回值 返回值类型)
a)        方法调用
        给形参和返回值分配临时空间 / 把实参的值copy到形参 / 方法执行
        执行完毕后释放所有和方法有关的局部变量内存
11.        if (可以省略大括号,但是不推荐省略)
12.        swtich (小心Case穿透 / 必须int类型)
13.        for (三个表达式都可以省略)
14.        while do while break continue
15.        递归调用 (内存分析图)
a)        重点考虑递归方法(名字、参数、返回值)其中参数一定是在不断变化的,并能最终让方法结束。
16.        三目条件运算符
17.        作业:(每天要敲没有在课上敲过的程序 / 看程序格式的视频)
永远的作业:(1:每天总结与记录         2:每天写课上没有写完的东西         3:有时间进行课程的预习)
        第三章
1.        程序鲁棒 (对输入的参数进行判断,try catch finally)
2.        面向对象
a)        系统中有哪些类,这些类有哪些属性和方法
b)        系统中的类有那些关系 (关联 / 聚合 / 继承 / 实现 / 多态)
c)        面向对象和面向过程思考方法的区别
3.        引用的概念 (new 在堆中分配)
4.        构造方法
a)        和类同名 / 没有返回值 不能写void / 如果没有则自动添加 /如果有就不再自动添加
5.        内存调用过程(多个程序的分析)
6.        方法的重载 (方法名字一样,参数不一样 | 个数 / 类型  / 构造方法也可以重载)
7.        this
a)        要调一个方法(动态)需要一个对象 / This一般出现在方法内部
b)        对哪个对象调用这个方法, this指的就是谁 / 对当前对象的引用,由运行期间决定
8.        static
a)        static成员变量不属于单独的某个对象 / static方法属于整个类
b)        static方法不能调用非static变量 / main方法必须得是static的
9.        解决类重名
a)        要把类放到包里 / 第一句话加package / 包名一般公司域名倒过来
b)        编译好的class文件必须位于和包的层次一样的目录中
10.        编译时找不到另外的类
a)        当前目录找 -> Classpath -> 要把一个类加入包中,第一句话package com.xxxx.xxx ->
包名全部小写 -> Class文件必须位于和包名相同的目录下面 -> 包的最上层路径必须和其他类位于同一目录或者位于classpath中 -> 使用包中的类必须用全名或者引入 (引入所有 vs 引入单独) -> 同一个包中的类直接使用 -> 运行一个类必须写全名 -> Jar文件可以当成目录看待
b)        Exception
        Can not resolv symble 类名 / 错误的类文件 xxx.java 把代码拿走
c)        Jdk1.5以后不推荐使用裸体类 因此,位于包中的类使用裸体类的时候会有问题
11.        对于类成员的权限修饰4种:
a)        Private / default / protected / public / 对于class有两种 public default
b)        在位于不同包的子类中,父类的对象不能直接访问该父类中的protected成员。
12.        子类继承父类所有的东西 (子类对象中有一个父类对象 / 子类对象比父类对象大)
13.        子类可以重写父类的方法 (访问权限不能跟严格 / 最好去copy)
14.        super关键字 (理解内存模型)
15.        继承中的构造方法
a)        子类构造的时候先构造父类 / Super调用必须放在第一行 / 没有调用父类构造则系统自动找
b)        没有找到() 会出错 / 理解内存模型
16.        Object
a)        查阅javadocs文档 (要学习运用API文档 / 碰到新的类要大概浏览一遍)
b)        @Override Finallize() Equals Hashcode instanceof toString() clone(深、浅)
17.        对象转型 (父类引用指向子类对象 / 只能访问父类中可以访问的成员 / 可以强制转换为子类引用)
18.        多态的必要条件 (要有继承 / 要有重写 / 要有父类引用指向子类对象)
19.        final (final的变量不能被改变 final的方法不能被重写 final的类不能被继承)
20.        abstract method and class
a)        abstract method不需要写实现 含有abstract method的类必须声明为abstact class
b)        Abstract class can’t be instantiated
21.        interface
a)        为了实现多继承的语法 / 变量全部都是public static final
b)        方法全都是public abstract的 / 和实现类之间存在多态性 / 接口可以相互继承
       第四章
1.        观察excpetion的名字和行号
2.        一个图 (Throwable – Error|Exception - RuntimeException ….
3.        try catch (子类在前) finally throw throws
4.        继承和异常(重写) (抛出和原来一样的 / 不抛异常 / 抛出异常的子异常)
        第五章
1.        数组的内存模型 多维数组的内存模型
2.        排序 搜索 对象排序和搜索
3.        System.arraycopy
        第六章
1.        String常用方法
2.        问题 (大小写字母数 指定字符串出现的次数 反转一个单词 反转一个字符串)
3.        StringBuffer可变字符序列 (适合字符串的删除 添加 插入等操作 / 线程安全)
4.        StingBuilder和StringBuffer类似 (不是线程安全)
5.        基础数据类型包装类
a)        Byte / Short / Character / Integer / Long / Float / Double / Boolean
6.        File
a)        文件名 / 日期在计算机内部的表示 / 文件名树状排列 (典型递归应用 应该记住)
7.        Enum枚举 (定义新类型的同时定义该类型的变量能够设定的值) (Javac要注意,oracle可能会捣乱)
8.        要动手写!!!!!!! (能写多少是多少 / 写着写着没准儿就会有思路)
       第七章
1.        Vector & ArrayList的区别
2.        一个图 / 两个类 (Collections/Arrays) / 三个知识点(泛型/增强的for循环/自动的打包和解包)
3.        六个接口
a)        Collection Set List Map Comparable Iterator
4.        良好的编程 (Collection c = new HashSet(); List list = new ArrayList();)
5.        equals and hashCode
a)        重写equals为什么需要重写hashCode? / 两个对象equals应该具有相同的hashCode
b)        Collection在执行contains remove算法的时候首先使用hashCode,然后调用equals
6.        Collection的toString()方法内部执行
7.        推荐使用generic + auto-boxing/unboxing
        第八章
1.        流的分类 (输入/输出 字节/字符 节点/处理)
2.        在close之前,要flush
3.        inputstram / outputstream / reader writer
4.        文件处理 (Fileinputstream / fileoutputstrem  / Filereader / filewriter)
5.        建议经常使用缓冲流
6.        阻塞式的方法的概念
7.        要序列化一个类的对象,该类必须实现serializable接口
a)        标记性的接口 (Serializable / java.util.EventListener)
8.        IO类:
a)        InputStream / OutputStream / Reader / Writer
b)        FileInputstream / FileOutputStream  / FileReader / FileWriter
c)        BufferInputstream /BufferedOutputStream/ BufferedReader/ BufferedWriter
d)        InputStreamReader / OutputStreamWriter
e)        ByteArrayInputStream / ByteArrayOutputStream
f)        DataInputStream / DataOutputStream / PrintWriter / PrintStream
g)        ObjectInputStream / ObjectOutputStream / Serializable / transient
        第九章
1.        进程的概念 线程的概念
2.        线程创建和启动的两种方式 (Implements runnable(recommended) / Extends Thread)
3.        线程的状态 (创建 / 就绪 / 运行 / 阻塞 / 中止)
4.        线程控制方法 isAlive/set/getPriority/interrupt/start/stop/join/sleep/setName
5.        sychronized /dead lock /live lock /producer consumer /wait notify notifyAll
        第十章:
1.        分层的思想
2.        IP提供给我们了独一无二的IP地址 (子网掩码)
3.        TCP 可靠但慢 UDP 不可靠但快
4.        TCP程序的编写
a)        Server (New serversocket->Accept->Get input/output ->Close
b)        Client (New Socket -> Get input/output -> Close)
c)        Exception (BindException)
5.        UDP程序的编写
a)        Sender (New datagramsocket->repare the buf->New packet ->Send)
b)        Receiver(New datagram socket->New buf->New packet->Receive->Deal)
        第十一章
1.        一个图 (Component – Container - Window Panel Frame Dialog)
2.        Frame Panel类的常用方法
3.        布局管理器 (FlowLayout – Panel默认 / BorderLayout – Frame默认 / GridLayout)
4.        事件模型基础 (事件源对象 / 事件 / 事件的处理程序 / 实现了某个事件处理接口的类 /Observer)
5.        Button ActionEvent TextField常用方法与事件处理
6.        监听器类的书写方法(重点)
a)        ( 传参数 / 内部类 (非常方便的访问包装类的成员变量和方法) / 持有对方引用)
7.        graphics和paint方法 (repaint – update – paint )
8.        鼠标事件 (Adapter的概念)
9.        window事件 (匿名类)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics