zoukankan      html  css  js  c++  java
  • 细节

    虽然不是一个做学问的人,但是在看书什么的时候,也需要了解一些细节,有些细节了解了之后,让人心中一亮,在工作中能事半功倍。

    在Java中遇到ByteBuffer,看到flip方法,这个方法让人扑朔迷离,还好这些东西都是可以模拟的,更甚者可以去查看源码,原理就在源码当中,以下是模拟的代码:

     String str = "helloWorld";
             ByteBuffer buff = ByteBuffer.allocate(13);
             
             buff.put((byte)1);
             buff.put((byte)1);
             buff.put((byte)1);
             System.out.println("position:"+buff.position()+"	 limit:"+buff.limit());
             //读取两个字节
              buff.get();
             buff.get();
             System.out.println(buff.capacity());
             byte bs= buff.get(buff.position());
            char x= (char)bs;
             System.out.println("position1:"+ (char)buff.get(buff.position()+2)+"	 limit:"+buff.limit());
             buff.mark();
             System.out.println("position:"+buff.position()+"	 limit:"+buff.limit());
             buff.flip();//读取数据前,了解字节
            System.out.println(buff.capacity());
            System.out.println("position3:"+buff.position()+"	 limit:"+buff.limit());
            //buff.compact();
            buff.get();
            buff.get();
            //buff.get();
            
             System.out.println("position:"+buff.position()+"	 limit:"+buff.limit());
    

     以下是源码:

    public final Buffer flip() {   
         limit = position;    
         position = 0;   
         mark = -1;   
         return this;   
    } 
    

     flip,一般是在读取之前使用,这里我要说的肯定不是这个的用法,而是细节的作用,在这里了解了这个细节,就知道了字符是如何读取的,或者是字节如何读取的。希望这个引起自己的注意。

    最好的老师是帮助,这句话没错,我想很多程序员对这句话都深有感触,在接触一个新东西的时候,在使用的时候一般都是打开help,从help中获取东西,对于coder来所,helper里还有很多sample,而这些helper稍微修改就可能被拿来即用,但是很少去注意到这句话。

    我是一个C#下的开发者,但是我从没注意到,VS安装后就提供了很多东西:E:Program Files (x86)Microsoft Visual Studio 10.0Samples2052CSharpSamples 里面已经提供了很多示例代码,没有一个好的学习方法,又如何能快速学习?

    网络的普及使得学东西更快,但是东西也越来越多,不可能知晓所有的东西,而且东西也可能在变化,一定要学会学会方法,以前个自己说过5W+H,但是也说过多注意细节,有的时候在想写日志其实也就是一个细节,如果写得多了,加以归类,似乎还能得到什么总结,往往看到的技术文章,很多都是作者的真知灼见,对细节的一点阐述,有只言片语,有长篇大作,那些写出来的人,其实就是针对一个问题的细节描述。

    目前的学习,一般都是从定义开始,知道这个是干什么的,然后知道应用领域,然后追求是实现过程,或者操作过程更甚者是如果运用,以便解决问题,这里面的每一个环节都有细节的东西,如何才能抓住呢?小时候看的电视,《包青天》可能为大多数人追捧,包公的铁面无私,公孙先生的博学广识,展昭的武艺高强,忠肝义胆,王朝马汉更是视死如归,就因为这样的一个组合,才能屡破奇案,喜欢过展昭,也欣赏过五鼠的情深意重,更向往过江湖的快意恩仇,这应该是跟我那个是偶同龄人的想法,也许年少无知,也许无暇思考,之所以有这样的想法,是因为电视里的细节描写很动人,有的时候一个动作,一个举止言行就可让人印象深刻以至于不忘记。开封的那些人他们之所以能屡破奇案,除了因为这样一个组合,更多的是他们善于发现细节,发现别人不善于发现的事情,并能从这些里面剖跟问题,找到答案,其实这些就是细节的作用。很多看似无关的东西,水,面粉,炉子加载一起却能做出馒头,做出面条,善于联想,善于推理,很多的元素组合在一起就可以有很多的功效。在包拯的破案中,如果忽略了任何一个细节,那么就没法继续下去,可见细节决定成败。

          又说了不少废话,希望自己以后多注意!多发现

  • 相关阅读:
    机房管理日记——2014/10/17
    ServletContext加入和访问
    打开系统设置
    阅读本书要瘦《面向对象的葵花宝典》札记-面向对象的基础
    Codeforces 327B-Hungry Sequence(素数筛)
    angularJS socket
    【Nginx】如何应对HTTP组态
    Android ActionBar详解(一):ActionBar概述及其创建
    Android高级图片滚动控件,编写3D版的图片轮播器
    Android自定义View的实现方法,带你一步步深入了解View(四)
  • 原文地址:https://www.cnblogs.com/zuiyirenjian/p/3149995.html
Copyright © 2011-2022 走看看