`
yinwufeng
  • 浏览: 286896 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
      实现原理   锁分离 (Lock Stripping)   ConcurrentHashMap允许多个修改操作并发进行,其关键在于使用了锁分离技术。它使用了多个锁来控制对hash表的不同部分进行的修改。ConcurrentHashMap内部使用段(Segment)来表示这些不同的部分,每个段其实就是一个小的hash table,它们有自己的锁。只要多个修改操作发生在不同的段上,它们就可以并发进行。   有些方法需要跨段,比如size()和containsValue(),它们可能需要锁定整个表而而不仅仅是某个段,这需要按顺序锁定所有段,操作完毕后,又按顺序释放所有 ...
为了防止SQL注入,iBatis模糊查询时也要避免使用$$来进行传值。 下面是三个不同数据库的ibatis的模糊查询传值。 mysql: select * from stu where name like concat('%',#name#,'%')  oracle: select * from stu where name like '%'||#name#||'%' SQL Server:select * from stu where name like '%'+#name#+'%  
JVM指令集及各指令的详细使用说明[转的] Java代码 指令码 助记符    说明    0x00 nop      什么都不做    0x01 aconst_null 将null推送至栈顶    0x02 iconst_m1   将int型-1推送至栈顶    0x03 iconst_0   将int型0推送至栈顶    0x04 iconst_1   将int型1推送至栈顶    0x05 iconst_2   将int型2推送至栈顶   
Webx3 初始化过程学习  引用自:http://thinkinmylife.iteye.com/blog/712885 文章分类:Java编程 这两天利用空余时间学习了webx3.0,基于spring mvc开发的一款mvc;由于对webx2.0以及spring mvc没有进行过深入的研究,在学习webx3.0的时候,肯定会出现理解上的偏差甚至错误,希望大家积极提出,有问题才是进步的动力;以前很少写文章,文笔不好,还请大家见谅,:)!无废话,开始: Web.xml,tomcat加载war包开始: Xml代码 <!-- 装载/WEB-INF/we ...
JAVA中可以使用不定参数, 例如 public void test(String ...args){...} 这里test方法可以传入参数的情况是: 1.不使用参数,如test() 2.使用一个或多个参数,如test("1"); test("1","2"); 3.使用数组 test(new String[]{"1","2"}); 在test方法内部,我们可以像使用数组的访问方式一样来访问参数args.如:args[i] 这样就有一个好处,在参数输入不定的情况下,使用这个方法非常 ...
通过Maven创建项目 前面我们讲到为什么使用Maven, Maven的安装, 与IDE的集成, 建立Nexus本地仓库, 这些都是在我们在正式创建项目的前的准备工作. 从这一章开始我们介绍利用Maven来创建, 管理我们的项目.   这里假设你已经阅读了我前面的几篇文章, 或者你已经安装了Maven, 配置好了IDE集成环境. 项目的创建大致分为两种, 一种是通过Maven的命令行来操作, 另一种是通过IDE界面环境来创建, 下面我们分别来介绍: 通过Maven命令行来创建项目Maven项目的创建是通过插件archetype(原型)来创建的, 也有人翻译成骨架, 你可以理解为Templ ...
Maven与IDE(eclipse,idea)的集成 前面我介绍了如何安装Maven到你的系统中去,下面我介绍一下如何把Maven与我们的IDE结合。  Eclipse是目前最流行的JAVA,J2EE开发环境,因为他是开源的免费的,我们接下来首先会说下如何在Eclipse下使用Maven,另外一个商业的IDE,我认为在易用性和功能上都超过Eclipse的那就是Intellij IDEA,目前的版本是8.1,也是我这些年来一直推崇和使用的IDE,我也会在介绍如何在IDEA里面使用,而且相对而言是如此的方面和简单。  在Eclipse下使用Maven在Eclipse下使用Maven是 ...
下个项目马上要从antx上转移到maven上了,赶紧补补maven的知识。     在讲为什么使用maven之前我想说一下,antx,很多人知道ant,其实antx是阿里的牛人自己搞的一套基于ant扩展的在某些方面类似于mavnen的工具,我们甚至有eclipse的antx插件,可想而知antx在阿里的项目管理中的重要地位。它有很多优秀之处: 1. 可以比较好的支持第二方库 2. 支持项目之间的依赖和继承 3. antx可以用jelly来写插件 4. car包的支持,这里简单介绍下car包: car是war包的一种中间格式,在打包的时候包含vm页面,webx.xml,classe ...
  1. Antx仓库到Maven仓库管理 Antx是通过svn来管理第二方库和第三方库的,Maven也是通过第三方工具来实现,目前比较流行的仓库管理软件是Nexus,通过 Maven仓库管理,我们既可以对第三方库进行统一管理,又可以对第二方库甚至SNAPSHOT库进行管理。我们为什么要建立一个本地仓库呢,当然你可以 通过远程的Maven仓库来获取你所需要的jar,但是建立本地仓库更高效,更利于我们的管理,我们在本地,甚至整个公司,集团建立这样一个统一仓库以 后,我们不再需要把所有的jar包都存在本地开发机了,通过Maven我们可以通过很简单的命令来发布我们的第二方库到仓库管理器。这里简单说 ...
1.Maven是什么?               首先Maven是一个项目管理工具,基于项目对象模型(POM),它主张遵循"约定优于配置"这个思想。 Maven 通过给项目提供明智的默认行为来融合这个思想。 在没有自定义的情况下,源代码假定在  {basedir}/src/main/java,资源文件假定是在{basedir}/src/main/resources 。测试代码假定是在  {basedir}/src/test 。虽然,一开始觉得Maven这么做有些霸道,但是只要我们遵循这些约定,Maven 可以使我们的项目运行更快,并且能够很方便的帮你管理项目报告,生成站点 ...
1.切换输入法可能导致 IntelliJ 突然退出 2.搜狗输入法(可能还有其他输入法)在 IntelliJ 中无法显示候选词列表。 昨天上网查找解决办法,终于找到原因了:是因为 IntelliJ 自带的 JRE 存在 BUG。 解决办法是(我的 JDK 和 IntelliJ 都安装在 D 盘): 1、下载安装最新的 JDK 2、将 D:\Program Files\java\jdk1.6.0_11\jre 目录覆盖到 D:\Program Files\JetBrains\IntelliJ IDEA 8.0.1\jre\jre 上 至此问题解决,IntelliJ 能够正常使用了。 ...
IKS workshop: semantic technology Parsing a large JSON file efficiently and easily  » In a recent keynote at SOCC, Jeff Dean of Google listed a number of design patterns for system design and a number of challenges for the future. I wrote them down, and thought I might as well share them. You can fi ...
68条Java最佳实践 这里记录的实际上是《Practical Java》一书的目录,该书共总结了68条Java开发中的最佳实践(best practice)。我把这个目录敲到这里来也有助于自己加深印象,部分术语按照我自己的习惯做了调整。对Java有所了解的同学们看了这个目录大概也能知道它在说什么,毕竟这本书是在总结经验而非描述技术细节。这里面很多条也适用于大多数其它的面向对象语言。 一般技术 实践1:参数以 by value 方式而非 by reference 方式传递 实践2:对不变的 data 和 object reference 使用 final 实践3:默认情况下所有非静态方法都可被 ...
Memcache mutex设计模式 Monday, Jul 26th, 2010 by Tim | Tags: cache, memcache, memcached, mutex 周六的S2 Web 2.0技术沙龙上介绍了memcache中使用mutex场景(文后要演讲稿),有网友对详情感兴趣,简单介绍如下。 场景 Mutex主要用于有大量并发访问并存在 ...
在spring2.0之前bean只有2种作用域即:singleton(单例)、non-singleton(也称prototype),Spring2.0以后,增加了session、request、global session三种专用于Web应用程序上下文的Bean。因此,默认情况下Spring2.0现在有五种类型的Bean。当然,Spring2.0对Bean的类型的设计进行了重构,并设计出灵活的Bean类型支持,理论上可以有无数多种类型的Bean,用户可以根据自己的需要,增加新的Bean类型,满足实际应用需求。 1、singleton作用域 当一个bean的作用域设置为singleton,那 ...
Global site tag (gtag.js) - Google Analytics