小崔的BLOG javabiz.cn 订阅
分类
内容读取中…
评论
内容读取中…
留言
内容读取中…
访客
内容读取中…
好友
内容读取中…
博文
struts2新特性预览 (2008-06-16 10:57)
 Struts2与Struts1的对比
来源:struts2开发组
Action 类:
' Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。
' Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去 实现 常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。
线程模式:
' Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的。
' Struts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。(实际上,servlet容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题)
Servlet 依赖:
' Struts1 Action 依赖于Servlet API ,因为当一个Action被调用时HttpServletRequest 和 HttpServletResponse 被传递给execute方法。
' Struts 2 Action不依赖于容器,允许Action脱离容器单独被测试。如果需要,Struts2
 从获得一千万美元风投开始算起刚满一年,如今SpringSource(Spring框架背后的公司)摇身一变,成为应用服务器提供商,并且举着 SpringSource应用平台(SpringSource Application Platform)的黄钺白旄对现有的Java EE服务器阵营发起挑战。SpringSource应用平台是构建在Spring、OSGi和Apache Tomcat之上的应用服务器,这个新的应用服务器摒弃了原有的Java EE服务器标准,自然而然地将Spring编程模型展现其中,随之而来的还有一套基于OSGi内核构建的全新部署和打包系统。今天是该项目在 SpringSource评估许可下Beta发布版发布的重要里程碑。在随后一个月内会有基于开源许可(GPLv3)版本和订阅版本的通用发布版 (General Availability,GA)放出。

SpringSource应用平台不是Java EE应用服务器。尽管对于WAR部署它提供了支持,但EAR部署和其它EE的规范,如EJB等,都不在支持范围之列。SpringSource应用平台被 重新设计,并把关注点直接放在对被开源项目所广泛使用的Spring组合的支持上。特别地,这个应用服务器是基于Spring组合编程模型构建的,利用 Spring Dynamic Module实现基于OSGi的部署。SpringSource在Eclipse基金会的Equinox OSGi运行时环境的基
使用Java提取网卡地址 (2008-04-10 09:44)
 JDK1.6的实现方式

java.net.NetworkInterface
import java.io.*;
import java.net.*;
import java.util.*;

public class ListNetsEx
{
    public static void main(String args[])
      throws SocketException
    {
        Enumeration nets =
            NetworkInterface.getNetworkInterfaces();
        for (NetworkInterface netint : Collections.list(nets))
            displayInterfaceInformation(netint);
    }

    static void displayInterfaceInformation(NetworkInterface netint)
      throws SocketException
    {
        System.out.println('Display
  大牌老师不见得就是'好老师',别把'大牌老师'当回事。很多java培训机构的头牌老师,也就是天天被用来宣传的老师往往是不代课的,即使带也是最基础的课程。

       高手一般在创业型的小培训机构中可能存在。

 

这些机构一般是几个在软件行业混了几年,技术比较精湛的人合伙开设。收费也较低。因为是老师自己的机构,也比较负责任。我就是在这样的小机构培训的,学到了不少东西。尤其是项目经验。受益无穷呀。

 

判断java培训机构师资状况,主要是以带项目的老师的技术状况来衡量

 

J2EE的课程虽然庞杂,但是知识都不难掌握,难点在项目经验的传授上面。一般的老师给学生讲授知识是没有什么问题的,讲的都差不多,都是照本宣科而已,无所谓水平高低。所以,判断java培训机构师资状况,主要是以带项目的老师的技术状况来衡量。不管培训机构如何吹他的那些老师了得,只要问清楚哪位大侠带项目就行了,这才是核心。项目老师水平过得去,就万事OK

  当今中国人才市场,在就业形式日益严峻的同时,Java行业的人才缺口却日愈扩大。正是这两种情形的同时存在,导致了java培训市场的异常火爆。面对就业压力和Java业高薪,越来越多的人萌发了进培训机构学Java技术的想法,但究竟什么时候学,去什么机构学,怎样学,大多数人是心里没底儿的。俗话说:“态度决定一切”,一个明确、科学、坚定的态度是迈向成功的第一步。在此,笔者根据对Java培训市场的多年调查研究及亲身经历,特总结出“快”“准”“狠”三个字,作为参加培训应树立的态度,与大家共勉。

快:虽说近几年Java人才缺口巨大,特别是软件人才更是抢手,但在信息畅通的今天,每天都有众多的应届或往届的大学毕业生加入各种各样的Java培训机构,所以,晚一天加入培训,机会就离你远了一步,必须抓住目前人才紧缺的空档,早日掌握一技之长,早日成为软件工程师,早一天迈入Java职场,在Java界打下坚实的基础,为事业的辉煌期做准备。在这种前提下,培训时间的长短,也就成了很重要的因素,怎样在较短的时间内,用优化的教学模式,让学员们学到最有用的本领,成了众多Java培训机构追求的目标。在北京JAVA培训界有一定影响力的培

  Java是当今软件行业最受欢迎的主流技术,市场占用率不断上升,从而创造了大量的就业机会,掌握Java技术就意味着进入了高薪领域!


  对于我们学者来说我们怎样才能精通java呢?我们要怎么样才能把它学好?怎么样才能混出社会?我们该怎么选择?这就靠我们自身来为自己量身定做了.

  首先必须为自己规划一套学习方案,没基础的我们必须从基础开始,接触过的必须在基础上加深熟练运用和加强完善这一门技术的技巧.对于这两种情况我们都可以通过java培训班来强化我们的基础,现在北京的培训班多之又多,怎样才能让我们更好的去选择?我们可以从几个方面来考虑:

(1)找一个比较有实力的培训机构,比如师资,教学硬件,教学环境等。

(2)学成后要有实践机构供我们就业选择,让我们能在企业开发和实践

(3)要有Java培训资深架构师亲自授课,有大型项目的研发实训,能给我们专业引导.

(4) 要有足够的学习时间和培训费用。做到超短周期,超低投入,但学习周期一般在全脱产3个多月,经过课程体系的培训,毕业均可实现就业,并且达到中级以上程序员的水平.

我也是过来人,在学校里面以为自己

提高sql执行性能 (2007-11-22 16:13)
 

1、避免嵌套连接。例如:A = B and B = C and C = D
2、where条件中尽量减少使用常量比较,改用主机变量
3、系统可能选择基于规则的优化器,所以将结果集返回数据量小的表作为驱动表(from后边最后一个表)。
4、大量的排序操作影响系统性能,所以尽量减少order by和group by排序操作。

   如必须使用排序操作,请遵循如下规则:
  (1) 排序尽量建立在有索引的列上。
  (2) 如结果集不需唯一,使用union all代替union。
5、索引的使用。
(1) 尽量避免对索引列进行计算。如对索引列计算较多,请提请系统管理员建立函数索引。
(2) 尽量注意比较值与索引列数据类型的一致性。
(3) 对于复合索引,SQL语句必须使用主索引列
(4) 索引中,尽量避免使用NULL。
(5) 对于索引的比较,尽量避免使用NOT=(!=)
(6) 查询列和排序列与索引列次序保持一致

Oracle序列的使用 (2007-11-22 16:12)
 

1.创建序列

create sequence  SQL_ID (序列名称)
minvalue 100
nomaxvalue
start with 100
increment by 1

2.在sql中使用序列
insert into role values(SQL_ID.nextval,'c');

Oracle常用的统计函数 (2007-11-22 16:10)
 

【一】、Oracle常用的统计函数

Avg(x):求一组行中列x值的平均值
count(x):求一组行中列x值的非空行数
count(*):求一组行的总行数
max(x):求一组行中列x值的最大值
min(x):求一组行中列x值的最小值
stddev(x):求一组行中列x值的标准差
sum(x):求一组行中列x值的总和
variance(x):求一组行中列x值的方差

【二】、group by与统计函数

使用上面介绍的函数时可以使用也可以不使用group by ,但在使用group by时,未在group by部分用到的列在select 部分出现时必须使用统计函数,如按角色统计平均年龄
Select user_name,avg(age) from users
Group by role_id; ×
Select count(user_name),avg(age) from users
Group by role_id√

【三】、用having字句规定统计条件

having 子句的作用类似于where子句,只不过where 子句针对单个行,而having子句针对的是统计结果,一般和统计的函数搭配使用。Having子句后

Oracle的连接查询 (2007-11-22 16:08)
 

【一】内连接:

内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。内连接分三种:等值连接,不等连接,自然连接。仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。内联接消除与
另一个表中的任何行不匹配的行。

1.等值连接:

在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。如下例:
Select u.user_id ,u.user_name,r.role_id,r.role_name From users u inner join role r on u.role_id=r.role_id;

2.不等连接:

在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些运算符包括>、>=、<=、<、!>、!<和<>。如下例:
Select u.user_id ,u.user_name,r.role_id,r.role_name From users u inner join role r on u.role_id<r.role_id;

 

新浪BLOG意见反馈留言板 不良信息反馈 电话:95105670 提示音后按2键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有