java研发常见问题总结 1
1.java中所有类的父类是什么?他都有什么方法?
Object类是所有类的直接或间接基类,如果一个类在声明时未继承基类,Java就默认其基类是Object,故Object被称为根类。该类位于java.lang包中,它有如下几个常用方法:
equals(): 用于比较两个对象是否指向同一块内存区域,相当于==运算符。(注意:在String类中,已将该方法改写比较字符串内容是否相同);
hashCode(): 返回该对象的哈希码值(返回该对象的存储地址,整数),用于标识一个对象,如果两个对象相等,则哈希码值一定相同;
toString(): 返回值是String类型,描述当前对象的有关信息,当对象与String型数据的连接时,自动调用其toString()方法。
2.java中IO包下面的inputstream运用了什么设计模式?请简述你知道的设计模式?
Decorator模式,主要功能是给一个对象动态的添加一些额外的功能,添加一个装饰,装饰必须与被装饰的组件继承于同一个接口,这样用户就不用担心装饰的集体实现,因为对他们老说是透明的。
java I/O 的设计模式主要有装饰模式(decorator)和适配器模式。
3.ArrayList跟LinkedList的区别详细说出?
1). ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
2). 对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
3). 对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据
4.session和cookie的区别?
话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。(http://blog.csdn.net/fangaoxin/article/details/6952954)
1、session数据保存在服务器,cookie数据保存在客户端。
2、cookie不是很安全,别人可以分析存放在本地的cookie进行cookie欺骗,为安全考虑应当使用session(登录个人信息存放在session,其他信息存放在cookie)
3、session数据会一定时间保存在服务器上,当访问增多时,会影响服务器性能,考虑到服务器性能应该使用cookie。
4、一个cookie保存的数据不能超过4k,一般浏览器限制一个站点不能超过20个cookie。
5.说一下快速排序的原理?
具体做法:附设两个指针low和high,分别设初值为low和high,设枢轴记录的关键字为key,并暂存于r[0],首先从high所指向的位置开始,向前一步搜索找到第一个关键字小于key的记录与low所指向的记录进行交换,然后在从low所指向的位置向后搜索找到第一个关键字大于key的记录与high指向的记录交换,重复上述两步骤,直到low=high相等,才得到枢轴记录的正确位置。插入即可。
6.如何在hibernate中查看原始的sql语句
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC(Java Data Base Connectivity,java数据库连接,是一种用于执行SQL语句的Java API)进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
8.struts2的流程?
9.简述下多线程?
进程是指运行的程序,每个进程分配一定的内存空间,一个进程中存在多个线程,启动一个java虚拟机,就是打开一个进程,当进程中同时运行多个线程,叫做并发。
线程的实现方式有两种:继承Thread类和实现Runnable接口,通过覆盖run()方法来实现线程的行为。
线程状态:
New状态,使用new新建一个线程对象处于新建状态,仅仅在堆栈中分配了内存。
Runnable就绪状态,线程调用start()方法后,线程就进入就绪状态,虚拟机为它创建方法调用栈和程序计时器,处于这个状态线程可进入可运行池中,等待获取cpu使用权。
Runnabing运行状态,这个状态的线程处于cpu的使用状态,如果计算机只有一个cpu,则有一个线程处于这个状态,如果有多个cpu,则有多个线程占用不同的cpu,只有处于就行状态的线程才才有机会变为运行状态。
阻塞状态,线程由于某些原因放弃了cpu,此时不为线程分配cpu,直到线程重新进入到就绪状态。(阻塞原因:wait()、sleep()、I/O、其他原因)
调度方式:分时调度和抢占式调度。
12.java有些类中为什么需要实现Serializable接口?
Serializable接口,是java提供的通用数据存储和读取的接口,实现serializable接口的对象可以转换成字符流,这样就可以将对象存储在文件中,或是作为数据流通过网络传输到其他地方去,或是通过管道传输到系统的其他程序中,这样设计就极大的简化了类的设计,应用于分布式应用系统中。
13.hashmap,hashtable的区别?以及如何使用,以及他的一些方法?
第一,继承不同。public class Hashtable extends Dictionary implements Map
public class HashMap extends AbstractMap implements Map
第二,Hashtable 中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。在多线程并发的环境下,可以直接使用Hashtable,但是要使用HashMap的话就要自己增加同步处理了。
第三,Hashtable中,key和value都不允许出现null值。
在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,即可以表示 HashMap中没有该键,也可以表示该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键, 而应该用containsKey()方法来判断。
第四,两个遍历方式的内部实现上不同。Hashtable、HashMap都使用了 Iterator。而由于历史原因,Hashtable还使用了Enumeration的方式 。
第五,哈希值的使用不同,HashTable直接使用对象的hashCode。而HashMap重新计算hash值。
第六,Hashtable和HashMap它们两个内部实现方式的数组的初始大小和扩容的方式。HashTable中hash数组默认大小是11,增加的方式是 old*2+1。HashMap中hash数组的默认大小是16,而且一定是2的指数。
方法:get(key),remove(key),put(key,value),contains:containKey,containValue
,isEmpty()...
14.设计题,利用hashmap对苹果的重量进行排序?
15.struts2拦截器相关问题
16.struts2接受参数的方式
17.数据结构
18.异常的相关问题?error和exception具体?
19.还问了个MYSQL如何查看运行状态
20.问了一些关于collections的方法?
21.servlet相关知识,doPost,doGet,一些内置对象?
23.set和list的区别,一些个实现类,继承关系等等?
24.在Hibernate中java的对象状态有哪些?
25.简述你看过java类的源代码?
26.数据库事务隔离机制及其特点是什么?
27.JVM内存heap and stack
28.HTTP报文包含内容?
29.TCP/IP三次握手?
30.垃圾回收?
31.其他问了未来规划,在学校学的最好的一门,然后教育了下我说大公司注重基础跟潜力,小公司注重上来就会做事,要多看源码多看jdk注重java基础!!!
1.什么是 java 序列化, 如何实现 java 序列化?或者请解释 Serializable 接口 接口的作用?
2.MVC的各个部分都有那些技术来实现? 如何实现?
3.开发中主要使用 Spring 的什么技术 ?
4.对Spring的理解,项目中都用什么?怎么用的?对IOC、和AOP的理解及实现原理?
5.hashmap底层如何实现的?
6.arrayList底层如何扩展的?
7.谈谈Hibernate的理解,一级和二级缓存的作用,在项目中Hibernate都是怎么使用缓存的?
8.谈谈你在项目中的角色?
9.你做过的项目模块实现?
10.线程同步,并发操作怎么控制?
11.servlet容器启动过程,生命周期?
12.SQL关联关系?
13.list去重?
14.arraylist和hashmap在内存中开销?
15.sql行转列?
最新文章
- erlang文章博客推荐
- 9.1 js基础总结2
- .SQL Server中 image类型数据的比较
- 八大排序算法之四选择排序—堆排序(Heap Sort)
- 第三百五十二天 how can I 坚持
- 分享web前端七款HTML5 Loading动画特效集锦
- 今天再分享一个TextView内容风格化的类
- [JavaScript]'this'详解
- android开发论坛
- [Cocos2d-x]CCSpriteFrameCache的使用
- ios缩放图片
- 简单三段式状态机实验1-SOS
- 升讯威微信营销系统开发实践:(5) Github 源码:微信接口的 .NET 封装。
- asp.net core合并压缩资源文件引发的学习之旅
- Struts+Spring+Hibernate、MVC、HTML、JSP
- 洛谷P2261 余数求和
- WebSocket ,Socket ,Http差异
- CentOS7中替换安装python3.7.0
- 关于Unity中的光照(三)
- Android应用的自动升级、更新模块的实现(转)