java工程师 基础

一、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从句中释放。

时间: 2024-10-12 18:35:00

java工程师 基础的相关文章

Java工程师的终极书单

本份Java工程师的终极书单只在专业的Java技术博客–天天编码上发布,没有授权任何网站与个人转载. 坚持阅读好书是学习Java技术的好方式.但是,市面上与Java技术相关的书籍可谓数不胜数,如何从这些质量参差不齐的众多书中选择出优秀的书籍就成为了Java程序员面对的第一个问题.同时,每个Java程序员的技术水平和知识结构往往差异很大,这导致不同的Java程序员阅读同一本技术书的体验与感受又截然不同. 针对前面提到的Java程序员面对如何选择优秀书籍的两个主要问题,笔者结合自身的阅读Java书籍

面试的角度诠释 Java 工程师(一)(上)

来源:locality, http://www.jianshu.com/p/a0b8b6f17888 前言: 我相信每一个程序员都是为了生活而努力着的.很多人因为兴趣,从此踏上了这条‘烧脑大行动’的金桥:也有很多人因为梦想和执着,奋不顾身融入这个职业:还有很多人因为被现实逼得太无奈,不得不为自己.为家人.为未来谋这么一条坎坷的路. 这里,我不去评价什么,再说我也没有资格去评价啊.言归正传,下面我写这篇文章的定位是各位在场的读者,如果你认为我接下来说的内容会跟书里说的差不多,那么请高抬贵脚移步它处

【推荐】Java工程师如何从普通成为大神值得一读

本文源自 http://www.hollischuang.com/archives/489 一点感悟 java作为一门编程语言,在各类编程语言中作为弄潮儿始终排在前三的位置,这充分肯定了java语言的魅力,在实际项目应用中,我们已经无法脱离javaa(Ps当然你可以选择不使用),但它的高性能,稳定性,扩展性已经深入到每一个java编程工程师的骨髓里,随着时间的推移,我相信更多的项目会加入到java这个大家庭. 然而要想成为一名合格的java工程师并不容易,难于上青天,此话怎讲呢?作为计算机专业的

java工程师应掌握的

当前,市面上有<Java XX宝典>类似的图书,而且图书中的内容都着重在讲解Java最为基础的部分, 另外,网上也有各种各样的Java面试题,很多也是着重在Java语言基础上.实际上,如果要应聘高级开发工程师职务,仅仅懂得Java的基础知识是远远不够的,还必须懂得常用数据结构.算法.网络.操作系统等知识.因此本文不会讲解具体的技术,笔者综合自己应聘各大公司的经历,整理了一份大公司对Java高级开发工程师职位的考核纲要,希望可以帮助到需要的人. 1 Java基础 1.1 Collection和M

Java工程师能做什么工作

当下在这个越发重视IT技术的时代,越来越多的人也开始重视自己IT技术的培养,当下若是掌握了一门热门的IT技术,那么高薪就业绝对是没有什么大问题的,在当下IT技术中,Java技术一向引人注目,想成为Java工程师的朋友是大有人在,那么Java工程师能做什么工作呢?跟长沙尚学堂小编往下看. 很多人对Java工程师的最初印象就是多金,因为Java工程师起点薪资在众多工程师中就比较高,还有个很深刻的印象,就是Java工程师人才缺口,真的可以用惊人来形容,根据IDC的统计数字,在对所有软件开发人才需求当中

巨人大哥谈Java工程师高手之路

巨人大哥谈Java工程师高手之路 JVM方面 JVM内存结构 堆.栈.方法区.直接内存.堆和栈区别 Java内存模型 内存可见性.重排序.顺序一致性.volatile.锁.final 垃圾回收 内存分配策略.垃圾收集器(G1).GC算法.GC参数.对象存活的判定 JVM参数及调优 Java对象模型 oop-klass.对象头 HotSpot 即时编译器.编译优化 类加载机制 classLoader.类加载过程.双亲委派(破坏双亲委派).模块化(jboss modules.osgi.jigsaw)

Java工程师成神之路思维导图

前面看Hollis的微信公众号更新了Java工程师成神之路的文档,想着有时间把它画下来,画下来之后分享出来: 主要内容: 基础篇: 进阶篇: 高级篇: 推荐书籍: 扩展篇: 架构篇: 原文地址:https://www.cnblogs.com/liaoweipeng/p/8982164.html

Java工程师笔试题整理[校招篇]

隔着两个月即将开始校招了.你是不是也想借着这个机会崭露头角,拿到某些大厂的offer,赢取白富美.走上人生巅峰?当然如果你还没能打下Java基础,一定要先打好Java基础:如何一步一步的学Java - 学习编程 - 知乎专栏.然后再来看一下练习一下各大厂的面试笔试题目. 如果以下内容满足不了你,你还可以去看这篇: 2016校招编程题汇总 - 学习编程 - 知乎专栏 进入主要内容(主要内容整理来自牛客网:牛客网)(以下内容按照各大公司进行划分,对每一公司按照年份进行划分,如果想想下载以下内容,可以

Java工程师必备书单

Java开发工程师一般负责后端开发,当然也有专门做Java Web的工程师,但是随着前后端的分离,越来越多的Java工程师需要往大后端方向发展. 今天我们就来介绍一下Java后端开发者的书单. 首先要感谢一下江南白衣大大的后端书架,让我在初学阶段读到了很多好书,直到现在都印象深刻. 我在两年的学习历程中看了很多的书,其中不乏XXX入门到精通,XXX王者归来,XXX指南什么的. 虽然这类书确实毛病很多,但是作为非科班的我来说,当时还是看的津津有味.直到后来我看到一些优秀的书籍,以及白衣哥的书架,我