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