`
yangyiqian
  • 浏览: 114825 次
  • 来自: ...
社区版块
存档分类
最新评论
文章列表
文章出处:http://www.limodev.cn/blog 昨天同事问了我一个问题,有两个循环语句: for(i = n; i > 0; i--) { … } for(i = 0; i < n; i++) { … } 为什么前者比后者快? 我当时的解释是: i--操作本身会影响CPSR(当前程序状态寄存器),CPSR常见的标志有N(结果为负), Z(结果为0),C(有进位),O(有溢出)。i > 0,可以直接通过Z标志判断出来。 i++操作也会影响CPSR(当前程序状态寄存器),但只影响O(有溢出)标志,这对于i < n的判断没有任何帮 ...
众所周知,所谓并行计算是指一项任务分成多个段来执行,最后合成一个整体。 这在处理密集型单任务的情况下,比如压缩某一个大文件,这种情况下,如果使用并行计算的话,会极大提高处理的速度的。或者在处理图像等技术方面。 那么对于做为WEB服务器的多核计算机来说,因为其处理的本来就是多个任务,CPU中的多核也都各司其职,这样的情况下,再把其中的某个任务分解到多核上去计算,这就凭空增加了许多切换、等待的工作。还不如一个核管理一个任务连接这样轻量。 所以用在web上的多核服务器,在没有极特殊的需求的情况下,不用考虑并行计算的问题,这是目前的我的一个观点,希望能和大家一起探讨。
http://www.lupaworld.com/action-viewstutorial-itemid-10193.html 试了一下传说中的 JInterface ,使用 OtpErlang.jar 的整个过程其实非常简单,似乎比 JMS 的程序都简单。 首先,我们要用 java 实现的原始 erlang 程序如下,没错,就是巨简单的 echo ,我们的目标是要把它用 java 来改写,不仅写服务端,也要写客户端。 下载: echo_client.erl    1. -module(echo_client).    2.     3. -export([run/0]).    4.  ...
http://news.chinaunix.net/a/2009/04/10/1426340.shtml 作为一名程序员,如果你想在这个领域内继续向前进步或者在当前的经济形势下保持不被炒鱿鱼,那么你就决不应当自满自足,你需要继续学习。近日,著名IT评论员Justin James在他的博客 ...
http://developer.51cto.com/art/200904/118750.htm 摘要:一般默认情况下,Eclipse ,MyEclipse 的代码提示功能是比Microsoft Visual Studio的差很多的,主要是Eclipse,MyEclipse本身有很多选项是默认关闭的,要开发者自己去手动配置。如果开发者不清楚的话,就不知道Eclipse ,MyEclipse的代码提示功能一样能像Microsoft Visual Studio的代码提示功能一样强大。 先举个简单的例子说明问题所在,例如在Eclipse ,MyEclipse代码里面,打个foreach,swit ...
boolean breakCondition = false;     for (int i = 0; i < 100; i++){      for (int j = 0; j < 100; j++) {      // do something.......      if (true) {      breakCondition = true;       break;      }      }       if(breakCondition)        break;        // do something.... ...

迭代与递归

    博客分类:
  • JAVA
public class Test { public int f1(int n) { int result = 1; while (n > 1) { result *= n; --n; } return result; } public static int f2(int n) { if (n == 1) return 1; else return n * f2(n - 1); } public static void main(String[] args) { Test t = new Test(); S ...
 一个实用的例子:属性治理器      什么是属性文件       <!-- frame contents --> <!-- /frame contents -->   这里给出一个读取属性(properties) 文件的单例类,作为单例模式的一个实用的例子。属性文件如同老式的视窗编程时的.ini 文件,用于存放系统的配置信息。配置信息在属性文件中以属性的方式存放,一个属性就是两个字符串组成的对子,其中一个字符串是键(key),另一个字符串是这个键的值(value)。      大多数的系统都有一些配置常量,这些常量假如是存储在程序内部的,那么每一次修改这些常量都需要重新 ...
在本文中,作者向大家讲述了Single Call 模式的原理,同时也介绍了Single Call 模式的实现问题。 单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。正是由于这个特点,单例对象通常作为程序中的存放配置信息的载体,因为它能保证其他对象读到一致的信息。例如在某个服务器程序中,该服务器的配置信息可能存放在数据库或文件中,这些配置数据由某个单例对象统一读取,服务进程中的其他对象如果要获取这些配置信息,只需访问该单例对象即可。这种方式极大地简化了在复杂环境下,尤其是多线程环境下的配置管理,但是随着应用场景的不同,也可 ...
http://www.linuxeden.com/html/news/20081125/62669.html SOA正在帮助企业做从自动执行商务流程到提高灵活性等一切事情。但是,实施这种技术并不是一件简单的事情。   SOA要求集成许多不同的流程、应用程序和技术。这些东西很难无缝地结合在一起,以就是说会经常出现不兼容、升级性和灵活性的问题。传统的软件的许可证费结构也限制了选择和增加了成本。转向开源软件技术有助于缓解这些问题和加快企业应用。   由于对稳定性、安全性和技术支持消失等问题的担心,开源软件已经成为企业级IT的一个主要成分。开源软件能够像专有的解决方案一样稳定、安全和能够得到技术支 ...
计算器程序的简单工厂模式实现 Operation.java package com.calculator; public abstract class Operation {//抽象类 private double _numberA = 0; private double _numberB = 0; public double get_numberA() { return _numberA; } public void set_numberA(double _n ...
一、war包中的文件的读取 在开发J2EE Web应用时,在开发阶段通常采用目录的部署方式,而在正式运行时通常把web应用打包为单个的.war文件进行方便地部署。也就是在你的应用目录(比如WebLogic的DefaultWebApp)下,执行下面的命令: jar cf0 mywebapp.war ** 这样,要部署到正式系统时就非常方便,只需要把这个.war文件拷贝到WebLogic的applications目录或Tomcat的webapps目录下即可自动进行部署。Tomcat会对部署的.war应用包进行自动监控、解包,所以不会出现下面提到的问题。 而WebLo ...
要处理的字符串如下 <soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:q0=\"http://www.cnpc.org/CNPC_Well_Mgr/\"><soapenv:Body ...
CPU多核时代的到来,相应的也带动了软件设计的需求,以后的程序也许就是多线程、超线程设计方向了。本文主要讲述了在多核时代下,java的超线程技术分析和应用。 一、Java环境下的多线程技术   构建线程化的应用程序往 ...
我们在ORACLE数据库中创建表的时候,对于已经存在的表,我们一般的做法是先删除再创建。 这里提供一个判断所要创建的表是否已经存在,如果存在就删除的脚本。 --判断所要创建的数据库表是否存在,如果存在就删除该表,然后再在后面的段中创建这些表 declare TYPE table_name_Type IS RECORD ( A varchar2(100) ); type valtal is table of table_name_Type index by varchar2(100); tarr valtal; n ...
Global site tag (gtag.js) - Google Analytics