- 博客(59)
- 资源 (22)
- 收藏
- 关注
原创 【剑指Offer学习】【面试题22:栈的压入、弹出序列】
题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。解题思路:解决这个问题很直观的想法就是建立一个辅助栈,把输入的第一个序列中的数字依次压入该辅助栈,并按照第二个序列的顺序依次从该栈中弹出数字。
2015-06-30 08:21:50 5581 4
原创 【剑指Offer学习】【面试题21:包含min 函数的栈】
题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小素的min 函数。在该栈中,调用min、push 及pop的时间复杂度都是0(1)解题思路:把每次的最小元素(之前的最小元素和新压入战的元素两者的较小值)都保存起来放到另外一个辅助栈里如果每次都把最小元素压入辅助栈, 那么就能保证辅助栈的栈顶一直都是最小元素.当最小元素从数据栈内被弹出之后,同时弹出辅助栈的栈顶元素,此时辅助栈的新栈顶元素
2015-06-30 08:12:40 5538 5
原创 【剑指Offer学习】【面试题20 : 顺时针打印矩阵】
题目:输入一个矩阵,按照从外向里以顺时针的顺序依次扫印出每一个数字解题思路:把打印一圈分为四步:第一步从左到右打印一行,第二步从上到下打印一列,第三步从右到左打印一行,第四步从下到上打印一列。每一步我们根据起始坐标和终止坐标用一个循环就能打印出一行或者一列。不过值得注意的是,最后一圈有可能退化成只有一行、只有一列,甚至只有一个数字,因此打印这样的一圈就不再需要四步。
2015-06-30 08:04:05 5138 1
原创 【剑指Offer学习】【面试题17 ::合并两个排序的链表】
题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的
2015-06-29 08:00:28 6230
原创 【剑指Offer学习】【面试题15 :链表中倒数第k个结点】
题目:输入一个链表,输出该链表中倒数第k 个结点.为了符合大多数人的习惯,本题从1 开始计数,即链表的尾结点是倒数第1 个结点.例如一个链表有6 个结点,从头结点开始它们的值依次是1 、2、3、4、5 、6。这个个链表的倒数第3 个结点是值为4 的结点.
2015-06-28 07:47:19 5227
原创 【剑指Offer学习】【面试题14 :调整数组顺序使奇数位于偶数前面】
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位予数组的后半部分。
2015-06-28 07:39:12 5523
原创 【BAT(百度,阿里,腾迅)面试题】
BAT是中国互联网三大巨头,能进入BAT是不少程序员的梦想,本从现搜集到了不少BAT的面试题,供大家分享,希望能对大家的所帮助。努力成就梦想,一起努力吧!
2015-06-27 08:38:25 12195 4
翻译 Java传值还是传引用
这是一个经典面试问题,它迷惑Java新手。在这篇文章中,我将用一个例子和一些图来证明:Java是按值传递的。定义: - 按值传递:在内存中做一个实际参数值拷贝进行传递。 - 传引用:传递实际参数的地址的副本。 Java是永远是值传递。原始数据类型和对象引用都只是值。
2015-06-26 20:50:28 2093
原创 【Java基础面试题】【03】
81、JDBC中如何进行事务处理?答:Connection提供了事务处理的方法,通过调用setAutoCommit(false)可以设置手动提交事务;当事务完成后用commit()显式提交事务;如果在事务处理过程中发生异常则通过rollback()进行事务回滚。除此之外,从JDBC 3.0中还引入了Savepoint(保存点)的概念,允许通过代码设置保存点并让事务回滚到指定的保存点。82、JDBC能
2015-06-26 15:48:00 4038
原创 【Java基础面试题】【02】
41、日期和时间: - 如何取得年月日、小时分钟秒? - 如何取得从1970年1月1日0时0分0秒到现在的毫秒数? - 如何取得某月的最后一天? - 如何格式化日期?答: 问题1:创建java.util.Calendar 实例,调用其get()方法传入不同的参数即可获得参数所对应的值。Java 8中可以使用java.time.LocalDateTimel来获取,代码如下所示。public class
2015-06-26 15:30:34 4141
原创 【Java基础面试题】【01】
1、面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 - 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性,
2015-06-26 08:57:51 7041 1
原创 【面试】【Spring常见问题总结】【09】
81、SimpleJdbcTemplateSimpleJdbcTemplate类也是基于JdbcTemplate类,但利用Java5+的可变参数列表和自动装箱和拆箱从而获取更简洁的代码。SimpleJdbcTemplate主要提供两类方法:query及queryForXXX方法、update及batchUpdate方法。82、集成Spring JDBC及最佳实践大多数情况下Spri
2015-06-25 07:52:41 2189
原创 【面试】【Spring常见问题总结】【08】
71、依赖检查依赖检查:用于检查Bean定义的属性都注入数据了,不管是自动装配的还是配置方式注入的都能检查,如果没有注入数据将报错,从而提前发现注入错误,只检查具有setter方法的属性。Spring3+也不推荐配置方式依赖检查了,建议采用Java5+ @Required注解方式。在Spring2.5中配置方式的依赖检查有none、simple、object、all四种方式。1、none:
2015-06-25 07:44:17 2085
原创 【面试】【Spring常见问题总结】【07】
61、Spring IoC容器的依赖有两层含义:Bean依赖容器:也就是说Bean要依赖于容器,这里的依赖是指容器负责创建Bean并管理Bean的生命周期,正是由于由容器来控制创建Bean并注入依赖,也就是控制权被反转了,这也正是IoC名字的由来,此处的有依赖是指Bean和容器之间的依赖关系。容器注入Bean的依赖资源:容器负责注入Bean的依赖资源,依赖资源可以是Bean、外部文件、常量
2015-06-25 07:42:16 1723
原创 【面试】【Spring常见问题总结】【06】
51、spring中的applicationContext.xml能不能改为其他名字ContextLoaderListener是一个ServletContextListener, 它在你的web应用启动的时候初始化。缺省情况下,它会在WEB-INF/applicationContext.xml文件找Spring的配置。 你可以通过定义一个元素名字为”contextConfigLocation”
2015-06-24 07:22:22 2281
原创 【面试】【Spring常见问题总结】【05】
41、声明式事务管理的事务属性有5种:传播行为:传播行为定义了客户端与彼调用方法之间的事务边界。隔离级别:隔离级别定义了一个事务可能受其他并发事务影响的程度。只读:表明事务是否是只读的。事务超时:指定事务运行的最长时间,超时就回滚。回滚规则:定义了哪些异常会导致事务回滚而哪些不会。42、脏读、不可重复读和幻读脏读:一个事务读取了另一个事务改写但是未提交的数据时。如果改写
2015-06-24 07:14:45 2436
原创 【面试】【Spring常见问题总结】【04】
31、Spring切面可以应用5 种类型的通知l Before——在方法调用之前调用通知。l After——在方法完成之后调用通知,无论方法执行是否成功。l After-returning—— 在生方法成功执行之后调用通知。l After-throwing——在方法抛出异常后调用通知。l Around——通知包裹了被通知的方法,在被通知的方法调用之前和调用之后执行自定义的行为。
2015-06-24 07:13:38 2315
原创 【面试】【Spring常见问题总结】【03】
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅
2015-06-23 06:07:28 3030
原创 【面试】【Spring常见问题总结】【02】
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅
2015-06-23 05:59:34 2772 1
原创 【面试】【Spring常见问题总结】【01】
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅
2015-06-22 08:01:34 5550 2
原创 面试常见算法-排序查找算法
算法是程序员必被的一个技能,在面试中常常出现,下面总结了面试中出现的常见算法,这些算法程序员应该牢记在心中,要非常熟练。
2015-06-22 07:37:26 6249
原创 (23)桥梁模式
(23)桥梁模式定义:也叫桥接模式,将抽象部分与实现部分分离,使它们都可以独立的变化类型:结构型模式类图:桥梁模式结构:可以看出,这个系统含有两个等级结构,也就是:l 由抽象化角色和修正抽象化角色组成的抽象化等级结构。l 由实现化角色和两个具体实现化角色所组成的实现化等级结构。l Abstraction:抽象化角色,它的主要职责是定义出该角色的行为
2015-06-21 07:34:49 1393 1
原创 (22)享元模式
(22)享元模式定义:使用共享对象可有效地支持大量的细拉度的对象。类型:结构型模式类图:门面模式结构:l 抽象享元角色(Flyweight):此角色是所有的具体享元类的超类,为这些类规定出需要实现的公共接口或抽象类。那些需要外部状态(External State)的操作可以通过方法的参数传入。抽象享元的接口使得享元变得可能,但是并不强制子类实行共享,因此并非所有的
2015-06-21 07:28:19 1379 1
原创 (21)解释器模式
(21)解释器模式定义:给定一种语言,定义他的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中句子。类型:行为类模式类图:解释器模式是一个比较少用的模式。解释器模式的结构l 抽象解释器:声明一个所有具体表达式都要实现的抽象接口(或者抽象类),接口中主要是一个interpret()方法,称为解释操作。具体解释任务由它的各个实现类来完成,具体的解释
2015-06-21 07:24:38 1190
原创 (20)状态模式
(20)状态模式定义:当-个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类。)类型:行为型模式类图:状态模式结构:State:抽象状态角色,接口或抽象类,负责对象状态定义,并且封装环境角色以实现状态切换。ConcreteState:具体状态角色,每一个具体状态必须完成两个职责:本状态的行为管理以及趋向状态处理,通俗地说,就是本状态下要做的事情,以及本状态如
2015-06-20 06:21:39 1401
原创 (19)访问者模式
(19)访问者模式定义:封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。类型:行为类模式类图:访问者模式可能是行为类模式中最复杂的一种模式了,但是这不能成为我们不去掌握它的理由。我们首先来看一个简单的例子,代码如下:class A { public void method1(){
2015-06-20 06:05:44 1849
原创 (18)备忘录模式
(18)备忘录模式定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态类型:行为类类图:我们在编程的时候,经常需要保存对象的中间状态,当需要的时候,可以恢复到这个状态。比如,我们使用Eclipse进行编程时,假如编写失误(例如不小心误删除了几行代码),我们希望返回删除前的状态,便
2015-06-20 05:52:09 1518
原创 (17)门面模式
(17)门面模式定义:也叫外观模式,要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行.门面模式提供一个高层次的接口,使得子系统更易于使用.类型:结构型模式类图:门面模式结构:Facade门面角色:客户端可以调用这个角色的方法.此角色知晓子系统的所有功能和责任。一般情况下,本角色会将所有从客户端发来的请求委派到相应的
2015-06-19 06:26:47 1383
原创 (16)观察者模式
(16)观察者模式定义:定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。类型:行为类模式类图:在软件系统中经常会有这样的需求:如果一个对象的状态发生改变,某些与它相关的对象也要随之做出相应的变化。比如,我们要设计一个右键菜单的功能,只要在软件的有效区域内点击鼠标右键,就会弹出一个菜单;再比如,
2015-06-19 06:19:57 1564
原创 (15)组合模式
(15)组合模式定义:也叫合成模式,或者部分-整体模式,主要是用来描述部分与整体的关系,定义,将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。类型:结构型模式类图:角色说明:Componnent抽象构件角色:定义参加组合对象的共有方法和属性,可以定义一些默认的行
2015-06-19 06:10:28 921
原创 (14)迭代器模式
(14)迭代器模式定义:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。类型:行为类模式类图:如果要问java中使用最多的一种模式,答案不是单例模式,也不是工厂模式,更不是策略模式,而是迭代器模式,先来看一段代码吧:public static void print(Collection coll){ Iterator it = coll.
2015-06-18 07:12:14 1176
原创 (13)适配器模式
定义:(将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作类型:结构类型模式类图:类的适配器模式(采用继承实现)对象适配器模式(采用对象组合方式实现)代码实现:类的适配器模式// 已存在的、具有特殊功能、但不符合我们既有的标准接口的类 class Adaptee { public
2015-06-18 07:05:35 1127
原创 (12)策略模式
定义:定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。类型:行为类模式类图:策略模式是对算法的封装,把一系列的算法分别封装到对应的类中,并且这些类实现相同的接口,相互之间可以替换。在行为类模式中,有一种模式也是关注对算法的封装——模版方法模式,对照类图可以看到,策略模式与模版方法模式的区别仅仅是多了一个单独的封装类Context,它与
2015-06-18 06:59:18 1229
原创 (11)装饰模式
(11)装饰模式定义:动态地给一个对象添加一些额外的职责。就扩展功能而言, 它比生成子类方式更为灵活。类型:结构型模式类图:1. 装饰模式(Decorator)的定义:又名包装(Wrapper)模式,装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。2. 装饰模式以对客户端透明的方式动态的给一个对象附加上更多的责任。换言之客户端并不会
2015-06-17 06:06:33 1344
原创 (10)责任链模式
(10)责任链模式定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。类型:行为类模式类图:public void test(int i, Request request){ if(i==1){ Handler1.response(request);
2015-06-17 06:00:04 1671 1
原创 (9)命令模式
定义:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。类型:行为类模式类图:命令模式的结构顾名思义,命令模式就是对命令的封装,首先来看一下命令模式类图中的基本结构:l Command类:是一个抽象类,类中对需要执行的命令进行声明,一般来说要对外公布一个execute方法用来执行命令。l
2015-06-17 05:55:18 1113
Java CP/IP Socket编程
2012-04-13
嵌入式试卷
2011-11-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人