`
IcyFenix
  • 浏览: 359132 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
文章分类
社区版块
存档分类
最新评论
文章列表
趁着编辑许可,尽量多发一些独立性比较强的内容出来分享一下。 原创文章,转载请注明以下信息: 作者:icyfenix@gmail.com 来源:《深入理解Java虚拟机:JVM高级特性与最佳实践》 Java语法糖的味道:泛型与类型擦除   泛型是 ...
  高效并发是JDK 1.6的一个重要主题,HotSpot虚拟机开发团队在这个版本上花费了大量的精力去实现各种锁优化技术,如适应性自旋(Adaptive Spinning)、锁削除(Lock Elimination)、锁膨胀(Lock Coarsening)、轻量级锁(Lightweight Locking ...
先说一下大多数人都知道的。 第一个:http://www.iteye.com(www.iteye.com) 不解释。 第二个:http://www.infoq.com/cn/(英文主站:www.infoq.com) 非常著名的架构师站点,主要面向企业架构,做JaveEE方向的同学应该经常看。 第三个:http:// ...
一段值得纪念的经历。 衷心感谢撒迦的帮助和各位朋友的支持,本书大概会在5月底6月初出版 书名是《深入理解Java虚拟机:JVM高级特性与最佳实践》
  写这个主题是因为若干时间前一时头脑发热,写了这个帖子(http://www.iteye.com/topic/857722),现在看来这个帖子很幼稚,尤其是二楼= =#,后来被bugmenot同学抓到: bugmenot 写道javacoreSZ 写道IcyFenix 写道看看反应如何,好的话明天再写一篇来小淌一下“C/C++会比Java语言快多少多少倍”这浑水,也是这2天由那几张判断字符串能不能用异常的帖子中看到的观点。 这个最好还是别写,坑太大了。 而且他们性能之间的差距并不是由c++ 或 java语言本身所带来的,而是由于他们的实际编译器/虚拟机在做代码生成的时候,对代码优化的程度 ...
纯粹记录一下,JE随便遇个30帖路人都很厉害,日后多思少言,验证问题不能想当然。 http://www.iteye.com/topic/894148?page=2 一楼: mingjian01 写道kingkan 写道RednaxelaFX 写道kingkan 写道请教下前辈们: 1.手动System.gc()与JVM自动gc有什么根本 ...
引子         异常能不能作为控制流,这个争论其实已经存在了很长时间,最近gdpglc同学发的一连四张《验证String是不是整数,用异常作判断怎么了!》的帖子(前三张已经被投为隐藏帖,要看的话可以从第四张进去)令这个争端又一次成为JE主版的话题。         gdpglc同学的语气比较激烈,但发表自己观点是值得肯定的,何况异常可以作为控制流的观点,JavaEye创始人肉饼同学在2003年的时候也提出过,并且也引发了一些讨论,就在这帖子的2楼:http://www.iteye.com/topic/2038。无论是03年还是今天,反方的主流意见都无外乎两点:一是圣经上说不行,列举《Ef ...
原创,但首发于:http://www.ibm.com/developerworks/cn/java/j-lo-comet/index.html   概述 作为 Java EE 6 体系中重要成员的 JSR 315 规范,将 Servlet API 最新的版本从 2.5 提升到了 3.0,这是近 10 年来 Servlet 版本号最大的一次升级,此次升级中引入了若干项令开发人员兴奋的特性,如: 可插拔的 Web 架构(Web framework pluggability)。 通过 Annotations 代替传统 web.xml 配置文件的 EOD 易于开发特性(ease of ...
  Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。 概述:   说起垃圾收集(Garbage Collection,下文简称GC),大部分人都把这项技术当做Java语言的伴生产物。事实上GC的历史远远比Java来得久远,在1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。当Lisp还在胚胎时期,人们就在思考GC需要完成的3件事情:哪些内存需要回收?什么时候回收?怎么样回收?   经过半个世纪的发展,目前的内存分配策略与垃圾回收技术已经相当成熟,一切看起来都进入“自动化”的时代,那为什么我们还要去了解 ...
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。   概述: 对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝又是执行最 ...
这个帖子的背景是今晚看到je上这张贴:http://www.iteye.com/topic/715256,心血来潮写下的文字,如果能抛砖引玉,能有其他面试官分析一下自己面试时问的问题,那或许是件很有意义的事情。     在公司当技术面试官几年间,从应届生到工作十几年的应聘者都遇到过。先表达一下我自己对面试的观点:     1.笔试、面试去评价一个人肯定是不够准确的,了解一个人最准确的方式就是“路遥知马力,日久见人心”。通过一、二个小时内的做题、交流,只是没有其他办法下进行的无奈之举,所以通过了面试不代表有多成功,没通过也不代表有多失败。     2.好的面试官本身交谈的时候就不应当把自己一个 ...
  6.单例模式(Singleton Pattern) 前面说提到的五种创建模式,主要解决的问题是如何创建对象,获得产品。而单例模式最要关心的则是对象创建的次数以及何时被创建。   Singleton模式可以是很简单的,它的全部只需要一个类就可以完成(看看这章可怜的UML图)。但是如果在“对象创建的次数以及何时被创建”这两点上较真起来,Singleton模式可以相当的复杂,比头五种模式加起来还复杂,譬如涉及到DCL双锁检测(double checked locking)的讨论、涉及到多个类加载器(ClassLoader)协同时、涉及到跨JVM(集群、远程EJB等)时、涉及到单例对 ...
  5.原型模式(Prototype Pattern)        前面的几种模式中,我们使用了不同的构造方法(各种Factory或者Builder)去代替或者说掩盖Java语言之中“new”这个操作来创建对象实例。Java中要创建一个新的对象并不一定只能靠“new”这个关键字的,我们还有“clone()”。   在接触原型模式之前,我们先来了解一下克隆一些知识:   1.clone()方法在Java中从Object类开始就具备,并且作为原生(Native)方法出现。它默认是protected的,因此在被子类提升可见性之前,无法被外界使用。 2.所有需要进行克隆操作的类都 ...
  4.建造者模式(Builder Pattern)        GOF中各种构造模式的目的都是获取最终产品。在Terran章节中介绍了三种工厂模式的关注点仅仅是最终产品;而本章所介绍的建造者模式,关注的除了产品之外,它还关心着产品构造的细节,这一点是Builder模式和Factory模式最显著的区别。          在上一章中,我们曾经说过“使用者通常是不关心产品具体成员的创建过程的,因此也不应当把各个产品的创建过程揉合到具体逻辑之中”。大多数情况确实是这样的,但是可以想象一些特殊情况:譬如你使用Builder模式去调配一杯鸡尾酒,应当希望可以调整内部各种掺酒的比例;又或 ...
3.抽象工厂模式(Abstract Factory Pattern)        前面介绍的“简单工厂模式”和“工厂方法模式”,立足点都是避免显式的创建具体对象,封装创建对象时可能出现的变化点,这已经能比较好的解决单个对象创建的问题,但实际业务中,还经常出现需要一系列对象互相关联使用来完成任务的情况。对于存在关联、以来的产品来说,使用简单工厂或者工厂方法一个一个的创建其中的具体产品,经常无法达到理想的效果。譬如,“西装”和”短裤”都分别实现了“上衣”,“裤子”接口,分别套在身上一点问题都没有,但是实际上却不太可能穿着西装和短裤上街。          通过简单工厂或者工厂方法一个 ...
Global site tag (gtag.js) - Google Analytics