面试
文章平均质量分 90
mno2330
这个作者很懒,什么都没留下…
展开
-
String、StringBuffer与StringBuilder之间区别
最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下。关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较:StringBuilder > StringBuffer > ...原创 2011-08-15 21:44:02 · 72 阅读 · 0 评论 -
Java 中的悲观锁和乐观锁的实现
锁(locking) 业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算 处理中,我们希望针对某个cut-off时间点的数据进行处理,而不希望在结算进行过程中 (可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓 的“锁”,即给我们选定的目标数据上锁,使其无法被其他程...原创 2011-07-12 10:07:08 · 76 阅读 · 0 评论 -
线程高级---读写锁
读写锁问题也是比较常见的问题,这是因为现实中充斥着这类问题,而读者写者问题是单纯synchronized的进化版,之所以这么说,是因为它将锁分为读锁和写锁,通过读锁之间的并发性和写锁的排他性从而极大的提升性能。 在开始之前,还是先来回顾一下读写锁问题。一个数据文件或记录能被多个线程共享。有些线程要求读,而另一些则要求写或修改。允许多个读线程同时读一个共享对象,因为读操作不会使数据文件混乱...原创 2011-07-12 10:15:03 · 149 阅读 · 0 评论 -
CAP原理和BASE思想
分布式领域CAP理论,Consistency(一致性), 数据一致更新,所有数据变动都是同步的Availability(可用性), 好的响应性能Partition tolerance(分区容错性) 可靠性定理:任何分布式系统只可同时满足二点,没法三者兼顾。忠告:架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍。关系数据库的ACID模型拥有 高一致性 + 可靠性 丧失可...原创 2011-07-12 10:16:45 · 87 阅读 · 0 评论 -
NIO学习系列:核心概念及基本读写
NIO学习系列:缓冲区内部实现机制 http://zhangshixi.iteye.com/blog/681704 NIO学习系列:连网和异步IO http://zhangshixi.iteye.com/blog/683767 NIO学习系列:缓冲区更多特性及分散/聚集IO http://zhangshixi.iteye.com/blog/684544 NIO学习系列:文件锁定和字符集 h...原创 2011-07-12 10:20:35 · 85 阅读 · 0 评论 -
准备问题
你觉得有什么优势 特长 捡干货说你对面试的公司有多了解 怎么看这个公司的你面试的职位相关的技能熟悉程度你爱好什么 平时除了计算机还会做什么事发脾气吗 可有耐心 有做过协调工作?未来 无论长短期 有什么打算 最好是目前可以付诸实施的计划...原创 2011-07-12 12:06:48 · 228 阅读 · 0 评论 -
如何中断一个正在运行的线程
背景 中断(Interrupt)一个线程意味着在该线程完成任务之前停止其正在进行的一切,有效地中止其当前的操作。线程是死亡、还是等待新的任务或是继续运行至下一步,就取决于这个程序。虽然初次看来它可能显得简单,但是,...原创 2011-07-12 18:03:40 · 934 阅读 · 0 评论 -
使用Java NIO编写高性能的服务器
从JDK 1.4开始,Java的标准库中就包含了NIO,即所谓的“New IO”。其中最重要的功能就是提供了“非阻塞”的IO,当然包括了Socket。NonBlocking的IO就是对select(Unix平台下)以及 WaitForMultipleObjects(Windows平台)的封装,提供了高性能、易伸缩的服务架构。说来惭愧,直到JDK1.4才有这种功能,但迟到者不一定没有螃蟹吃,NI...原创 2011-07-12 21:16:56 · 109 阅读 · 0 评论 -
Java nio 2.0 AIO
按照《Unix网络编程》的划分,IO模型可以分为:阻塞IO、非阻塞IO、IO复用、信号驱动IO和异步IO,按照POSIX标准来划分只分为两类:同步IO和异步IO。如何区分呢?首先一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作,同步IO和异步IO的区别就在于第二个步骤是否阻塞,如果实际的IO读写阻塞请求进程,那么就是同步IO,因此阻塞IO、非阻塞IO、IO服用、信号驱动IO都是同步I...原创 2011-07-12 21:26:56 · 195 阅读 · 0 评论 -
Java内存溢出
内存溢出与数据库锁表的问题,可以说是开发人员的噩梦,一般的程序异常,总是可以知道在什么时候或是在什么操作步骤上出现了异常,而且根据堆栈信息也很容易定位到程序中是某处出现了问题。内存溢出与锁表则不然,一般现象是操作一般时间后系统越来越慢,直到死机,但并不能明确是在什么操作上出现的,发生的时间点也没有规律,查看日志或查看数据库也不能定位出问题的代码。更严重的是内存溢出与数据库锁表在系统开发和单...原创 2011-07-13 11:25:58 · 73 阅读 · 0 评论 -
详细介绍Spring事务管理
在学习spring事务管理时,我忍不住要问,spring为什么进行事务管理,spring怎么进行的事务管理?首先,为什么要进行事务,接下来说说spring是怎样进行事务管理的.Spring事务策略Spring事务策略,也就是spring事务管理的实现方式.它有一个统一的抽象是由实现下面这个接口完成的.org.springframework.transaction.PlatformTra...原创 2011-07-12 09:47:52 · 70 阅读 · 0 评论 -
URL与URI区别
今天在看STRUTS配置的时候,发现一个问题,就是在看配置文件的时候,有时出现URL有时又是URI, 让我心生不解,到网上查了一圈,解释都含糊不清,索性自己总结一下,仅代表个人理解,由于本人知识实在有限,可能会有错误,不过我认为是应该这样的。总结如下:1.简写:URI (uniform resource identifier)统一资源标志符;URL(un...原创 2011-07-12 09:46:15 · 79 阅读 · 0 评论 -
HTTP协议及报文分析
一次HTTP操作称为一个事务,其工作过程可分为四步: 首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作就开始了。 建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。 服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本...原创 2011-08-15 21:53:50 · 200 阅读 · 0 评论 -
NIO学习系列:缓冲区内部实现机制
接上一篇NIO学习系列:核心概念及基本读写,本文继续探讨和学习缓冲区的内部实现机制。5. 缓冲区内部实现 从上面对NIO的学习中,我们知道每一个缓冲区都有复杂的内部统计机制,它会跟踪已经读了多少数据以及还有多少空间可以容纳更多的数据,以便我们对缓冲区的操作。在本节我们就将学习NIO的两个重要的缓冲区组件:状态变量和访问方法。虽然NIO的内部统计机制初看起来...原创 2011-08-17 13:55:35 · 89 阅读 · 0 评论 -
CAS ABA问题
首先要知道什么叫CAS(compare and swap):在jdk里面可以由UnSafe提供一个针对于volatile变量的操作,其原理是直接调用的CPU的CAS动作 举个例子: 我们经常会有这样的操作 if(a==b) a = b+1; 在多线程的环境下,如果在执行完a==b之后,a发生了改变,我们就达不到预期的结果了 所以,就有了cas操作 具体你可以看看JDK的AtomicInteger,...原创 2011-08-19 10:55:33 · 188 阅读 · 0 评论 -
深入JVM锁机制1-synchronized
分类: JVM 2011-07-28 16:24 107人阅读 评论(0) 收藏 举报 目前在Java中存在两种锁机制:synchronized和Lock,Lock接口及其实现类是JDK5增加的内容,其作者是大名鼎鼎的并发专家Doug Lea。本文并不比较synchronized与Lock孰优孰劣,只是介绍二者的实现原理。 数据同步需要依赖锁,那锁的同步又依赖谁...原创 2011-08-19 11:01:58 · 73 阅读 · 0 评论 -
深入JVM锁机制2-Lock
分类: JVM 2011-07-28 18:15 92人阅读 评论(0) 收藏 举报 前文(深入JVM锁机制-synchronized)分析了JVM中的synchronized实现,本文继续分析JVM中的另一种锁Lock的实现。与synchronized不同的是,Lock完全用Java写成,在java这个层面是无关JVM实现的。在java.util.concurrent.lock...原创 2011-08-19 11:04:30 · 89 阅读 · 0 评论 -
关联、聚合、组合的关系
你和你的心脏之间是composition关系你和你买的书之间是aggregation关系你和你的朋友之间是association关系 关联和聚合的区别主要在语义上,关联的两个对象之间一般是平等的,例如你是我的朋友,聚合则一般不是平等的,例如一个公司包含了很多员工,其实现上是差不多的。聚合和组合的区别则在语义和实现上都有差别,组合的两个对象之间其生命期有很大的关联,被组合的...原创 2011-08-19 15:18:06 · 306 阅读 · 0 评论 -
Java学习之IO与NIO篇
Java的IO相较于其他语言,感觉是比较抽象和复杂的,当然等你理解了它并且熟练了,它的强大性就马上体现出来了。其实本来只是想写nio的,把io也顺带理一下吧。Java的io最重要的一个概念就是流,就像一个水管插在文件和终端之间,每个字节都是一滴水,按顺序单方向地流动,这样理解不知道是不是容易些?流主要分以下几种类型:输入流和输出流:就是流的方向。 InputStream和Re...原创 2011-07-11 15:11:35 · 111 阅读 · 0 评论 -
Synchronized和java.util.concurrent.locks.Lock的区别
主要相同点:Lock能完成Synchronized所实现的所有功能。主要不同点:Lock有比Synchronized更精确的县城予以和更好的性能。Synchronized会自动释放锁,但是Lock一定要求程序员手工释放,并且必须在finally从句中释放。synchronized 修饰方法时 表示同一个对象在不同的线程中 表现为同步队列如果实例化不同的对象 那么synchronized就不...原创 2011-07-11 15:24:10 · 66 阅读 · 0 评论 -
spring原理
spring原理 spring的最大作用ioc/di,将类与类的依赖关系写在配置文件中, 程序在运行时根据配置文件动态加载依赖的类,降低的类与类之间 的藕合度。它的原理是在applicationContext.xml加入bean标记, 在bean标记中通过cl...原创 2011-07-11 15:57:47 · 76 阅读 · 0 评论 -
中高级技术人员面试
struts,spring,hiberate知识点。实际上对于一个有一定经验和功力的人,一个新框架的上手也就是几个小时的事情,对于一些框架细节的了解也就是多做几次debug跟踪一下的事情。所以考框架那些需要记忆的知识点意义不大。 因此,对于中高级技术人员,不倾向于笔试。采取交谈的方式比较适合,这样交谈双方基本上都能够知道的各自的经验和功力了。可以根据招人的用处不同,选择性问一些不同难度的问...原创 2012-08-06 14:23:51 · 157 阅读 · 0 评论