随笔分类 - Java
摘要:本人最近正在面试,然后注意到总是有公司喜欢考String的问题,如字符串连接有几种方式,它们之间有什么不同等问题;要不就是给一段代码问创建了几个对象。那么该不该问呢?我认为当面试有一定工作经验的求职者时还是应该问问这个问题的,应届生就不要为难他们了还是多考考底层基础比较好。下面我结合JVisualV...
阅读全文
摘要:在前面一片文章《JVM内部细节之一:synchronized关键字及实现细节》中已经提到过偏向锁的概念,在理解什么是偏向锁前必须先理解什么是轻量级锁(Lightweight Locking)。引入偏向锁是为了在无多线程竞争的情况下尽量减少不必要的轻量级锁执行路径,因为轻量级锁的获取及释放依赖多次C...
阅读全文
摘要:在C程序代码中我们可以利用操作系统提供的互斥锁来实现同步块的互斥访问及线程的阻塞及唤醒等工作。然而在Java中除了提供Lock API外还在语法层面上提供了synchronized关键字来实现互斥同步原语。那么到底在JVM内部是怎么实现synchronized关键子的呢?一、synchroniz...
阅读全文
摘要:通过将部分正则表达式用括号括住来实现分组捕获的用法大部分人都很熟悉,如/.+(\d+).+/捕获字符串中的所有数字部分,然后通过组号就可以抽取出各分组匹配的字符文本或者通过反向引用的方式对分组中的文本进行替换。但是除了不同的分组用法以外,正则表达式引擎还提供了一些高级的分组功能,下面介绍部分比较常用...
阅读全文
摘要:本人最近想要研究spring的源代码,但当要导入spring sub project到Eclipse里面去的时候遇到了不少麻烦(其实都怪自己想当然)。 找到spring-framework的gitHub主页(http://springsource.org/spring-framework),也没看README部分的说明就直接copy了工程的源码下载地址https://github.com/spring-projects/spring-framework.git到SVN去下载,然后想直接通过check out把tags下面的v3.2.4.RELEASE目录下面的spring-core sub .
阅读全文