首页 > 代码库 > 编织知识网
编织知识网
今天又看了看J2SE的视频,发现自己有一肚子的话要说。不管大家喜不喜欢听,总之我要打着编织知识网的幌子,肯定是要讲给大家听了。哈哈,下图是J2SE的核心内容概框。
看到他们,我想到了很多,不说出来憋在心里难受,还是和大家分享下吧。
看到内存,我第一个想到的是数据结构。数据需要分类,所以有了堆内存和栈内存。栈类型大小固定,由系统分配,存放值类型;堆类型大小不固定,手动申请、释放。你知道当new一个对象时内存发生了什么吗?首先在栈内存声明一个变量,用于保存对象的堆内存地址,然后在堆中开辟一块空间,保存对象的属性,栈内存中的变量指向堆内存的存储空间。注意,同一类不同对象的成员方法是共享的,保存在code segment;同一类不同对象的成员变量是私有的,个人保存个人的,保存在堆空间中。
看到线程,我想到了Android中的service组件。service用于完成比较耗时的操作,所以需要单开一个线程,后台完成这些任务。单进程的执行流程是一条线走下来,多进程是各种分叉,大家分开干。
看到IO,我首先想到了家里接水用的水管,一头接着水龙头,一头接到需要用水的地方。水管粗细不合适怎么办?粗管套细管,好多粗细不同的管接在一块像什么?哈哈,设计模式中的装饰模式。
看到网络通信,第一个想到的是计算机网络,因为这是不同主机之间进行通信的问题。记得有本书上,形象的把Socket比作邮局的邮筒空,只要把信放进入,咱就可以回家睡大觉了。至于邮局怎么运,咱不操那份心。
看到OO,我想到了面向过程和SOA。米老师常说,你做完系统,我看几个点就知道你用没用面向对象的思想,比如集合和泛型。集合中的ArrayList好比数据结构中线性表中的顺序结构,LinkList好比链式结构。顺序结构方便查询,但不方便增、删;链式方便增、删,不方便查询。记得在张之阳老师讲过一个关于泛型的例子。说一个比较大小的算法,定义好形参,形参是int型,string类型无法比较大小;定义成string型,float型无法比较大小。咋办呢?用个占位符T,什么类型进来都可以比较大小。可以说泛型是对方法更高层次的一种抽象。
看到这张图,想到这么多,我想说,这张网是不是有点大了?
编织知识网