Java的数据结构有哪些?Map与Set的本质区别是什么?

分析:Java常见的数据结构有Collection和Map,其中Collection接口下包括List和Set接口,其下又有多个实现类如List下有ArrayList、LinkedList和Vector等实现类,Set下有HashSet、LinkedSet等实现类和SortedSet接口,HashSet下有LinkedHashSet子类,SortedSet接口下有TreeSet实现类。Map接口下有HashMap(有LinkedHashMap子类)、HashTable(有Properties子类)实现类和SortedMap接口(有TreeMap实现类)。
JAVA的数据结构主要有List、Set、Map、ArrayList、HashSet、HashMap、Properties等。
Map与Set的本质区别有:Set不能包含重复的元素,最多有一个空值,继承自Collection接口,底层是Map实现机制。Map不能包含重复的键,每个键最多对应一个映射的值,不能有空值键。两接口提供的方法不完全一样。

Java中的Annotation的工作原理是什么?

Annotation提供一种机制,将程序的元素如:类,方法,属性,参数,本地变量,包和元数据联系起来。这样编译器可以将元数据存储在Class文件中。这样虚拟机和其它对象可以根据这些元数据来决定如何使用这些程序元素或改变它们的行为。

Http协议工作过程、?文件上传时,进度条的设计原理是什么?

Http协议即超文本传输协议,属于应用层的面向对象的协议。它支持客户/服务器模式,简单快速、灵活、无连接和无状态。http请求由请求行、消息报头、请求正文组成,http响应由状态行、消息报头和响应正文组成。
文件上传时进度条的设计原理:在java中主要用到I/O原理,已上传的数据值除以文件总大小的比值即实时进度的值。通过File类获取文件的总大小,在读取或写出文件时加一个进度计算的步骤,每读取或写出一次就计算进度值,更新进度条。

Spring整合ORM框架时,事务管理用哪个类?是Spring控制事务的提交还是ORM框架控制?同一事务中执行两个更新操作,它的工作原理是怎样的?

Spring整合ORM框架时事务管理用的是相应ORM框架的事务管理器类如Hibernate对应于HibernateTransactionManager,JPA对应于JpaTransactionManager等。整合过后可配置由Spring控制事务的提交。事务提交前执行两个更新操作。其工作原理是采用AOP编程的原理来进行控制。

分层架构中,Dao层的作用是什么?如果不要DAO层,能不能实现有Dao层时的优点?

Dao层又叫数据访问对象层, 封装数据库的底层操作细节如数据库的连接及对数据的CRUD等操作,它不但屏蔽了数据存储最终介质的不同,也屏蔽了具体实现技术的不同。一般在其上还会有Service层来封装业务操作进行进一步的解耦。不用DAO层也能实现Dao层时的优点如自己封装一个类似Dao层功能的数据库操作模板类,可参考Spring的DAO层思想。

HibernateDaoSupport,ActionSupport等类中所指的Support,是不是一种设计模式?若是,那说说你对这种设计模式的理解?

它们用到了IoC和工厂模式,即依赖注入,将程序代码中依赖对象的管理交由相应的容器去管理如在配置文件中进行注入配置。

怎样实现分页显示的?具体原理怎么样?Hibernate的setMaxResults和setFirstResult内部是怎么实现分页查询的?

实现一个分页组件,可自实现或借用相应框架的实现。原理是求出所查数据总记录数,设置每页要显示的记录数,然后计算每页要显示的第一条记录数,根据每页要显示的记录数和总记录数来求出页数等。
Hibernate的setMaxResults和setFirstResult内部是通过SQL语句来实现分页查询的,

Hibernate框架的设计有什么不足的地方?

XML配置麻烦、映射文件可能过于冗余、查询慢、对海量数据无能为力、太对象化限制了查询、级联关系也影响查询速度等。 当然,最新版本的Hibernate采用EJB3注解的方式,大大的提高了它的应用效率。

学习JSF,Richface,JBoss Seam,JBPM该按什么顺序,步骤去学习?

先需要学习JAVA EE 相关技术,如JSF2,EJB3,学完这些技术后,就可以学习Seam技术和Richface.

出处:http://blog.sina.com.cn/s/blog_5fc03a550100hz4b.html

Java开发核心技术面试心得分析的更多相关文章

  1. Java开发岗面试知识点解析

    本文作者参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Java 常见集合 高并发编 ...

  2. Java 开发岗面试知识点

    本文作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Java 常见集合 ...

  3. [ Java面试题 ]Java 开发岗面试知识点解析

    如背景中介绍,作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向. 在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Jav ...

  4. 知名互联网公司校招 Java 开发岗面试知识点解析

    天之道,损有余而补不足,是故虚胜实,不足胜有余. 本文作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几 ...

  5. JAVA开发工程师面试(1)

    我已经有很长一段时间没有更新博客了,难道是博主我变懒惰了吗?哎,这样可不行啊,我还有好多知识要学习,要和大家分享.以后我需要更加努力,改掉自己的惰性.本人文采不怎么样,只能是把自己所想的说出来,想和大 ...

  6. Java开发第一次面试经验(视频面试)

    坐标:山东潍坊公共实训基地 面试岗位:java开发实习生 我们班级一共6个人一起面试,1对1,其他人坐在旁边倾听,两个大牛,四个酱油,我应该是最黑的酱油啦. 面试问题: 1.请简短的做一下自我介绍: ...

  7. Java开发工程师面试-基础

    JDK.JRE.JVM有什么区别? JDK:Java Development Kit 针对Java程序员的产品 JRE:Java Runtime Environment是运行Java的环境集合 JVM ...

  8. Java开发中的编码分析__GET&POST

    GET方式提交参数分析 code.jsp <%@ page language="java" contentType="text/html; charset=UTF- ...

  9. 阿里Java开发电话面试经历--惨败

    近期准备跳槽,想试试知名大企业--阿里.经过boss直聘上一些内部人员的内推,有幸获得了一次电话面试的机会.(虽然在面试开始之前就大概知道结果是如何,但是也总得试试自己个有多水,哈哈哈...) 跟大家 ...

随机推荐

  1. Unity3D Keynote

    [Unity3D Keynote] 1.场景文件扩展名为.unity. 2.up为Y正方向,down为Y负方向,right为X正方向,left为X负方向,forward为Z正方向,back为z负方向. ...

  2. Cisco SDM

    SDM连接方式:http+telnet / https+ssh   要使用SDM对CISCO设备实现集中式管理,必须在设备上键入如下命令:   步骤1: 要启用路由器的HTTP/HTTPS 服务器,请 ...

  3. 将表A的数据复制到表B,以及关于主表和子表的删除办法

    如果表A的数据结构和表B的数据结构是一样的,字段名字可以不用相同,但是对应的数据类型是一样的 这样的情况下可以用如下的方式实现将表A的数据复制到表B INSERT INTO #TEMP2 SELECT ...

  4. C#图解教程读书笔记(第1章 C#和.net框架)

    C#中的主要需要记住的基础概念 CLR公共语言运行库 CIL中间语言,所有的代码都会编译成中间语言. CLI公共语言基础结构 C#的优点 C#有自动垃圾回收机制

  5. android 照相或从相册获取图片并裁剪

    照相或从相册获取图片并裁剪 在android应用中很多时候都要获取图片(例如获取用户的头像)就需要从用户手机上获取图片.可以直接照,也可以从用户SD卡上获取图片,但获取到的图片未必能达到要求.所以要对 ...

  6. jquery单选框 复选框表格高亮 选中

    单选框: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/T ...

  7. iOS开发-关于网络状态的判断

    在判断网络状态这个问题上,苹果提供了一个叫Reachability的第三方库,但是这个库并不能真正的检测我们的网络状态,我也是在调试程序的时候发现的.详情可以阅读这个博客http://blog.csd ...

  8. ZooKeeper是什么?

    What is ZooKeeper? (译:什么是ZooKeeper?) ZooKeeper is a centralized service for maintaining configuratio ...

  9. jQuery.FlexiGrid使用总结

    经过对FlexiGrid的大量使用,及时不时琢磨下其代码,对她的脾性有了一定的了解,是该做总结的时候了. 一.FlexiGrid下载 1.原版代码 最近Paulo P. Marinas对FlexiGr ...

  10. iOS 7 Pushing the Limits - Good & Bad Namings in Cocoa

    Cocoa is a dynamically typed language, and you can easily get confused about what type you are worki ...