码迷,mamicode.com
首页 > 编程语言 > 详细

java工程师 基础

时间:2016-01-13 21:51:27      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:


一、5个常见异常:
    1. Java.lang.NullPointerException   空指针
  2. java.lang.ClassNotFoundException  指定的类不存在
  3. java.lang.ArithmeticException  数学运算异常,比如程序中出现了除以零这样的运算就会出这样的异常
  4. java.lang.ArrayIndexOutOfBoundsException 数组下标越界
    5. java.lang.IllegalArgumentException 方法的参数错误,很多J2ME的类库中的方法在一些情况下都会引发这样的错误
  6. java.lang.IllegalAccessException   没有访问权限

二、Servlet的生命周期是什么:
    1、Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,
    2、service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,
    3、当服务器决定将实例销毁的时候调用其destroy方法。

三、ArrayList,Vector, LinkedList的存储性能和特性:
    ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素。
    它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,
    Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差。
    LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,插入数据时只需要记录本项的前后项即可,插入速度较快。

四、多线程有几种实现方法?同步有几种方法?
    多线程有两种实现方法,分别是继承Thread类与实现Runnable接口。
    实现同步也有两种,一种是用同步方法,一种是用同步块。同步方法就是在方法返回类型后面加上synchronized,
    比如:public void synchronized add(){...}
    同步块就是直接写:synchronized (这里写需要同步的对象){...}
    
五、overload和override有什么区别:
    Overload是重载,是有相同的方法名,但参数类型或个数彼此不同
    Override是重写,子类与父类中,子类中的方法的方法名,参数个数、类型都与父类中的完全一样,在子类中覆盖掉了父类的改方法。

六、mysql 语句:
    1、分页查询语句:
        SELECT * FROM tb_goods_info WHERE auto_id >=2500 ORDER BY auto_id ASC LIMIT 0,20
        sql语句意思: LIMIT 0,20  :查询 0+20 行  去除前0行
    2、存储过程:
        create procedure 存储过程名字()
        (
            [in|out|inout] 参数 datatype           ------变量不用加@。直接 b int;   sqlserver需要@
        )
        begin
            MySQL 语句;     -------每条语句后都要加 ;  分号。     sqlserver不需要
        end;
        
        使用:call pr_no_param();
    3、修改列
        alter table 表名 change 列名称 列新名称 新数据类型;
    4、删除列
        alter table 表名 drop 列名称;
    5、分组
        select id ,count(id_id) group by id having count(id_id)>1
    
七、Java集合类框架的基本接口有哪些?
    1、Collection:代表一组对象,每一个对象都是它的子元素。
    2、Set:不包含重复元素的Collection。
    3、List:有顺序的collection,并且可以包含重复元素。
    4、Map:可以把键(key)映射到值(value)的对象,键不能重复。
    
八、异常处的时候,finally代码块的重要性
    无论是否抛出异常,finally代码块总是会被执行。而且finally代码块主要用来释放资源,比如:I/O缓冲区,数据库连接。
    
九、Java中equals和==的区别
    基本数据类型也称原始数据类型:byte,short,char,int,long,float,double,boolean 用“==”比较的是他们的值。
    复合数据类型:比如String。 “==”比较的是存储地址。“equals”比较的是值。
        String str1="hello";
        String str2="he"+new String("llo");
        String str3="he"+"llo";
        System.out.println(str1==str2);   //false
        System.out.println(str1==str3);   //true
        
        String a = "hello2";
        final String b = "hello";     变量b被final修饰,因此会被当做编译器常量,在使用到b的地方会直接将变量b 替换为它的值
        String d = "hello";
        String c = b + 2;
        String e = d + 2;
        String f="hello"+2;
        System.out.println((a == c));    //true
        System.out.println((a == e));    //false
        System.out.println((a == f));    //true
    
        http://www.cnblogs.com/zhxhdean/archive/2011/03/25/1995431.html

十、java中final的用法:
    1、当用final修饰一个类时,表明这个类不能被继承。
    2、对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;
        如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。
    3、使用final方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率。
        http://www.cnblogs.com/dolphin0520/p/3736238.html
        
十一、存在js代码:var str="{name:\"aicai\"}",用多种方法把var 转换成json对象:
    1、function strToJson(str){
            var json = eval(‘(‘ + str + ‘)‘);
            return json;
        }
    2、function strToJson(str){
            var json = (new Function("return " + str))();
            return json;
        }
    3、function strToJson(str){
            return JSON.parse(str);
        }
        
十二、java 中synchronized和java.util.concurrent.locks.lock的作用及异同
    主要相同点:Lock能完成synchronized所实现的所有功能
    主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。
    synchronized会自动释放锁,而Lock一定要求程序员手工释放,并且必须在finally从句中释放。











java工程师 基础

标签:

原文地址:http://www.cnblogs.com/zjw0914/p/5128384.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!