- 博客(22)
- 资源 (2)
- 收藏
- 关注
转载 C中堆与栈的内存分配机制
堆(heap)和栈(stack)有什么区别??简单的可以理解为: heap:是由malloc之类函数分配的空间所在地。地址是由低向高增长的。 stack:是自动分配变量,以及函数调用的时候所使用的一些空间。地址是由高向低减少的。预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量
2012-04-02 15:49:49 572
转载 五大常用算法之五:分支限界法
分支限界法一、基本描述 类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法。但在一般情况下,分支限界法与回溯法的求解目标不同。回溯法的求解目标是找出T中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出使某一目标函数值达到极大或极小的解,即在某种意义下的最优解。 (1)分支搜索算法 所谓“分
2012-04-01 10:38:52 646
转载 五大常用算法之四:回溯法
1、概念 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。 回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。
2012-04-01 10:38:18 612
转载 五大常用算法之三:贪心算法
贪心算法一、基本概念: 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状态,只与当前
2012-04-01 10:37:29 440
转载 五大常用算法之一:分治算法
分治算法一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)…… 任何一个可以用计算机求解的
2012-04-01 10:36:43 595
转载 五大算法之二:动态规划算法
一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略 基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能
2012-04-01 10:32:26 416
转载 信号量
信号量信号量是最早出现的用来解决进程同步与互斥问题的机制,包括一个称为信号量的变量及对它进行的两个原语操作。本节将从以下几个方面进行介绍--一. 信号量的概念二. 实例一. 信号量的概念
2012-03-20 09:57:59 698
转载 Java类的加载机制
Java虚拟机类加载顺序 Java虚拟机类加载顺序当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初始类加载器层次结构: bootstrap classloader | extension classloader | system classloader bootstrap classloader -引导(也称为原始)类加载器,它负责加载Java的
2012-03-19 09:39:25 502
原创 java的反射机制使用漫谈
1.机制介绍 Java的反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能成为java的反射机制。Java的反射机制使得java具有了动态语言的特性。2.Java反射机制可以提供的功能 1)做暗箱调试,可以在程序运行时动态获取已经存在对象的所
2012-03-17 20:14:43 596
转载 迪杰斯特拉算法
个人总结Dijkstra算法的要点总结:1.该算法需要两个重要的数据结合结构,集合S、T,S集合中存放已经找到最短路径的节点,T集合中则为S集合的补集,为还未找到阻断路径的节点集合2.算法开始时将源点o放入S集合,并初始化各节点到源点的最短路径,如果之间不相通,距离为无穷大,否则,当前最短路径为到源点o的直接距离3.整个算法过程为不断从T集合寻找当前最短路径的节点,并将其从T集合转
2012-03-15 19:26:52 9293 2
转载 解析 Java 类和对象的初始化过程
问题引入近日我在调试一个枚举类型的解析器程序,该解析器是将数据库内一万多条枚举代码装载到缓存中,为了实现快速定位枚举代码和具体枚举类别的所有枚举元素,该类在装载枚举代码的同时对其采取两种策略建立内存索引。由于该类是一个公共服务类,在程序各个层面都会使用到它,因此我将它实现为一个单例类。这个类在我调整类实例化语句位置之前运行正常,但当我把该类实例化语句调整到静态初始化语句之前时,我的程序不再
2012-03-15 09:16:43 531
转载 利用反射读取类的私有变量
获取Class对象方法的三种方式:类名.class; 对象名.getClass(); Class.forName("类"); " com.wsq.UserBean"public class A { private String rubbish="1111"; public String rubbish1="2222"; }import ja
2012-03-14 22:06:02 571
转载 Android输入系统之输入路径详解
Android用户事件输入路径 1 输入路径的一般原理 按键,鼠标消息从收集到最终将发送到焦点窗口,要经历怎样的路径,是Android GWES设计方案中需要详细考虑的问题。按键,鼠标等用户消息消息的处理可分为不同的情况进行判定:(1)用户输入根据系统状况是否应该派送。如在ScreenOff的情况下,在按键属于特殊按键的情况下等(2)是否有拦截Listener
2012-03-14 14:51:31 443
转载 android输入法框架整理
/frameworks/base/services/java/InputMethodManagerService.java这是整个系统当中,一切与输入法有关的地方的总控制中心。它通过管理下面三个模块来实现系统的输入法框架。1、/frameworks/base/services/java/WindowManagerService负责显示输入法,接收用户事件。2、/fr
2012-03-14 14:24:39 658
转载 快速排序算法
快速排序及其分析2011-07-27 14:35 by zabery, 679 visits, 收藏, 编辑前言快速排序的平均情况下是O(nlogn),但是一般都比其他运行时间为O(nlogn)的算法都要快,因为它隐藏的常数因子比较小,但是在最坏情况之下,快速排序的运行时间是O(n2)。快速排序过程快速排序采用的思想是分治思想,就像合并排序算法的思想一样
2012-02-29 21:26:52 414
转载 servlet多线程分析
Servlet体系结构是建立在Java多线程机制之上的,它的生命周期是由Web容器负责的。当客户端第一次请求某个Servlet时,Servlet容器将会根据web.xml配置文件实例化这个Servlet类。当有新的客户端请求该Servlet时,一般不会再实例化该Servlet类,
2011-09-29 19:32:22 564
转载 Struts2源码阅读--请求流程
本章讲述Struts2的工作原理。转载请注明出处:http://www.blogjava.net/lzhidj/archive/2008/07/10/213898.html读者如果曾经学习过Struts1.x或者有过Struts1.x的开发经验,那么千万不要想当然
2011-09-29 19:26:47 1492 2
转载 servlet原理详解
从 Servlet 容器说起要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 Servlet 容器的关系有点像枪和子弹的关系,枪是为子弹而生,而子弹又让枪有了杀伤力。虽然它们是彼此依存的,但是又相互独立发展,这一切都是为了适应工业化生产的结果
2011-09-29 19:13:27 1062
转载 UML中的类图关系剖析
UML的类图关系分为: 关联、聚合/组合、依赖、泛化(继承)。而其中关联又分为双向关联、单向关联、自身关联;下面就让我们一起来看看这些关系究竟是什么,以及它们的区别在哪里。1、关联双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属
2011-09-27 20:31:52 375
转载 使用Rational Rose由代码生成类图
一 正向工程 1、设置默认语言为Java,Tools->Options->Notation->default:选择Java。 2、设置环境变量ClassPath,Tools->Java/j2ee->Project Specification->Cl
2011-09-27 20:30:48 2716
转载 java对象的创建与初始化
1.Java中的数据类型 Java中有3个数据类型:基本数据类型(在Java中,boolean、byte、short、int、long、char、float、double这八种是基本数据类型)、引用类型和null类型。其中,引用类型包括类类型(含数组)、接口类型。
2011-09-25 22:10:40 2275
转载 java中堆与栈的区别
1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,
2011-09-25 22:10:14 448
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人