
找工作
文章平均质量分 65
Kaiwii
单调,简单
展开
-
关于基本类型的简单赋值和复合赋值运算
通过阅读下面转载的文章,Kaiwii学习到以下的内容:1、需要判断一个变量的类型,可以采用下面的方式完成:假如我要弄清楚2.0/SAMPLING_COUNT的结果的类型,Kaiwii可以这样做:Object var=2.0/SAMPLING_COUNT;System.out.println(var.getClass().getSimpleName());2、可以通过查看和比较生成转载 2012-03-23 16:44:53 · 1597 阅读 · 0 评论 -
补码综合理解
一、名词解释:补码:1 在计算机系统中,数值一律有补码来表示(存储). 使用补码,可以将符号位和其他位统一处理;同时,减法也可按加法来处理.另外,两个用补码表示的数据相加时候,如果最高位(符号位)有进位,则进位被舍弃.2 补码与原码的转换过程几乎是相同的数值的补码表示也分两种情况: (1)正数的补码:与原码相同. 例如,+9的补码是00001001(2)原创 2012-10-01 07:18:27 · 2205 阅读 · 6 评论 -
Java.util.Collections类包的学习
Java.util.Collections类包的学习 1. 描述: 1.1 概述 java.util.Collections类包含很多有用的方法,可以使程序员的工作变得更加容易,但是这些方法通常都没有被充分地利用。Javadoc给出Collections类最完整的描述:“这一个类包含可以操作或返回集合的专用静态类。” 1.2 所含方法 Iterator, ArrayList转载 2012-09-16 11:26:36 · 1023 阅读 · 0 评论 -
二叉树笔记-理论篇
觉得关于二叉树,掌握下面的知识点应该就差不多的第一、完全二叉树与满二叉树是不一样的:1、满二叉树是完全二叉树的一种。2、两者的联系:满二叉树就是每一层都是满的,而完全二叉树,可以在最后一层右面的叶子地方有所缺失。所以,完全二叉树如果每一个节点都编号的话,那么这些编号将会与其层数一样的满二叉树的节点编号一样其他不同与相同,可以根据上面三点类推之……第二、假设度数为1的节点数目原创 2012-10-06 10:36:32 · 958 阅读 · 0 评论 -
CPU寻址范围(寻址空间)一系列问题
一、什么叫寻址空间?寻址空间一般指的是CPU对于内存寻址的能力。通俗地说,就是能最多用到多少内存的一个问题。数据在存储器(RAM)中存放是有规律的 ,CPU在运算的时候需要把数据提取出来就需要知道数据在那里 ,这时候就需要挨家挨户的找,这就叫做寻址,但如果地址太多超出了CPU的能力范围,CPU就无法找到数据了。 CPU最大能查找多大范围的地址叫做寻址能力 ,CPU的寻址能力以字节为单位。通转载 2012-10-06 17:54:40 · 1356 阅读 · 0 评论 -
java.lang.Comparable 接口 详解
public interface Comparable此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的 compareTo 方法被称为它的自然比较方法。实现此接口的对象列表(和数组)可以通过 Collections.sort(和 Arrays.sort)进行自动排序。实现此接口的对象可以用作有序映射中的键或有序集合中的元素,无需指定比较器。对于类 C转载 2012-09-16 09:36:53 · 837 阅读 · 0 评论 -
Java中关于可变长参数的那些事[参数中使用省略号的情况]
可变长参数: 底层就是一个数组,只能出现在方法的形参里,不能定义1)可变长参数的方法只有在必须的时候才会调用,如果有确切匹配的不可变参数的方法,会优先选择不可变参数的方法;2)如果两个方法都是可变长参数,都能匹配时,会编译通不过;编译器不知道调用哪个;3)一个方法只能有一个可变长参数,并且这个可变长参数必须是该方法的最后一个参数;例子:main 方法就是转载 2012-09-16 11:40:39 · 6631 阅读 · 0 评论 -
ArrayList、Vector、LinkedList区别
关于这三者的区别,很久之前的时候已经懂了。但是,如果要在面试的时候,准确说出来还是有一定难度。特别是,最近几回都是打酱油去裸考的……好吧,现在就自己粗浅的理解,谈谈吧……ArrayList和Vector应该可以归到一类上去。因为,两者底层都是借着一个数组的,所以显然易见,两者通过索引号(也就是说,所谓的数组下标)可以轻易地检索到索引号所指示的元素;但是若然需要增/删、修改元素就会显得十分吃原创 2012-09-16 11:15:32 · 1283 阅读 · 0 评论 -
集合之HashSet/TreeSet原理
Set集合 1.HashSet 只去重复, 没有顺序 HashSet的add方法会调用hashCode和equals, 所以存储在HashSet中的对象需要重写这两个方法. 2.TreeSet 去重复, 并且可以按照某种顺序排序 TreeSet的add方法会将对象转为Comparable, 然后调用compareTo方法, 所以存储在TreeSet中转载 2012-09-18 09:06:19 · 4742 阅读 · 1 评论 -
java学习笔记:集合框架之TreeSet
|--------TreeSet 数据结构是二叉树,比较方式很优秀,遍历的速度很快。TreeSet可以对集合中的元素进行排序:一、让元素自身具有比较性: 实现Comparable接口,并且覆盖里面的compareTo方法。通过teturn 0判断元素是否相同,来保证数据的唯一性。[java] view plaincopyprint?cla转载 2012-09-17 14:45:18 · 965 阅读 · 0 评论 -
java中使用队列:java.util.Queue
注意:这个只是一个接口而已 在java5中新增加了java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.Collection接口。Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取并移出元素。它们的优点是通过返回值可以判断成功与否,add()和remove()转载 2012-09-19 14:44:34 · 1036 阅读 · 0 评论 -
实现Queue接口的ArrayDeque类
Queue接口public abstract boolean add(E paramE); public abstract boolean offer(E paramE); public abstract E remove(); public abstract E poll(); Queue接口提供了以上几个方法。看了ArrayDeque类的源码。有以下几点转载 2012-09-19 15:04:06 · 8691 阅读 · 0 评论 -
linux中fork()函数详解(原创!!实例讲解)
一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来转载 2012-09-24 09:53:00 · 1176 阅读 · 0 评论 -
如何将中缀式转化成前缀式和后缀式(波兰和逆波兰)(适合考试使用的简单办法)
35,15,+,80,70,-,*,20,/ //后缀表达方式(逆波兰) (((35+15)*(80-70))/20)=25 //中缀表达方式 /,*,+,35,15,-,80,70, 20 //前缀表达方式(波兰) 人的思维方式很容易固定~~!正如习惯拉10进制。就对2,3,4,8,16等进制不知转载 2012-09-26 08:53:53 · 2511 阅读 · 0 评论 -
过桥问题和倒水问题算法
过桥问题和倒水问题都是笔试面试中的热门智力题,不但微软、GOOGLE、百度、腾讯等公司采用,甚至在IQ测试与公务员考试中都能见到。本文不但教你如何快速用手算来解决这两种问题,并且教你如何用程序代码来计算这两种问题。绝对让你大有收获。一.过桥问题在漆黑的夜里,四位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借助手电筒的话,大家是无论如何也不敢过桥去的。不幸的是,四个人一共只带了一只转载 2012-09-26 09:25:02 · 3437 阅读 · 3 评论 -
解题笔记(37)——Catalan数计算及应用
问题描述:卡塔兰数,是组合数学中一个常出现在各种计数问题中出现的数列。输入一个整数n,计算h(n)。其递归式如下:h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0) (其中n>=2,h(0) = h(1) = 1) 该递推关系的解为:h(n)=C(2n,n)/(n+1) (n=1,2,3,...) 思路:直接根据递归式,转载 2012-09-25 16:22:24 · 971 阅读 · 0 评论 -
拓扑排序
拓扑排序是对有向无环图的一种排序。表示了顶点按边的方向出现的先后顺序。如果有环,则无法表示两个顶点的先后顺序。在现实生活中,也会有不少应用例子,比如学校课程布置图,要先修完一些基础课,才可以继续修专业课。一个简单的求拓扑排序的算法:首先要找到任意入度为0的一个顶点,删除它及所有相邻的边,再找入度为0的顶点,以此类推,直到删除所有顶点。顶点的删除顺序即为拓扑排序。 很容转载 2012-09-25 16:42:42 · 867 阅读 · 0 评论 -
Java中对象的串行化(Serialization)和transient关键字
Kaiwii总结之:持久化(将对象保存到永久介质中)是目的串行化(使得对象的非static字段能够通过流的方式进行传输)是手段:(因为将内容写到永久介质中的其中一个手段就是流操作)transient是补充:因为一旦某个类实现了串行化接口的化,那么所有的字段都会进行流处理;但是某些字段只能是临时的,或者不希望进行串行化的化,就可以通过这个关键字的声明使得其字段不串行化!!!!!!!!转载 2012-09-25 15:15:42 · 1042 阅读 · 0 评论 -
从劫匪的行动来看同步、异步、阻塞、非阻塞
劫匪冲进某花园小别墅,端着AK47,向某衰男甩过去一个袋子:说,快,把现金拿出来给我放进去,这个时候劫匪一直跟着衰男去装钱,看钱装满了他就拿走,此时劫匪是阻塞 的,因为劫匪不能干其他的,得看着这个衰男,免得他搞鬼。想象下,如果劫匪等衰男自己去装钱,在钱装满之前,他自己可以到处翻箱倒柜,找点值钱的首饰黄金之类的,那么这个时候劫匪就是非阻塞 的,因为劫匪并没有阻塞在衰男去装钱这个环节上,劫匪可转载 2012-09-28 11:33:12 · 1747 阅读 · 1 评论 -
int *p1 = new int[10]; int *p2 = new int[10](); 的区别
我的理解是 int *p2 = new int[10]();申请了空间,而且进行了初始化int *p1 = new int[10];只申请空间,没有进行初始化原因:对于一些结构体,我们可以看到()往往表示构造函数,int是基本类型算初始化吧理由:你可以测试输出两种的值你会发现p1的值未知,而p2清零了转载 2012-09-27 20:22:31 · 7885 阅读 · 0 评论 -
数位全排列算法(可重复)之求和:非递归求法
问题描述:任意给定一个5位以内的整数(其中这个数字各个数位都不含有0,但是允许数位上的数字重复),然后对这个数字的各个数位的数字任意颠倒,成为新的数字组合,然后对这个组合里面的数字进行求和。举个例子说明一下:假如给定数字123,那么组合里面的数字可以是,132,213,231,312,321,123再例如,233,那么组合里面的数字就可以是,233,323,332再例如,222,那原创 2012-03-22 16:44:31 · 4401 阅读 · 0 评论 -
深入理解abstract class和interface
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很转载 2012-03-17 16:38:25 · 572 阅读 · 0 评论 -
java中heap 与 stack 的区别
总结在Java里面Heap和Stack分别存储数据的不同。 Heap(堆) Stack(栈) JVM中的功能 内存数据区 内存指令区 存储数据 对象实例(1) 基本数据类型, 指令代码,常量,对象的引用地址(2) 1. 保存对象实例,实际上是保存对象实例的属性值,属性的类型和对象本身的类型标记等,并不保存对象的方法(方法是指令,保存在stack中)。 对象实例在heap中分转载 2012-03-17 17:01:05 · 916 阅读 · 0 评论 -
数据库范式通俗理解
基础概念 要理解范式,首先必须对知道什么是关系数据库,如果你不知道,我可以简单的不能再简单的说一下:关系数据库就是用二维表来保存数据。(可以参看我给你发的数据库方面的资料)然后你应该理解以下概念:l 实体:现实世界中客观存在并可以被区别的事物。比如“一个学生”、“一本书”、“一门课”等等。值得强调的是这里所说的“事物”不仅仅是看得见摸得着的“东西”,它也可以是虚拟的,比如说转载 2012-03-18 09:45:13 · 9405 阅读 · 1 评论 -
system idle process
我的大概理解是:Idle的中文意思是空闲的意思。这个是一个虚拟的进程。这个进程显示出来占用的资源其实是系统的空闲资源。原创 2012-03-23 09:18:38 · 1320 阅读 · 0 评论 -
关于dword ptr 指令的意思
dword 双字 就是四个字节ptr pointer缩写 即指针[]里的数据是一个地址值,这个地址指向一个双字型数据比如mov eax, dword ptr [12345678] 把内存地址12345678中的双字型(32位)数据赋给eax赞同.5 指令要处理的数据有多长?CPU的指令,可以处理两种尺寸的数据,byte(8位)和w转载 2012-03-23 09:54:08 · 37502 阅读 · 2 评论 -
java中的NaN
NaN就是一个常量值,表示某一个对象是非数量而已。不过,这个值只能存在于double,float这些浮点类型变量的值中。下面是转载的文章,估计足以说明这个主题:今天调试程序时,意外的发现java的浮点数中也有NaN,留下来做个记录。Java代码 /** * 测试java浮点数中存在的NaN * @author ayis * * Feb 23, 2009转载 2012-03-23 15:53:12 · 1062 阅读 · 0 评论 -
java io InputStream Reader
There are 2 types of IO stream1. Byte streams that are subclasses of InputStream or OutputStream2. Character streams that are subclasses of Reader and Writer InputStream/OutputStream and Reade转载 2012-04-28 09:46:17 · 1003 阅读 · 0 评论 -
云计算与网格计算
读书笔记:kaiwii的理解:1、网格计算如同联邦国家,遇到外敌入侵,就需要各自分配一定资源,来对抗外敌。而网格计算就是,异构的计算机共享一定资源(包括计算资源、储存资源),来共同完成一件单一计算机不能完成的任务。所以,网格计算比较适合桌面平台的时代,就是算单一计算机有一定的 运算能力,但是还不强的时代2、云计算。就是计算机资源集中在少数,机构手上,用户通过按照自己的需要向这些机构购买原创 2012-05-01 11:29:34 · 1145 阅读 · 0 评论 -
神马的SaaS
对于这个概念,kaiwii是这样子理解的。比如我需要满足我们的出行要求,我们可以买一台车,也可以直接打出租车。而传统软件的交付模式就好比买一台车,那么购买这台车以后你的所有费用就由你自己负责了。而saas就好比打出租车。你只需要支付你的路费,其他路费、维护费用,一切都由出租车司机负责。其实,saas的优势是很明显的,就好像Kaiwii刚才举的例子。如果,你已经买车了,那么你情愿是不会换车的,就原创 2012-05-02 08:21:04 · 954 阅读 · 0 评论 -
java的堆与栈(内存分配策略)
内存分配策略 按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的. 静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编译时就可以给他们分配固定的内存空间.这种分配策略要求程序代码中不允 许有可变数据结构(比如可变数组)的存在,也不允许有嵌套或者递归的结构出现,因为它们都会导致编译程序无法计算准确的存储空间需求.栈式存储分配转载 2012-05-09 09:42:01 · 755 阅读 · 0 评论 -
ArrayList Vector LinkedList 区别与用法
ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要转载 2012-05-09 14:09:36 · 563 阅读 · 0 评论 -
详解Spring中bean的作用域
Spring中bean的作用域用scope来表示。scope的值有两个:singleton为单粒,即Spring IoC容器只会创建该bean的唯一一个实例,这也是默认的。该实例就会一直放在缓存里供大家使用。AD: Spring中bean的作用域Spring中bean的作用域用scope来表示。scope的值有两个:singleton为单转载 2012-05-16 15:47:07 · 1044 阅读 · 0 评论 -
JVM 启动调优
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同转载 2012-09-26 08:22:20 · 798 阅读 · 0 评论 -
如何将中缀式转化成前缀式和后缀式(波兰和逆波兰)结合二叉树(适合数据结构方面的理解)
一、表达式与二叉树的关系前缀表达式对应于二叉树的前序遍历;中缀表达式对应于二叉树的中序遍历;后缀表达式对应于二叉树的后序遍历; 二、根据中缀表达式生成二叉树中缀表达式:a + b * (c - d) - e / f中序遍历为:左儿子、右儿子、根节点(Kaiwii改正为:左儿子、根节点、右儿子)按照操作符的优先级,其二叉树生成过程为:转载 2012-09-26 09:05:15 · 2996 阅读 · 0 评论 -
对于一个内存地址是32位、内存页是8KB的系统。0X0005F123这个地址的页号与页内偏移分别是多少
对于一个内存地址是32位、内存页是8KB的系统。0X0005F123这个地址的页号与页内偏移分别是多少?东西很简单,只是年代久远,本科学的东西早就忘光了。阅读完这边参考资料,相信你也能够做出来的!!!!!!!参考资料:http://download.youkuaiyun.com/detail/kaiwii/4603957答案:页号是47页,页内偏移量应该是0X00001123原创 2012-09-27 20:14:07 · 8569 阅读 · 0 评论 -
如果X大于0并小于65536,用移位法计算X乘以255的值?(通过二进制位移实现乘法或者除法)
如果X大于0并小于65536,用移位法计算X乘以255的值?解答:step1:将X作为一个二进制数,左移8位,相当于10进制中乘以256【数学公式为Xstep2:因为题目需要的是乘以255,而不是256.所以,需要减回一个x才行。【step1的结果减去x】注意:因为位移运算的优先级低于加减法,所以,需要使用括号来提高位移的优先级。所以,最终答案为:(x原创 2012-09-27 20:12:40 · 4460 阅读 · 0 评论 -
软件开发模型介绍、总结归纳
瀑布模型描述:每个软件过程顺序衔接、一次性通过,最常用。优点:由文档和风险驱动,利于提高大型项目开发的质量和效率。缺点:建设周期长、风险大、难以满足用户需求。适用场合:需求明确且很少变更的项目,如二次开发或升级型项目。螺旋模型描述:以原型为基础沿螺线旋转、每转一圈都经过计划/风险分析/实施/评估等过程且得到相应新版本、经过若干次螺旋上升得转载 2012-12-20 10:27:44 · 2212 阅读 · 0 评论