- 博客(297)
- 资源 (9)
- 收藏
- 关注
原创 深入理解计算机系统(2.6)---二进制整数的乘、除法运算(重要)【困难度高】
2.5我们着重介绍了二进制整数的加、减运算,本次我们继续介绍乘、除运算。本章是迄今为止最难的一章,希望各位猿友有所收获,也别忘了“点个推荐哦”。 引言 运算一直是程序运行当中一个重要的环节,而在二进制的运算过程当中,加法运算又是重中之重,它基本上奠定了二进制运算的基础。因为无论是减法还是乘法,都可以由加法运算来替代,唯有除法不能由加法替代。 了解计算机运算的规律,可以有助
2017-03-23 11:41:41 1342
原创 强迫自己学习(心态篇),国庆,你准备去哪疯?
LZ在前面两篇文章写了一个小系列,就是程序猿应该掌握哪些知识,以及如何强迫自己学习。前面已经讨论了算法和面向对象的设计思想,其实这部分内容还没完,不过趁着国庆这个点,LZ想趁机讨论一下强迫这部分的内容,本次主要讨论的是心态,欠缺的内容之后再补。 相信自己 前段时间LZ看过一篇文章,具体名字有点记不住了,大概意思是这个世界上会有人可以完虐你,这些人在任何地方都超过你,优于你。文章
2017-03-23 11:41:37 805 1
原创 深入理解计算机系统(2.5)---二进制整数的加、减法运算(重要)
2.3我们介绍了无符号编码和补码编码,本次我们来看一下在这两种编码下,整数的运算是如何进行的。看后之余,别忘了“点个推荐哦。” 引言 平时的编程过程中,当进行整数运算时,经常会遇到一些奇怪的结果,比如两个正数加出负数,两个负数可以加出一个正数,这些都是由于数值表示的有限性导致的。下面我们来看看C语言和Java语言当中的例子。 public s
2017-03-23 11:41:34 997
原创 深入理解计算机系统(2.4)---C语言的有符号与无符号、二进制整数的扩展与截断
开篇请各位猿友允许LZ啰嗦几句,最近一直在写计算机系统原理这系列文章,也已经下定决心要把这本书的内容写完。主要目的其实是为了巩固LZ的理解,另外也想把这些内容分享给猿友们,毕竟LZ觉得这些内容对程序猿的实力还是有着很大的潜在提高的。 只是这种原理性的文章写起来相对复杂与繁琐,较对起来也比较困难,因为文章里充斥着各种各样的数学符号,不过相对于这样的写作难度来说,其受欢迎程度,
2017-03-23 11:41:31 1172
原创 程序猿应该了解的内容以及程序猿如何强迫自己学习(思考篇)
上一篇文章LZ给出了作为一个程序猿必须掌握的知识之一,也就是我们常说的算法,后面还给出了有关算法学习的建议,希望这些内容能给猿友们一些帮助,同时也希望这一系列文章能够解答一部分猿友经常问LZ的问题。 这次LZ思来想去,决定给文章起一个思考篇的名字,其实按照这个思路起名字的话,上一章应该叫做逻辑思维篇,而不应该叫算法篇。不过由于本次的重点在于思考,因此起这个题目也无可厚非了
2017-03-23 11:41:28 828 1
原创 深入理解计算机系统(2.3)---整数的表示方式精解》无符号与补码编码(重要)
上一章我们简单的介绍了布尔代数以及C语言的位运算,本次我们主要来看,二进制如何表示整数,这是很重要的一章,希望各位猿友莫要错过。 C语言中的整数类型及范围 我们依然以C语言为例,C语言当中提供了多种整数类型,一共十种,位数为1、2、4、8,其中32位机器上,4位的有两种,在64位机器上,8位的有两种。具体的LZ这里就不多做介绍了。以下是32位和64位系统上,这
2017-03-23 11:41:26 1040
原创 程序猿应该了解的内容以及程序猿如何强迫自己学习(算法篇)
记得LZ的第一篇博客发于2013-01-27 16:10,是LZ有一次上班闲下来的时候写的一篇文章,关于Jquery源码的研究成果。至今为止,断断续续也写了大半年博客,自从写博客以来,LZ间断性的收到过不少猿友的提问,这些提问中有很大一部分,是问LZ这样的问题,有很大的重复性与近似性。 “LZ,你不是学计算机的,你是怎么学习的?” “LZ,你是怎么看
2017-03-23 11:41:23 647 1
原创 深入理解计算机系统(2.2)---布尔代数以及C语言上的位运算
布尔代数上的位运算 布尔代数是一个数学知识体系,它在0和1的二进制值上演化而来的。 我们不需要去彻底的了解这个知识体系,但是里面定义了几种二进制的运算,却是我们在平时的编程过程当中也会遇到的。这四种运算分别是或、与、非和异或。下图展示了在布尔代数的知识体系中,对这四种运算的定义。 从左至右依次是非、与、或以及异或。这
2017-03-23 11:41:20 658
原创 深入理解计算机系统(2.1)---信息的存储与值的计算
上一章(1.1-1.4)LZ和各位简单的探讨了一下计算机系统中的一些基本概念,本次我们将进入一个崭新的世界。在1.1那一章当中,我们已经简单的提及了信息的概念,本次我们会逐渐深入的讨论信息的相关内容。 引言 我们很难想象,1和0这两个再简单不过的数字,给计算机科学带来了彻底的改变。对于无法与人脑相比的计算机来说,简单的1和0就是最适合它们的数字
2017-03-23 11:41:17 721
原创 深入理解计算机系统(1.4)---并发与并行、浅谈抽象
引言 并发与并行一直是IT界炙手可热的词汇,相信各位猿友都不会陌生。在计算机系统这本书当中,对并发与并行的解释是,并发是指一个同时具有多个活动的系统,而并行则是指的用并发使得一个系统运行的更快。 这与LZ之前的理解应该是不冲突的,在LZ之前看来,并发是一种模式,而并行是实现这种模式的手段之一。 线程级并发
2017-03-23 11:41:14 510
原创 深入理解计算机系统(1.3)---金字塔形的存储设备、操作系统的抽象概念
上一章LZ给各位展示了一下hello程序的简单执行过程,可以看出在这一过程当中,系统在数据的传输上花费了大量的时间。硬件开发商为了减少这种数据传输的时间成本,采用一种高速缓存的技术去减少这种时间成本。 高速缓存被置放于处理器当中,与处理器中的寄存器文件直接进行数据交换,这样大大减少了数据传输的时间成本,使得程序的运行速度可以得到数倍的提升。而作为一个程序猿,如果可以适当的利
2017-03-23 11:41:09 1550
原创 深入理解计算机系统(1.2)---hello world的程序是如何运行的
在写本章的内容之前,LZ先做个小广告。其实也不算是什么广告,就是LZ为了和各位猿友交流方便,另外也确实有个别猿友留言或者在博客里发短消息给LZ要联系方式。因此LZ斗胆建立了一个有关《深入理解计算机系统》这本书的交流群,当然了,如果有哪位猿友有其它方面的问题,也可以在群里提出,如果LZ有能力帮忙的话会尽量帮助各位,倘若LZ能力不足,或许也会有其它猿友可以解答。 群号在文章里就
2017-03-23 11:41:06 692
原创 深入理解计算机系统(1.1)---计算机概述
本来LZ是打算好好研究一下JVM源码的,不过想来想去,LZ觉得应该先了解计算机系统的原理,再去研究JVM源码的精妙。因此LZ决定潜下心来好好研究下计算机系统原理,这是一个漫长的过程,因为《深入理解计算机系统》这本书很厚,而且这种书一般看起来速度不会太快。因此LZ打算做好每一个阶段的记录,有兴趣的猿友可以跟着LZ一起看下,了解计算机系统的运行原理其实是很有必要的。 计算机的组成
2017-03-23 11:41:03 715
原创 算法(JAVA)----两道小小课后题
LZ最近翻了翻JAVA版的数据结构与算法,无聊之下将书中的课后题一一给做了一遍,在此给出书中课后题的答案(非标准答案,是LZ的答案,猿友们可以贡献出自己更快的算法)。 1、编写一个程序解决选择问题。令k=N/2,画出表格显示程序对于N种不同的值的运行时间。 分析:选择问题是指从N个数当中,按升序(降序也可以)排列,找出第k个数。LZ的写法是采用书中给出的算法自己实
2017-03-23 11:41:00 519
原创 编程?事业?
引言 最近LZ无意间翻开了博客园一名知名作者的博客,当中写了一篇文章叫也谈成功,有兴趣的朋友可以先去看一下,个人觉得还是蛮有感触的。 确实如Jimmy Zhang的文章中所说,什么叫成功这个问题实在是不好回答,这就像讨论人活着的意义一样,没有什么答案。其实说成功是目标的实现也是非常难以判断的,这主要是因为人的目标总是随着年龄在不断的变化。
2017-03-23 11:40:57 730 1
原创 今天你加班了吗?论成长路!
昨天LZ写了篇有关培训机构的文章,目的主要在于给有意向进培训机构的猿友们一个参考,希望能有更多的猿友得到了帮助。最近两天LZ也发现了,在周末的时候,博客园内的文章阅读量会骤然下降,不知道这一批猿友周末都干嘛去了呢? 难道是在加班? 开个玩笑,别当真,0.0。说起加班,真的是有人欢喜有人忧,有人喜欢有人厌。这就像找女朋友似的,萝卜白菜各有所爱,加班
2017-03-23 11:40:54 984
原创 进培训机构需要谨慎,在培训机构需要玩命,出培训机构需要坚持!
上一篇文章LZ和各位分享了自己工作当中做事的方式与思路。当然,其中褒贬不一,有被LZ一下点醒的,也有和LZ争论的。不过这些都无所谓,LZ深知一篇文章是不可能满足所有人口味的,因此对于任何给予LZ评论和建议的猿友,LZ一直都抱着感谢的心情。尽管有些时候,LZ会与一些批判LZ的猿友进行一些讨论或者说辩论,不过这些过程总会让LZ一次次加深理解,有新的感悟,LZ受益匪浅。 在开始讨论正
2017-03-23 11:40:51 3994 9
原创 用脑子写程序,鄙人就是这样完成一个需求的,您呢?
各位猿友,LZ有礼了。 上一篇文章LZ与各位猿友讨论了懒与勤快的内容,引起了小小的争议。有支持LZ的,也有批判LZ的。本次开篇LZ准备先让各位批判与支持LZ的猿友露个脸,都是一些热心的猿友。 首先是支持LZ的,这里给出部分猿友的回复,非常感谢各位。#2楼 2013-09-11 06:34 | 飞扬青云 楼主就是在静静的时候思考后写下这篇文章
2017-03-23 11:40:48 1122 3
原创 JVM内存管理------垃圾搜集器参数精解
本文是GC相关的最后一篇,这次LZ只是罗列一下hotspot JVM中垃圾搜集器相关的重点参数,以及各个参数的解释。废话不多说,这就开始。 垃圾搜集器文章传送门 JVM内存管理------JAVA语言的内存管理概述 JVM内存管理------杂谈(借此也论一论obj=null) JVM内存管理------GC简介
2017-03-23 11:40:46 625
原创 杂谈-----程序猿的几个境界,您属于哪一重呢?
好几天没写博文了,最近LZ在研究如何编译和调试JAVA虚拟机的源码,如今已经小有收获,LZ已经可以成功的调试System.out.println("hello world!")这样的程序了,很有感觉吧。过几天LZ会将这部分内容阐述一下,不过在此之前,还有GC相关的最后一章。不过这最后一章其实已经没什么写的了,主要是参数的罗列以及参数的说明。 本文LZ和各位探讨一下程序猿的几个境
2017-03-23 11:40:43 776 2
原创 杂谈---小故事小道理,面试中的小技巧(NO.2)
本篇是接着上一篇面试随笔的,上一次有猿友反应写的有些“扯淡”,LZ思来想去最大的原因可能是由于上一章写的全是一些大忌,既然是大忌,那么在现实当中发生的概率还是相对较小的,大部分人还是很少在面试中犯如此重大的失误。不过只要能有一部分人从中获益,那么LZ费尽脑子码的字就没有白费。 本次为了更贴近现实,打入群众,LZ写上两个小技巧或者说小提示,希望能与更多的猿友产生共鸣吧。
2017-03-23 11:40:40 879
原创 JVM内存管理------垃圾搜集器精解(让你在垃圾搜集器的世界里耍的游刃有余)
引言 在上一章我们已经探讨过hotspot上垃圾搜集器的实现,一共有六种实现六种组合。本次LZ与各位一起探讨下这六种搜集器各自的威力以及组合的威力如何。 为了方便各位的观看与对比,LZ决定采用当初写设计模式时使用的方式,针对某些搜集器,分几个维度去解释这些搜集器。 client模式与server模式 在介绍本章内容之前
2017-03-23 11:40:37 780
原创 杂谈---程序猿的悲催事儿,您怎么看?
LZ最近在写各个垃圾搜集器的性能对比与适用场景,不过由于JVM资料的匮乏,LZ还在深入的研究当中,力求做到清晰准确,通俗易懂。因此这篇文章还在酝酿当中,可能时间会比较长点,不知道有没有人在等呢?说不定LZ想多了,哈哈。 好了,废话不多说,来看看本次LZ想与各位猿友讨论的事吧。 在作为一个程序猿的过程中,或许不可避免的都会遇到一些烦心事,或者非常让人难以容忍的
2017-03-23 11:40:34 735
原创 JVM内存管理------垃圾搜集器简介
引言 上一章我们已经探讨过GC的各个算法,那么垃圾搜集器是什么呢? 通俗的讲,使用编程语言将算法实现出来,产生的程序就是垃圾搜集器了。既然谈到了编程语言的实现,那么在讨论垃圾搜集器的时候,就已经涉及到具体的虚拟机实现了。 或许有不少做JAVA开发的猿友还不知道,我们平时使用的JDK中,默认的JVM是hotspot,换句话说,我们大部分时候
2017-03-23 11:40:31 578
原创 杂谈---这些大忌,你在面试的时候发生过吗?(NO.1)
面试是大部分人的人生当中难免会遇到的一件事,那么具体在面试当中有哪些忌讳呢? 说到面试,在这里尤其特指技术岗位的面试,很多时候,结果并不仅仅取决于你的技术广度与深度,亦或是你的笔试分数,这当中还有很多不为人知的因素影响着面试结果。 LZ在这里列出一些小故事,以表现面试中的一些大小忌讳。本次主要是三个大忌,后续还会有一些其它的内容,这部分内容与JVM不定时
2017-03-23 11:40:28 1048 1
原创 JVM内存管理------GC算法精解(五分钟教你终极算法---分代搜集算法)
引言 何为终极算法? 其实就是现在的JVM采用的算法,并非真正的终极。说不定若干年以后,还会有新的终极算法,而且几乎是一定会有,因为LZ相信高人们的能力。 那么分代搜集算法是怎么处理GC的呢? 对象分类 上一章已经说过,分代搜集算法是针对对象的不同特性,而使用适合的算法,这里面并没有实际上的新算法产
2017-03-23 11:40:26 587
原创 JVM内存管理------GC算法精解(复制算法与标记/整理算法)
本次LZ和各位分享GC最后两种算法,复制算法以及标记/整理算法。上一章在讲解标记/清除算法时已经提到过,这两种算法都是在此基础上演化而来的,究竟这两种算法优化了之前标记/清除算法的哪些问题呢? 复制算法 我们首先一起来看一下复制算法的做法,复制算法将内存划分为两个区间,在任意时间点,所有动态分配的对象都只能分配在其中一个区间(称为活动区间),而另外一个区间(称为空
2017-03-23 11:40:23 866
原创 JVM内存管理------GC算法精解(五分钟让你彻底明白标记/清除算法)
相信不少猿友看到标题就认为LZ是标题党了,不过既然您已经被LZ忽悠进来了,那就好好的享受一顿算法大餐吧。不过LZ丑话说前面哦,这篇文章应该能让各位彻底理解标记/清除算法,不过倘若各位猿友不能在五分钟内看完,那就不是LZ的错啦。 好了,前面只是小小开个玩笑,让各位猿友放松下心情。下面即将与各位分享的,是GC算法中最基础的算法------标记/清除算法。如果搞清楚这个算法,那么后面两个
2017-03-23 11:40:20 1511
原创 杂谈---LZ的编程之路以及十点建议
LZ本人是09年毕业的,在某二流本科院校学的非计算机专业,在兴趣的驱使之下,最终毅然决然的走上了编程这一条“不归路”。 说起LZ的经历虽不算是跌宕起伏,但也真正算是人生无常。 当初09年7月回到家里,由于LZ学习的数学专业,除了考教师之外几乎没有合适的工作可选,而LZ当时玩心未退,没有立即寻找工作,而是先去驾校考了个至今没用过的驾照(LZ驾龄四年,几乎没开过车,
2017-03-23 11:40:17 1221 5
原创 JVM内存管理------GC简介
为何要了解GC策略与原理? 原因在上一章其实已经有所触及,就是因为在平时的工作和研究当中,不可避免的会遇到内存溢出与内存泄露的问题。如果对GC策略与原理不了解的情况下碰到了前面所说的问题,很多时候会让人不知所措。 当我们了解了相关知识以后,虽然有时候依然不能很快的解决问题,但可以肯定的是,至少不会出现无计可施的情况。 GC策略解决了
2017-03-23 11:40:11 715
原创 JVM内存管理------杂谈(借此也论一论obj=null)
各位园友好,LZ是从某网站转战过来的博主,看到这里很多博主都称看友们为园友,LZ斗胆模仿一下,不过以前,LZ其实都是称看友们为猿友的。之前LZ在某网站已经写了一系列文章,已经全部复制到了园内的新博客,主要是设计模式的内容,各位有兴趣的也可以去翻看一下,其中有不少还是颇受之前猿友们喜爱的。 作为一个程序猿,修炼的过程就犹如玄幻小说中的主角,不仅需要练习各种武技,内气的修炼的
2017-03-23 11:40:08 1278
原创 JVM内存管理------JAVA语言的内存管理概述
引言 内存管理一直是JAVA语言自豪与骄傲的资本,它让JAVA程序员基本上可以彻底忽略与内存管理相关的细节,只专注于业务逻辑。不过世界上不存在十全十美的好事,在带来了便利的同时,也因此引入了很多令人抓狂的内存溢出和泄露的问题。 可怕的事情还不只如此,有些使用其它语言开发的程序员,给JAVA程序员扣上了一个“不懂内存”的帽子,这着实有点让人难以接受。毕竟JAV
2017-03-23 11:40:05 1026
原创 万能的林萧说:我来告诉你,一个草根程序员如何进入BAT。
引言 首先声明,不要再问LZ谁是林萧,林萧就是某著名程序员小说的主角名字。 写这篇文章的目的其实很简单,算是对之前LZ一篇文章的补充和完善。 之前LZ写过一篇《回答阿里社招面试如何准备,顺便谈谈对于Java程序猿学习当中各个阶段的建议》,那篇文章LZ主要介绍了如何应对社招面试,以及如何进行Java学习。 文章的反响还不错,不少猿友都感叹,“如果早看到这篇文章,说不定
2016-10-31 02:55:51 8185 10
原创 一个屌丝程序猿的人生(十一)
林萧到家的时候,已经接近夜里12点。韩霞原本都已经睡着了,听到房门的动静以为是林天长回来了,结果出来一看才知道,是自己的儿子从郑州回来了。 原本韩霞看到儿子回来,是有一肚子疑问要问的。但看到儿子的脸色,就知道自己这些问题基本上不用问了,肯定是工作没找到,从郑州逃回来了。 林萧进了家门以后,和母亲简单打了个招呼,就放下手中的行李,钻进了自己房间。 一进房间,林萧几乎是没
2016-05-18 23:56:02 8062 11
原创 一个屌丝程序猿的人生(十)
“哎,请先等一下。” 一个动听悦耳的声音在林萧身后响起。林萧发誓,在他的印象中,这是他从出生到现在听到过最好听的声音。 “你......叫我吗?”转过身后,林萧手指着自己疑惑的问道。 “恩恩,就是你。”前台小妹拿着简历晃了晃,点了点头说道。 林萧无法形容自己此刻的心情,有激动、有心酸、有紧张,还有那一闪即逝的茫然。 前台小妹说完以后,就拿着林萧的简
2016-05-18 23:55:23 8516 17
原创 一个屌丝程序猿的人生(九)
林萧一大早一共挑了24家公司,这些公司乍一看去毫无规律,但如果仔细观察的话会发现,这些公司全是游戏公司。 没错!林萧要霸面的全都是游戏公司,而且职位全都是游戏开发。 郑州盛天科技有限公司,这便是林萧准备挑战的第一家公司。之所以选择这家公司,倒没有什么特别的原因,只是因为它离林萧目前的位置最近。 林萧按照纸上记得路线,终于找到了这家公司。当他看到耸立在面前的大厦时,不禁
2016-05-18 23:54:30 6541 7
原创 一个屌丝程序猿的人生(八)
2010年的8月份,林萧最终还是离开了工地。走的时候,王总亲自把林萧送出了工地,心中连连暗喜终于把这小祖宗给送走了。 韩霞一开始是不同意林萧离开工地的,但是听到林萧主动表示,他不是要回家,而是要去郑州找工作的时候,韩霞几乎是毫不犹豫的就答应了。没有任何迟疑的,就在打电话的当天,韩霞便开车将林萧从工地接了回来。 在家休养生息了两天之后,林萧便迫不及待的,独自一人踏上了去往郑州的客
2016-05-18 23:53:32 9403 21
原创 一个屌丝程序猿的人生(七)
一天早晨,大家都刚刚吃完早餐,正准备到办公室拿完家伙上工地干活,林萧和李丹也同样在人群之中。 然而,就在众人刚刚走到办公室门口,准备进屋的时候,背后的空地上却传来了一道刺耳的刹车声。 “吱......” 听到这道声音,众人都忍不住回头朝办公室前的空地上看去,林萧和李丹也同样准备回头。不过还没等二人回过头来,林萧就听到了自己的室友张树尖叫的声音。 “卧槽!竟然
2016-05-12 13:40:16 6752 26
xxoo-1.0.0.RELEASE(原xml和JAVA对象转换 simple-xml2object)
2014-01-04
【zfind】简单的C/C++宏定义和类定义搜索工具
2013-07-06
xml和JAVA对象转换 simple-xml2object
2013-03-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人