一个大专学历想做程序员的朋友和我的对话,很短,我觉得,至少能说明我的心情和对程序员职业理解的一个侧面。 2008-07-28 12:11:37卿飘飘~ 大哥现在还写程序不?   2008-07-28 12:12:51青润 写。   2008-07-28 12:16:10卿飘飘~ 哦 你觉得三十岁后还写程序是否没前途?   2008-07-28 12:18:25青润 40岁写,也有前途。   2008-07-28 12:19:35卿飘飘~ 哦 网上说30岁还写的 外面公司没人要,不知道事实是否如此?   2008- ...
最近读了一篇非常有趣的文章,原文是英文,和大家共享,其大概意思是: 管程序员就象是养蜂人管蜜蜂一样。养蜂人怎么管的呢?养蜂人其实并不能和蜜蜂沟通,谁会说“蜂语”啊。但他们可以把蜜蜂放在一个舒适的蜂房里,这样他们自动就会采蜜了,你顺手就可以拿走蜂蜜。:) 对程序员是类似的,把他们弄到一个舒服的环境里:工资比他们想要的高,以至于不会用了(当然,比你的预算还是要便宜);这些蜜蜂会嘤嘤嗡嗡自己形成社会,程序员会自己评价自己,就象沉迷在打游戏里的家伙一样,谁的话都听不进去,就只愿意写好的软件 - 这和艺术家和战士一样。 软件公司怎么失控的和完蛋的?通常是来了一个有个性的管理人 ...
世上没有B/S系统,只有B系统和S系统.     先说些与标题貌似无关的话. 随着prototype DWR 等ajax框架的流行, 服务器端生成js代码返回客户端,由客户端调用(直接调用或eval)似乎已经成为了一种很正常的做法(是否流行我不知道). 这种做法(其实是一种设计)本身无可厚非,但是常常被人错误的理解和应用 (此处所谓的"错误"是基于我的立场,也许更多的人会认为我的观点才是错的 呵呵). 用过DWR的人都知道,实际上DWR传给客户端的JS并不是包含了很复杂的业务逻辑和表现逻辑,他只不过是向客户端 ...
原文:http://gocom.primeton.com/blog/index.php?op=ViewArticle&articleId=1175&blogId=35 如果有一个人穿着西装,打着领带,但却穿着草鞋,卷着裤腿,那么他出现在任何场合都不合适。之所以如此,是因为这种打扮,违反了当今社会的着装原则。 对于软件开发,原则同样重要。 商用软件要遵守的原则,是一个层次化体系。第一层,最基础的,是它的商业目标。在这个基础上,第二层,要确定其开发周期、开发成本、面向对象、技术要求,等等。第三层,是架构原则、界面原则、易用性原则、定名原则,等等。具体的架构规范、界面规 ...
用java这么长时间了,对于static method 大家都知道在是怎么回事,但对nonstatic 的method()是不是每创建一个对象都会分配内存呢,google了一把,结果如下:   (1)。static method 永远只占用一块记忆体,而且此记忆体空间是在此class一被载入进记忆体之后就立刻配置的. (2)。前面「不」加上static的修饰字,就会使得此method变成是instance method。 对instance method而言,每产生一个instance「并不会」多一块instance method的记忆体。 同一个method不管被调 ...
首先我们提供两个类,基类为Parent,派生类为Child。在Parent中我们提供两个方法,一个是静态方法staticMethod(),一个是非静态方法nonStaticMethod()。在Child类中我们覆盖着两个方法。 java 代码 class Parent{         public void nonStaticMethod() {        &nbs ...
 IT人士之成功之6大步骤 (From: http://www.pconline.com.cn/pcjob/rs/zc/0601/751093_4.html) 一个前辈在移民加拿大后写的文章,写得不错,值得借鉴,转来给大家看看,也给自己   序言:经过001多年的洗礼,认识了这里这么多的JJMMGGDD,前几天刚得到签证,无限感慨   面对未来,我也不知道我31岁如何发展,尤其是我现在在北京还算过的去,各种机会都纷至沓来。   无论如何,我相信,世界上各种事物都有他们自己的原因,也结合自己在北京接近8年的感悟,写一个总结,我相信,世界上只要有人,无论是什么皮肤,总有 ...
一、 class First {  void tt()  {   System.out.println("First tt()");  }  First()  {   System.out.println("First");   tt();   System.out.println("First after tt()");  } } public class Seco ...
synchronized 关键字,它包括两种用法:synchronized 方法和 synchronized 块。 1. synchronized 方法:通过在方法声明中加入 synchronized关键字来声明 synchronized 方法。如: public synchronized void accessVal(int newVal); synchronized 方法控制对类成员变量的访问:每个类实例对应一把锁,每个 synchronized 方法都必须获得调用该方法的类实例的锁方能执行,否则所属线程阻塞,方法一旦执行,就独占该锁,直到从该方法返回时才将锁释放,此后被阻塞的线 ...
最近在看Datasource时候想到,datasource是数据库厂商提供的,但connection是jdk提供的,那在Connection。close()时,是不是就不把这个connection放到缓冲池了 ? 问题解决: 大家可以查看jdk中javax.sql.PooledConnection这个接口的说明,其中有段是这样的:   (1)。当应用程序调用 DataSource.getConnection 方法时,它取回 Connection 对象。如果连接池已完成,则该 Connection 对象实际上是到 PooledConnection 对象的句柄,这是一个物理连接。 ...
1.软件设计模式针对的是代码片段的复用,而SOA实施中讨论的是服务的复用(这里的服务复用和组件复用是一个概念不?) 2.以学习软件复用为目的(不仅是自己的代码编写,我们还要花足够多的时间去了解这个世界所有的那些轮子,这样我们才能最大化开源的价值) 3.面向接口编程 4. 软件的生命性   软件是有生命的,这可能是老调重弹了,但是因为它事关分层架构的原由,反复强调都不过分。   一个有生命的软件首先必须有一个灵活可扩展的基础架构,其次才是完整的功能。   目前很多人对软件的思想还是焦点落在后者:完整的功能,觉得一个软件功能越完整越好,其实关键还是架构的灵活性,就是前者,基础架构好, ...
原文转之: http://gocom.primeton.com/modules/gSpace/modules/techresource/article608.htm?PHPSESSID=df81a3fde2d88ab19b2a3588347d1d6d http://gocom.primeton.com/modules/gSpace/pick1061.htm?PHPSESSID=df81a3fde2d88ab19b2a3588347d1d6d   Spring的模块化是很强的,各个功能模块都是独立的,我们可以选择的使用。这一章先从Spring的IoC开始。所谓IoC就是一个用X ...
  找了半天,终于找到了 : http://blog.matrix.org.cn/chzwin/entry/appfuse%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90_spring%E7%9A%84mvc%E5%88%9D%E8%AF%86
使用JSTL改进JSP来简化网页的实现过程: 概述   Java Server Pages (JSP) 标准标记库 (JSTL)的版本的发布对于JSP/servlet开发者来说是一个重大的进展。有了一个表达语言(EL)和一组四种强大的、易于学习的标准标记库,JSTL极有可能不久后成为实现动态的、基于Java的站点的主要方法。   1996年对JSP servlet的介绍使得Java成为动态网页开发的合理的选择。随后出现的Java服务器页(JSP)是走向快速的、可维护的Java网页实现过程的合理进化的一步,紧接着就出现了JSP标记的支持。但是2002中期的JSTL(JSP标准标记库)的 ...
http://www.javaeye.com/article/52992?page=1#comments   值得你点击啊 :)
Java反射机制   摘要 Reflection 是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public, static 等等)、superclass(例如Object)、实现之interfaces(例如Cloneable),也包括fields和methods的所有信息,并可于运行时改变fields内容或唤起methods。本文借由实例,大面积示范Reflection APIs。 关于本文: 读者基础:具备Java 语言基础。 ...
事务简介   一般情况下,J2EE应用服务器支持JDBC事务、JTA(Java Transaction API)事务(一般由容器来进行管理)。通常,最好不要在程序中同时使用上述三种事务类型,比如在JTA事务中嵌套JDBC事务。第二方面,事务要在尽可能短的时间内完成,不要在不同方法中实现事务的使用(事务的嵌套要求更加良好的设计)。 JDBC事务   在JDBC中怎样将多个SQL语句组合成一个事务呢?在JDBC中,打开一个连接对象Connection时,缺省是auto-commit模式,每个SQL语句都被当作一个事务,即每次执行一个语句,都会自动的得到事务确认。为了能将多个SQL语句组合成 ...
inline函数的用法小议(转载) : 出处:http://tech.sina.com.cn/s/2005-03-23/1017558876.shtml       http://www.cndev-lab.com  作者:管宁 在C++中,为了解决一些频繁调用的小涵数大量消耗栈空间或者是叫栈内存的问题,特别的引入了inline修饰符,表示为内联涵数。 ...
刚看Practical java ,对jit不是很明白:搜索结果如下:    什么是JIT? JIT是just in time,即时编译技术。使用该技术,能够加速java程序的执行速度。下面,就对该技术做个简单的讲解。 首先,我们大家都知道,通常javac将程序源代码编译,转换成java字节码,JVM通过解释字节码将其翻译成对应的机器指令,逐条读入,逐条解释翻译。很显然,经过解释执行,其执行速度必然会比可执行的二进制字节码程序慢。为了提高执行速度,引入了JIT技术。 在运行时JIT会把翻译过的机器码保存起来,已备下次使用,因此从理论上来说,采用该JIT技术可以, ...
当前Java软件开发中几种认识误区 板桥里人 http://www.jdon.com 2006/9/1(转载请保留)   越来越多人开始使用Java,但是他们大多数人没有做好足够的思想准备(没有接受OO思想体系相关培训),以致不能很好驾驭Java项目,甚至 导致开发后的Java系统性能缓慢甚至经常当机。很多人觉得这是Java复杂导致,其实根本原因在于:我们原先掌握的关于软件知识(OO方面)不是太贫乏就是不恰当,存在认识上和方法上的误区。 软件的生命性   软件是有生命的,这可能是老调重弹了,但是因为它事关分层架构的原由,反复强调都不过分。   一个有生命的软件首先必须有一个灵活可扩展 ...
动态高速缓存的安装和配置 这一节探讨如何安装和配置动态高速缓存。这包括五个基本步骤: 在 WebSphere Portal 服务器上启用 servlet 高速缓存。 安装动态高速缓存监控器。 配置 Workplace Web Content Management 高速缓存策略。 安装 ESI。 启用 Edge 组件。   下面详细描述这些步骤。 在 WebSphere Portal 服务器上启用 servlet 高速缓存 需要这个操作是因为 Web Content Management 是一个 servl ...
SSL(Server Socket Layer)简介 在网络上信息在源-宿的传递过程中会经过其它的计算机。一般情况下,中间的计算机不会监听路过的信息。但在使用网上银行或者进行信用卡交易的时候有可能被监视,从而导致个人隐私的泄露。由于Internet和Intranet体系结构的原因,总有某些人能够读取并替换用户发出的信息。随着网上支付的不断发展,人们对信息安全的要求越来越高。因此Netscape公司提出了SSL协议,旨在达到在开放网络(Internet)上安全保密地传输信息的目的,这种协议在WEB上获得了广泛的应用。 之后IETF(www.ietf.org)对SSL作了标准化,即RFC22 ...
目前市场上常用的开源Java Web容器有Tomcat、Resin和Jetty。其中Resin从V3.0后需要购买才能用于商业目的,而其他两种则是纯开源的。可以分别从他们的网站上下载最新的二进制包和源代码。 作为Web容器,需要承受较高的访问量,能够同时响应不同用户的请求,能够在恶劣环境下保持较高的稳定性和健壮性。在HTTP服务器领域,Apache HTTPD的效率是最高的,也是最为稳定的,但它只能处理静态页面的请求,如果需要支持动态页面请求,则必须安装相应的插件,比如mod_perl可以处理Perl脚本,mod_python可以处理Python脚本。 上面介绍的三中Web容器,都是使用J ...
安装了wsad,可以从外部启动websphere。方法如下:    1.在目录为Application Developer\v5.1.2\runtimes\base_v51\bin的下面有个startServer.bat。在cmd下输入 startServer   server1就可以了。   是不是很简单啊。还是同事教的呢 。
遍历集合集时,请用iterator,而不要用: for(int i =0;i 2.java的增强for循环(从java1.5开始): String[] ss2 = {"1","2","3","4","5","6"};   for(String ss: ss2){    System.err.println(ss);   } 3.