`
wupuyuan
  • 浏览: 75873 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
一、lambda含义     lambda表示数学符号“λ”,计算机领域中λ代表“λ演算”,表达了计算机中最基本的概念:“调用”和“置换”。在很多动态语言和C#中都有相应的lambda语法,这类语法都为了简化代码,提高运行效率。 二 ...
   说到业务是个让人又爱又恨的东西,客户、领导把它看的很重,不少“技术控”却瞧不起它,认为它是“低智商”的代名词。当然了,这些看法都很偏激。技术仅仅是一个工具,因“业务”的需求而诞生至使用,小说里常常写到,当一个人学会了屠龙之术,却发现天地之间没有龙给他“屠”,这个是最悲惨的事情了,这里的“龙”就是业务,“屠龙之术”就是技术,离开了业务的技术是没有意义的。    业务本身是个抽象的集合,真正把它搞懂了其实也能锻炼人的抽象能力。    说来说去“业务”是个什么东西,似乎没有明确的定义,我觉得“业务”就是个“标准”,程序员完成的系统必须满足这个“标准”,不同行业,不同硬件环境都 ...
     转眼又是一年,也是我工作的第五个年头。一直想抽时间写点这几年的工作心得,但一直没时间,今天难得空闲,可以写点。这几年下来,我担任过很过角色,码农,组长,设计/架构等都有涉及,所以总结也分3部分:团队 ...
    最近由于工作原因,写了个分析工具,否则对着日志眼睛花了……     之前对Java界面接触不多,写起来也费了翻功夫,作为一个成果先保留下。     参考过网上很多Java文本编辑的东西,总是不尽如人意,于是上传,相互学习,有问题请反馈。       功能很简单,分析日志,这里日志当然是我负责系统的日志,支持分页等基本文本功能,不足之处是读取大文件时会内存溢出,这个功能以后再加入了。附件中有一份日志文件,供跟踪代码运行使用。它也可以整理XML格式,如果需要格式化自己的日志,只需要在Analysis包和Format加入对应的分析类就OK。       代码在src.rar中。 ...
2011-11-13 参与翻译《Java虚拟机规范 (Java SE 7 中文版)》 http://www.iteye.com/topic/1117824   2012-10-9 发布《IBM虚拟机J9指南》 http://www.iteye.com/topic/1127089
    大概9月底,看见IcyFenix大大在网上寻找几个人合作翻译Java虚拟机规范1.7版,我也就不知天高地厚地报名了,其实当时也抱着试一试的态度。接下来收到了被分配到的任务,于是开始了我第一次的翻译工作。     平时对Java虚拟机也有研究,但是归咎到细节还是知道的很少。第一次面对技术文档中如此多的长句有点想抓狂的感觉,这个时候对比下来还是“有道”翻译比较给力。     国庆在家努力了很久,完成了1/3的工作量,不过翻译出来的东西也是惨不忍睹,提交后IcyFenix的回复是整理我的东西花了5个小时。并给出了两个建议。     国庆刚刚过去那会有过放弃的打算,因为手里工作有变动,怕来 ...
      之前分析了方法调用和运行的过程,基本上可以满足代码层的需求了,不过为了更好的理解调用和运行的过程,还是分析下CLASS文件的结构和他动态链接的模型。    首先还是得看下CLASS文件的结构。CLASS文件的结构分 ...
Lock和synchronized     JDK1.5以后,在锁机制方面引入了新的锁-Lock,在网上的说法都比较笼统,结合网上的信息和我的理解这里做个总结。     java现有的锁机制有两种实现方式,J.DK1.4前是通过synchronized实现,JDK1.5后加入java.util.concurrent.locks包下的各种lock(以下简称Lock)     先说说代码层的区别。     synchronized:在代码里,synchronized类似“面向对象”,修饰类、方法、对象。     Lock:不作为修饰,类似“面向过程”,在方法中需要锁的时候lock,在结束的时候 ...
    刚刚开始接触nio的时候有点迷惑,在网上也看过很多资料,大多都是讲了怎么用,没有个系统介绍。于是就花了点时间看看。    1、nio是java传统网络IO的升级版,nio和io的关系可以看成http协议和tcp/ip协议(升级版)    2、nio相比于io,是更精准的传输协议。具体的下面再说。    然后说说nio和io的比较    io传输直接是读取byte数组,由此产生的阻塞,缓冲区的额外开销等等问题在nio上没有的,原因如下:    首先看看nio的传输单元:java.nio包下的ByteBuffer,ShortBuffer,FloatBuffer,IntBuffer,Doubl ...
    记得3年前参加面试的经历还历历在目,转眼轮到我面试别人了。     前段时间部门扩充队伍,1星期电话面试了接近100人(不仅仅只有我电话面试)然后筛选20人F2F。也学到了不少东西。     不同的面试有不同的特点,作为个总结给自己用,也和大家分享。     现在大公司面试分为电话面试、笔试、和面试3个步骤。     先谈谈电话面试吧,电话里沟通比较受限制,所以问道的东西一般不会很难,东西只要讲清楚就OK。     我电话面试的时候一般问几类问题:自我介绍,介绍一个参与的项目,技术相关。     自我介绍就不多说了,网上技巧太多,只是很多人支支吾吾了半天我还是没听懂……归结于代沟 ...
之前写了JVM对方法的调用过程,这里结合锁机制讲讲方法运行的过程。     首先方法运行是在JVM的“运行时数据区”进行的,所以得了解下运行时数据区,包括如下部分(基本定义为网上都有,这里仅仅做个介绍,详细的就不 ...
最近有空,继续写写jvm的学习笔记。这次写写java中的方法调用过程。       程序在有限的资源下运行当然是越快越好,这就离不开优化。一般来说都是业务逻辑优化(这也是最有效的),说到程序的运行的优化就不得不牵扯到JVM底层的字节码了。查看字节码的方法是javap -c **.class,这里建议  javap -c **.class > **.txt  来保存成文本文件方便用工具查看。     从class生成的字节码来看,JAVA的方法调用分为4种: invokestatic、invokevirual、invokespecial、invokeinterface 。       为 ...
研究了一段时间的JVM,主要参考了《深入java虚拟机》和《java虚拟机规范》,决定写点东西总结一下。        先说说GC回收。        首先,垃圾回收由JVM的一个幽灵线程实现,它是不连续运行,就是说有间隔,并且优先 ...
Global site tag (gtag.js) - Google Analytics