- 浏览: 920169 次
- 性别:
- 来自: 北京
最新评论
-
一键注册:
request.getRequestURL()和request.getRequestURI() -
SuperCustomer:
...
SED的暂存空间和模式空间 -
juyo_ch:
讲得挺好理解的,学习了
java 死锁及解决 -
chinaalex:
最后一题答案正确,但是分析有误.按照如下过程,上一行为瓶,下一 ...
zz智力题 -
liaowuxukong:
多谢博主啦,弱弱的了解了一点。
C++/Java 实现多态的方法(C++)
文章列表
题比较简单,单向链表有交点意思就是交点后的节点都是一样的了
NODE* FindNode(NODE* pHead1, NODE* pHead2){ NODE* p1 = pHead1; NODE* p2 = pHead2; int i = 1, j = 1, k = 0, f = 0; if(pHead1 == NULL || pHead2 == NULL)
我们在Java编程中经常碰到类型转换,对象类型转换主要包括向上转型和向下转型。
5.13.1 向上转型我们在现实中常常这样说:这个人会唱歌。在这里,我们并不关心这个人是黑人还是白人,是成人还是小孩,也就是说我们更倾向于使用抽象概念“人”。再例如,麻雀是鸟类的一种(鸟类的子类),而鸟类则是动物中的一种(动物的子类)。我们现实中也经常这样说:麻雀是鸟。这两种说法实际上就是所谓的向上转型,通俗地说就是子类转型成父类。这也符合Java提倡的面向抽象编程思想。来看下面的代码:
package a.b;
public class A {
public void a1() {
Sys ...
数值表达式 1. 奇偶判断 不要使用 i % 2 == 1 来判断是否是奇数,因为i为负奇数时不成立,请使用 i % 2 != 0 来判断是否是奇数,或使用高效式 (i & 1) != 0来判断。 2. 小数精确计算
Java代码
System.out.println(2.00 -1.10);//0.8999999999999999
System.out.println(2.00 -1.10);//0.8999999999999999
上面的计算出的结果不是 0.9,而是一连串的小数。问题在于1.1这个数字不能被精确表示为一个double,因此它被 ...
数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式。接触每种语言的时候,都会存在数据类型的认识,有复 杂的、简单的。各种数据类型都需要在学习初期去了解,Java是强类型语言,所以Java对于数据类型的规范相对严格。数据类型是语言的抽象原子概念,可 以说是语言中最基本的单元定义,在Java里面,本质上数据类型分为两种:简单类型和复杂类型。
简单类型:简单数据类型是不能简化的、内置的数据类型、由编程语言本身定义,它表示了真实的数字、字符和整数。
复杂类型:Java语言本身不支持C++中的结构(struct)或联合(union)数据类型,它的复 ...
分页概念:逻辑空间分页,物理空间分块,页与块同样大,页连续块离散,用页号查页表,由硬件做转换,页面和内存块大小一般选为2的若干次幂(便于管理)页表作用:实现从页号到物理地址的映射请求分页的基本思想1.请求分页=分页+请求2.请求分页提供虚拟存储器3.页表项中的状态位指示该页面是否在内存,若不在,则产生一个缺页中断页面置换:把一个页面从内存调换到磁盘的对换区中抖动:在具有虚存的计算机中,由于频繁的调页活动使访问磁盘的次数过多而引起的系统效率降低的一种现象页面走向:常用的页面置换算法:先进先出法:(置换次数比较多)最佳置换法(OPT):选择将来不再使用或在最远的将来才被访问的页调换出去(不便于实现 ...
C++下的垃圾回收机制可能会在下个版本加入,我只是想通过实例,分析垃圾回收器的内部机制,深入了解以后,在以后的项目中,就可以对是否需要垃圾回收功能做出准确的判断。它是否影响性能,能影响多少,回收的代价等等问题就会显得更加明确。对C++下垃圾回收的讨论很多,有兴趣可以看看这里和这里。至于实现,惠普的垃圾回收器是一个产品化的开源项目,而且已经被很多项目使用。但是他的具体实现总是让人感觉不是很可靠。云风是一个简单的回收器,有人对其源码进行研究,有兴趣可以看这里,它没有内存紧缩功能。首先,说说垃圾回收的目标,也就是需求。1. 不能有内存泄漏(最基本的要求)。2. 能自动回收无用内存(当然需要解决循环 ...
1。操作系统最大的功能就是管理功能,管理进程调度、管理内存、管理文件系统、管理I/O,...。其中最核心的功能是进程管理,但管理的基础是内存管理,只有把内存管理好了,才能使进程在这个广阔的舞台上自由表演。2。系 ...
在项目的最后阶段,就是要防止系统的内存泄漏了,顺便找了些资料,看了些java内存泄漏的实例及解决,总结一下: Java是如何管理内存
为了判断Java中是否有内存泄露,我们首先必须了解Java是如何管理内存的。Java的内存管理 ...
首先要明确几点:
Java是在堆上为对象分配空间的
垃圾回收器只跟内存有关,什么IO啊,网络连接啊,管它P事
当可用内存数量较低时,Sun版本的垃圾回收器才会被激活
在垃圾回收器回收垃圾之前,我们先来了解一下Java分配对象的方式,Java的堆更像一个传送带,每分配一个新对象,它就往前移动一格。这意味着对象存储空间的分配速度相当快。Java的“堆指针”只是简单地移动到尚未分配的领域。也就是说,分配空间的时候,“堆指针”只管依次往前移动而不管后面的对象是否还要被释放掉。如果可用内存耗尽之前程序就退出就再好不过了,这样的话垃圾回收器压根就不会被激活。
但是由于“堆指针”只管依次往前移动 ...
要安装m2Eclipse插件,你需要符合一些先决条件。你需要运行Eclipse 3.2或更高版本,JDK 1.4或更高版本,你需要确认Eclipse是在JDK上运行而不是JRE。在你有了Eclipse和兼容的JDK之后,你需要安装两个Eclipse插件:Subclipse和Mylyn。
1. 安装前提条件
你可以在安装m2eclipse的时候安装这些前提条件的软件,只要为每个前提条件软件添加一个远程更新站点至Eclipse。要安装这些先决条件软件,找到Help → Software Updates → Find and Install...。选择这个菜单项会载入I ...
Maven强大的一个重要的原因是它有一个十分完善的生命周期模型(lifecycle),这个生命周期可以从两方面来理解,第一,顾名思义,运行Maven的每个步骤都由它来定义的,这种预定义的默认行为使得我们使用Maven变得简单,相比而言 ...
Q:TC群里有人发消息说在10亿个数据中找出所有的重复数,内存限制10M。貌似百度面试题。
“笨一休”大牛的初步提出了个方法:
1,利用hash对所有数进行取模(比如%1M),利用余数进行分1K组;
2,再对1K组,内部进行hash查重复数。
晚上上自习时候想了想,觉得不需要设计hash函数来进行操作,一来很难设计出无冲突的hash函数,二来每次进行hash时候涉及取模操作,比较费时。想了个方法如下:
1,将10亿=10^9个数划分为N(N=1K或500)个区间段,即使用N个文件存储。每个文件代表一个区间(1《x《1M放在f1中,1M<x《2M放在f2中之类......自己 ...
分配排序的基本思想:排序过程无须比较关键字,而是通过"分配"和"收集"过程来实现排序.它们的时间复杂度可达到线性阶:O(n)。箱排序(Bin Sort)1、箱排序的基本思想 箱排序也称桶排序(Bucket Sort),其基本思想是:设置若干个箱子,依次扫描待排序的记录R[0],R[1],…,R[n-1],把关键字等于k的记录全都装入到第k个箱子里(分配),然后按序号依次将各非空的箱子首尾连接起来(收集)。【例】要将一副混洗的52张扑克牌按点数A<2<…<J<Q<K排序,需设置13个"箱子",排 ...
堆:顺序随意栈:先进后出堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数 ...
到底为什么要知道栈和堆的机制呢?这真的跟我们有关系吗? 如果想了解变量的有效范围、对象的建立、内存的管理、线程和异常的处理、则认识堆、栈是很重要的。 先说说栈吧,这里就不详细说栈,堆的概念了,只是谈谈在java中是如何分配栈和堆的空间的。 在java中是把局部变量放在栈里面的,方法调用和局部变量是属于java中的行为也就是方法的的属性。这有什么特点?我们知道在java中调用方法执行完毕以后,方法的生命周期也就结束了,这个时候在栈上的局部变量也就随着方法消失而结束了生命周期。也可以换句话说,局部变量的生命周期是仅限于方法存在于栈上的这段期间。对于java来讲,其实栈的特点就是存放在栈上 ...