java基础杂记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yuan_qh/article/details/83037736

1、list接口的特点:有序,带索引,可以有重复的元素的集合

2、set接口的特点:无序,无索引,不能够有重复元素的集合

3、ArrayList的底层是用数组实现的,ArrayList的长度可变,

4、LinkedList的底层是用链表实现的,

5、数组查询快,但是增删慢,链表查询慢,但是增删快,由于以后做开发的时候大部分都是需要进行遍历,ArrayList用的要稍微多一点。

6、HashSet集合的特点:存储去除都比较快

7、java中三种长度表现形式:

数组,length,属性,返回值为int

字符串,length(),方法,返回值int

集合,size(),方法,返回值为int,如ArrayList,LinkedList,HashSet,集合等

8、List接口的实现类的遍历可以采用普通for循环(即使用索引),迭代器,增强for,而Set接口的实现类的遍历只可以用迭代器 或者增强for

9、哈希表存储对象的依据:对象的哈希值和equals方法

10、增强for不能够直接遍历Map,只能够间接遍历。

11、可变参的本质是一个数组,语法:数据类型...变量名,例如public static int function(int...a){},其中,a为数组名,可直接进行a.length调用。

12、一个方法中,可变参数只能够有一个,即不能够这样:(int...a,int...b),第二,一个方法中,可变参必须写在参数列表最后一位,即(int a,int b,int...c)最无敌的可变参:(Object...o)

13、throw关键字,在方法的内部,抛出异常的对象,throw后面,必须写new对象,必须是异常的对象,必须是Exception或者子类。

14、catch语句,如果捕获的两个对象中有继承关系,则父类对象写在后面,子类对象写在前面,原因和多态调用有关。

15、 l 明确一:要操作的数据是数据源还是数据目的。 源:InputStream    Reader   目的:OutputStream Writer先根据需求明确要读,还是要写。

                 l  明确二:要操作的数据是字节还是文本呢?   源: 字节(字节流 1字节=1byte=8bit):InputStream

文本:(字符流 1字符=2byte=16bit)Reader     目的:  字节:OutputStream     文本:Writer 已经明确到了具体的体系上。  

l  明确四:是否需要额外功能呢?  额外功能:           转换吗?转换流:InputStreamReader OutputStreamWriter    高效吗?缓冲区对象:BufferedXXX

 InputStream (字节输入流)

       FileInputStream(文件字节输入流)

       BufferedInputStream(缓冲流):用来提高 InputStream流的效率的,构造方法里面写InputStream的实例对象,后面调用方法和实例对象的原来使用一模一样。其他三个流以此类推。

16、开一个线程,就新开辟了一个栈内存,然后把这个线程的run方法压栈,CPU在调用时,调用不同的栈的方法,一次不会像一个栈那样,一条道走到黑——main先进栈但最后出栈,即栈的特点,先进后出。

17、线程对象调用start方法,start方法让JVM开辟一个新线程并且调用run方法,我们把要运训的程序放在run方法中。

18、servlet对象何时创建:在客户端第一次访问此Servlet实现类的时候创建

servlet对象何时销毁:打开tomcat服务器的时候就相当于开辟了一个内存空间,然后当客户端第一次访问Servlet实现类的时候(默认)会创建servlet对象,但是由于此对象是tomcat自己开辟的,故我们不可能人工关闭此对象,所以,只有当tomcat关闭的时候,tomcat服务器会让servlet对象调用自己的destroy方法把自己销毁。

默认客服端第一次访问Servlet实现类的时候会由tomcat创建一个servlet实例,并且创建成功后由实例调用init函数

每次访问Servlet实现类的时候都会调用services方法,每次调用service 方法都要由tomcat来创建一个request对象和一个response对象,以作为services的参数

当tomcat关闭的时候,如果已经创建过servlet对象,那么tomcat让servlet实例调用destroy方法把servlet销毁

故,当10次访问同一个Servlet实现类页面的时候,会创建一个servlet对象,会创建10个request对象和10个response对象,会调用一次init方法和一次destroy方法,会调用10次service方法。

而当访问webapps下的静态页面如index.html时,就不会调用service 方法以及上述的一切。

19、BeanUtils用于将map集合中的键值对一一存放到拥有此属性的对应实例对象中,直接BeanUtils.populate(实例,map);

                

                

                       

                         

                      

                          

                          

               

               

     

猜你喜欢

转载自blog.csdn.net/yuan_qh/article/details/83037736