java开发

1.常用的DOS命令

dir:列出当前目录下的文件以及文件夹

md :创建目录

rd :删除目录

cd :进入指定目录

cd.. : 退回到上一级目录

cd\ : 退回到根目录

del :删除文件

exit :退出dos命令行

2.JDK、JRE、JVM关系

JDK = JRE + 开发工具集(例如Javac编译工具)

JRE = JVM + JavaSE标准类库 

3.方法的重载

概念:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。

特点:与返回值类型无关,只看参数列表,且参数列表必须不同。

4.四种访问权限修饰符

               ① 4种权限可以修饰类部结构(属性、方法、构造器、内部类)

               ② 修饰类:default 、public

修饰符

类内部同一个包不同包的子类同一个工程
privateyes
defaultyesyes
protectedyesyesyes
publicyesyesyesyes

5.异常处理

         ①分类:

             ErrorJava虚拟机无法解决的严重问题,如JVM系统内部错误,资源耗尽等严重问题。比如StackOverflow 和 OOM。

            Exception:其他因编程错误或者偶然的外在因素导致的一般性问题,可以使用针对性代码进行处理 例如:空指针访问、网络连接中断,数组角标越界。

        ②异常体系结构:

           java.lang.Throwable

                          |-----java.lang.Error:一般不编写针对性代码进行处理

                          |----java.lang.Exception:可以进行异常处理

                                |-------编译时异常

                                         |-------IOException

                                         |-------ClassNotFoundException

                                |-------运行时异常

                                        |-------NullPointerException

                                        |------ArrayIndexOutOfBoundsException

        ③异常处理:抓抛模型

          过程一:"抛",程序在正常执行的过程种,一旦出现异常,就会在异常代码处生成一                             个对应异常类对象,并将此对象抛出。一旦抛出对象以后,其后代码就不再                           执行。

          过程二:“抓”,可以理解为异常的处理方式 ①try-catch-finally ②throws

      ④手动抛出异常:

              1.继承于现有的异常结构:RuntimeException 、Exception

              2. 提供全局常量:serialVersionUID

              3.提供重载构造器

 6.Java集合

         6.1:数组在存储多个数据的特点:

              ①一旦初始化以后,其长度就确定

              ②数组一旦定义好,其元素的类型也就确定了。我们也就只能操作指定类型的数据

         6.2:数组在存储多个数据方面的缺点:

               ①一旦初始化以后,其长度就不可修改

               ②数组中提供的方法非常有限,对于添加、删除、抽入数据等操作,非常不便,同             时效率不高

               ③获取数组的实际元素的个数的需求,数组没有现成的属性或者方法可以

               ④数组存储数据的特点:有序、可重复。对于无序、不可重复的需求,就不能满足 

         6.3:Java集合可分为Collection 和Map 两种体系:

                  Collection接口: 单列数据,定义了存取一组对象的方法的集合

                                     List: 元素有序、可重复的集合

                                     Set:元素无序、不可重复的集合

                   Map接口:双列数据,保存具有映射关系的“key-value“的集合 

         6.4 集合框架     

                   |-------Collection接口:单列集合,用来存储一个一个的对象

                              |-------List接口:存储有序的、可重复的数据 

                                      |-------ArrayList:最为List主要实现类,线程不安全的,执行效率                                   高;底层使用Object[] elementData存储

 

                                  jdk 7情况下

                                      a. ArrayList list = new ArrayList(); 地产创建了长度为10的Object数组

                                      b.list.add(11) 如果此次的添加导致底层elementData数组容量不够,                                   则扩容,默认情况下,扩容为原来的容量的1.5倍,同时需要将原来的                                     数组复制到新的数组。

                                  jdk 8情况下:

                                       a.ArrayList list = new ArrayList(); 底层Object[ ] element初始化为{}

                                  并没有创建对象

                     

                            建议:开发中使用带参构造器 ArrayList list = new ArrayList(int capacity)

                                      |-------LinkedList:底层使用双向链表存储(对于频繁插入、删除操                                 作使用此类ArrayList效率高

                                      |-------Vector:古老实现类,线程不安全,效率低;底层使用                                         Object[] elementData存储

                              |-------Set接口:存储无序、不可重复的数据 

                                       |-------HashSet:作为set接口主要实现类;线程不安全的,可以存                                       储null

                                                |-------LinkedHashSet:作为HashSet的子类;遍历其内部数                                                据时,可以按照添加顺序遍历

                                       |-------TreeSet:可以按照添加对象的指定属性,进行排序

                   |------Map接口:双列集合,用来存储一对(key-value)一对数据      

                                       |--------HashMap:作为Map的主要实现类;线程安全的。可以存储                                      null的key和value

                                              |---------LinkedHashMap:保证遍历map元素时,可以按照添                                              加的顺序实现遍历;(对于频繁的遍历操作)

                                       |--------TreeMap:按照key,排序遍历

                                                  底层使用红黑树

                                       |---------Hashtable:作为古老实现类;线程不安全的。不能存储                                        null的key和value

                                              |---------Properties:常用来处理配置文件。key和value都是                                        String类型

 

                           hashMap底层:数组+链表(jdk7及之前)

                                                       数组+链表+红黑树(jdk8)

        6.5 Collection接口方法

                        ①contains()是否包含对象 调用equals()方法  

                        ②containsAll(Collection coo):判断形成coo中的所有元素是否存在于                       当前集合中。

                        ③retainAll(Collection coo) :交集 获取当前集合和coo集合交集并返回给                     调用方法对象。

                        ④ toArray() 集合---------》 数组      数组-----------》集合 asList()

                        ⑤iterator(): 返回iterator接口的实例,用于遍历集合元素  

                                a.内部的方法:hasNext()和next()

                                b. 集合对象每次调用iterator()方法都得到一个全新的迭代器对象

                                     默认游标都在集合的第一个元素之前 

                               

                             c.Iterator接口remove()方法

                       ⑥使用Foreach循环遍历集合元素

              

 

8.泛型

      8.1如何自定义泛型结构:泛型类、泛型接口、泛型方法

        1.泛型方法

       2.泛型类

 

                      a.如果定义了泛型类,实例化没有指定类的泛型,则认为此泛型类型为Object                    类型;

                      b.泛型不同的引用不能相互赋值

                      c.泛型的指定中不能使用基本数据类型,可以使用包装类型

                      d.在类/接口上声明的泛型,本类或者本接口中即代表某种类型,可以作为非静                   态属性的类型、非静态方法的参数类型、返回值类型。但在静态方法中不能使用                     类的泛型

                      e.异常类不能泛性的

      8.2通配符             

            a.通配符:? 

             G<A> 和 G<B> 是没有关系的。二者共同父类是:G<?>   

             b.有限制条件的统配符:

                            ① ? extends A:

                                G<? extends A> 可以作为G<A> 和G<B>的父类,其中B是A的子类

                            ② ?super A:

                               G<? super A> 可以作为G<A> 和G<B>的父类,其中B是A的父类 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值