
面试题
福尔摩斯23
对于一个伟大人物来说,任何事物都不是微不足道的。
展开
-
java异常处理try里面的return知识
1. 准确地说,return是在中间执行的原创 2014-11-12 12:35:39 · 604 阅读 · 0 评论 -
视图的相关概念
1. 视图:虚表,是从一个或几个基表(或视图)中导出的表; 作用:简单性:不仅可以简化用户对数据的理解,也可以简化他们的操作; 安全性:通过视图用户只能查询和修改他们所能见到的数据; 屏蔽性:视图还可以帮助用户屏蔽真实表结构变化带来的影响。原创 2014-11-27 23:10:14 · 531 阅读 · 0 评论 -
僵尸进程和孤儿进程的区别
1. 僵尸进程:一个子进程在父进程还没有调用wait()方法或者waitpid()方法的情况下退出,这个子进程就是僵尸进程;2. 孤儿进程:一个父进程退出,它的一个或多个子进程还在运行,子进程将成为孤儿进程,孤儿进程将被init进程所收养;3. 僵尸进程将会导致资源浪费,而孤儿进程则不会。原创 2014-11-27 23:28:18 · 9426 阅读 · 0 评论 -
线程安全和线程不安全的区别
1. 线程安全就是多线程访问时,采用了原创 2014-11-21 22:28:48 · 585 阅读 · 0 评论 -
怎么提高spring创建对象的效率
反射的运行速度慢,有没有改进的方法呢?可以使用cache原创 2014-11-22 23:10:05 · 499 阅读 · 0 评论 -
HTTP协议的相关概念
HTTP是一个属于应用层的面向对象的协议:1. 支持客户/服务器模式;2. 简单快速(只需要传送请求方法和路径);3. 灵活(允许任意类型的数据对象);4. 无连接(每次连接只处理一个请求:基于TCP的连接方式);5. 无状态(对于事务处理没有记忆能力)。原创 2014-11-26 23:55:05 · 759 阅读 · 0 评论 -
equals()方法和“==”的区别
1. 要比较两个基本类型的数据或者两个引用变量是否相等(equals方法比较的是变量的内容),只能用“==”操作符;2. String a = new String("foo"); String b = new String("foo");如果是a==b,则返回false,因为==比较的是两个引用变量是否指向同一个对象,即这两个变量所对应的内存中的数值是否相等,即对象占用的那块内原创 2014-11-27 23:14:56 · 522 阅读 · 0 评论 -
进程同步的机制以及通讯方法
进程同步的机制:临界区、互斥器、事件和信号量四种方式;进程间的通讯方法:管道、信号、信号量、共享内存、消息队列和socket套接字六种方式。原创 2014-11-27 23:33:01 · 608 阅读 · 0 评论 -
进程和线程的区别
1. 地址空间和资源:进程间相互独立,同一进程的各线程间共享;2. 通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信,需要同步和互斥手段的辅助,以保证数据的一致性;3. 调度和切换:线程上下文切换比进程上下文切换快得多;4. 在多线程OS中,进程不是一个可执行的实体;5. 进程是系统进行资源分配和调度的一个独立单位,线程是CPU调度和分派的基本单位,基本原创 2014-11-26 23:51:59 · 471 阅读 · 0 评论 -
sleep和wait的区别
1. sleep和wait功能差不多,都用来进行线程控制,最大的区别是:sleep不释放同步锁,wait释放同步锁;2. sleep是thread类的静态方法,sleep的作用是让线程休眠特定的时间,在时间到达时恢复,也就是说sleep在接到时间到达事件时恢复线程执行;3. wait是object类的方法,可以说是任意一个对象调用wait方法,调用者的线程将会挂起,直到其他线程调用同一个对原创 2014-11-27 23:36:19 · 566 阅读 · 0 评论 -
MySQL中InnoDB和MyISAM两种表类型的区别
MyISAM类型不支持事务处理等高级处理,然而InnoDB类型支持事务处理;从而MyISAM类型的表强调的是性能,其执行速度比InnoDB类型更快,但是不提供事务支持,而InnoDB类型提供事务支持以及外部键等高级数据库功能。原创 2014-11-28 23:08:44 · 497 阅读 · 0 评论 -
抽象类和接口的区别
1. 属性:抽象类可以有普通成员变量,接口不行;2. 方法:抽象类可以有非抽象的方法和构造方法,并且修饰符可以是私有的,接口只能是抽象的方法,并且修饰符是public;3. 只能继承一个抽象类,但能实现多个接口;4. 抽象类中可以包含静态方法,接口中不能有静态方法;5. 抽象类中和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以是任意的,接口中只能是public原创 2014-11-28 23:23:41 · 613 阅读 · 0 评论 -
面向对象编程的认识
有4个主要的特征:1. 封装:将对象封装成一个高度自治和相对封闭的个体,对象状态(属性)由这个对象自己的行为(方法)来读取和改变;2. 抽象:只考虑事物的相似和共性之处,忽略与当前主题和目标无关的那些方面;3. 继承:提高软件的可重用性和扩展性;4. 多态:一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须由程序运行期间才能决定。原创 2014-11-28 22:48:18 · 484 阅读 · 0 评论 -
sql优化
1. 常用的数据建视图,尽量减少group by,order by,update等查法;2. 建立合理的索引;3. 先做选择和投影,最后再连接操作(投影就是从所给的表中,选出需要的列;选择就是选出所需的行);4. in换成exists,in是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询,也就是子查询表大的用exists,子查询表小的原创 2014-11-22 22:42:23 · 600 阅读 · 0 评论 -
new和malloc的区别
malloc是C++/C语言的标准库函数,new是C++的运算符,它们都可以用于申请动态内存;new可以认为是malloc加构造函数的执行,new出来的指针是直接带类型信息的,而malloc返回的是都是void指针。原创 2014-11-25 22:31:08 · 540 阅读 · 0 评论 -
数据库索引
索引是对数据库表中一个或多个列(例如,employee 表的姓氏 (lname) 列)的值进行排序的结构。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。数据库索引采用的是B+树,如果查询两个表的内容:select * from a, b where a.id = b.id;只需要在b表上的id建立索引,因为查询里对“左表a”没有条件,是全部输出原创 2014-11-25 22:34:07 · 752 阅读 · 0 评论 -
懒加载原理
在hibernate中,查询方法有两个,分别是get()和 load(),这两个方法的不同就是load()拥有懒加载的特性,load()方法就是在查询某一条数据的时候并不会直接将这条数据以指定对象的形式,而是在你真正需要使用该对象里面的一些属性的时候才会去数据库访问并得到数据,它的好处就是可以减少程序本身因为与数据库频繁的交互造成的处理速度缓慢。懒加载一直是前端的优化方案之一,它的核心思想是当原创 2014-11-25 22:50:27 · 689 阅读 · 0 评论 -
笔试题及面试题2
1. 栈和队列,二叉树是逻辑结构;原创 2014-11-20 23:11:41 · 416 阅读 · 0 评论 -
笔试以及面试题1
1. int i=28/10;i=2;//注意i并不是等于3原创 2014-11-20 23:05:20 · 385 阅读 · 0 评论 -
系统间的通信方式
1. HTTP:这种通信方式通常用于b/s架构的应用系统中;2. socket:这种通信方式用于原创 2014-11-11 22:40:13 · 1061 阅读 · 0 评论 -
存储过程和触发器的区别以及存储过程和函数的区别
1.存储过程与触发器的区别:存储过程是一组为了原创 2014-11-12 12:42:06 · 1055 阅读 · 0 评论 -
SQL注入的对策
SQL Injection(SQL):就是通过把SQL命令插入到原创 2014-11-13 23:21:29 · 500 阅读 · 0 评论 -
使用栈在O(1)的时间复杂度求最大值
一般求最大值都需要浏览栈中的所有值原创 2014-11-13 23:33:58 · 1650 阅读 · 1 评论 -
用两个栈实现队列
假设有两个栈,分别为A和B:1. 数据都从B栈原创 2014-11-13 23:37:36 · 345 阅读 · 0 评论 -
死锁的相关概念
1. 死锁是指多个进程循环等待它方占有的资源原创 2014-11-14 23:05:31 · 444 阅读 · 0 评论 -
java的clone()方法使用需要注意的地方
1. 怎么从原对象获得副本:原创 2014-11-13 23:04:03 · 1478 阅读 · 0 评论 -
break和continue的用法
1. continue和break都只是对于循环有效,例如while、do-while、for,然而对于if等其它不是循环的都无效;2.原创 2014-11-14 23:07:49 · 775 阅读 · 0 评论 -
Java和C++中基本数据类型的区别
1. 在C++中,char是基本数据类型,8位,原创 2014-11-14 23:18:00 · 1414 阅读 · 0 评论 -
SSH框架中各个XML文件的作用
1. web.xml:用来配置spring监听器,设置监听,加载上下文;2. applicationContec.xml:原创 2014-11-15 22:50:37 · 1208 阅读 · 0 评论 -
在网页输入URL,按回车键,到返回结果页面的详细过程
1. 输入一个URL地址;2. 浏览器查找原创 2014-11-15 23:08:37 · 766 阅读 · 0 评论 -
Java的内部类(Inner Class)和嵌套类(Nested Class)的区别
1. 静态的内部类称为嵌套类,嵌套类原创 2014-11-16 21:52:00 · 2246 阅读 · 0 评论 -
Java中怎样实现多线程
1. 继承Thread(即extends Thread)2. 实现R原创 2014-11-16 23:06:44 · 390 阅读 · 0 评论 -
final、finally和finalize的区别
1. final用于声明属性、方法和类,分别表示属性不可变原创 2014-11-16 22:21:59 · 407 阅读 · 0 评论 -
TCP为什么需要三次握手
“三次握手”的目的是:防止已失效的连接请求报文段突然又传送到了服务器端,因而产生错误。client发出的第一个连接请求报文段并没有丢失,而是在某个网络节点长时间的滞留了,以致延误到连接释放以后的某个时间才达到server端,本来这是一个早已失效的报文段,但server收到此失效的连接请求报文段后,误认为是client再次发出的一个新的连接请求,于是就向client发出确认报文段,同意建立连接。原创 2014-11-25 22:53:07 · 987 阅读 · 0 评论 -
使用final关键字修饰一个变量的三种情况
1. 修饰基本类型变量时,不能对基本变量重新赋值,并且必须由程序员显示初始化;2. final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的:包括两种情况final StringBuffer a = new StringBuffer("immutable");a = new StringBuffer("b");//这是错误的a.append(原创 2014-11-25 23:02:24 · 830 阅读 · 0 评论 -
Java多态性的表现
Java实现运行时多态性的基础是动态方法调度,它是一种在运行时而不是在编译期调用重载方法的机制。方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现。重写是父类与子类之间多态性的一种表现,重载是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们就说该方法被重写;子类的对象使用这个方法时,将调用子类中的定义,对它而言,原创 2014-12-01 22:51:31 · 1528 阅读 · 0 评论