admin 在 周一, 2012-12-31 15:00 提交
一直以来不用存储过程主要的原因是存储过程的可移植性问题。我在公司经历过的所有项目,到最后几乎都有了数据库移植的需求。客户嫌软件产品太贵,则打包一 个基于免费的mysql的版本给他;客户有钱,对可靠性要求很高,则打包个基于oracle的版本给他。就我工作中接触到的这两种数据库而言,她们的存储 过程语法是大体相似,但不尽相同的。所以,如果将业务逻辑放到存储过程中,就意味着移植需要额外的工作,维护时需要同时维护两套存储过程代码。这样子代价 比较高,所以之前的做法是宁可将业务逻辑在代码中维护,并以一致的标准sql来操作数据库。
但是,正所谓凡事存在既有她的道理。抛开可移植性问题(移植问题在一些场合里面可能并不是最重要的),将需要多条sql才能完成的操作,放到存储过程中,编译存储在数据库中,执行起来往往是比代码方式高效的。
明白存储过程的使用场景后,一起来分析mysql5开始引入的存储过程。根据外界传递进来的表名来判断某个表是否存在,不存在的话则动态创建表,这在在mysql下,使用按时间分表的方式来处理大数据量的问题,还是相当有用的。学习下,以备不时之需额。(via 毕竟红尘)
/*
admin 在 周五, 2012-12-28 12:35 提交
对于大部分在手机用户来讲,天气情况的实时关注已成为趋势,每天早晨起床,看一看今天的天气,做一做提前准备,一天都会有个好心情。下雨带伞,天冷添衣。不用孔明的“观星”,只要手机轻轻一按,便可知“天下” 大事。下面,就让我们来看看天气预报应用程序在UDE环境下的设计思路和开发过程。
1)J2ME效果图

admin 在 周四, 2012-12-20 10:01 提交
大部分人非常在意个人在技术上的提升。但是保持对新技术的了解是一项不小的挑战, 毕竟我们需要的信息在数量上过于庞大。2012年里,伴随着前端发展的是大量的革命性突破和对前端的重新定义。
我们在实践的路上飞速前进,具体的进步体现在使用抽象化,优秀的代码质量,维护性上的提升以及更好的性能。如果你实在忙到没有时间来跟上最新的技术,不用担心。
随着假日的来临,我们就有了一些空闲的时间可以自己支配,我想,如果我把我收集的前端相关的精品讨论列表分享出来,那一定会对大家有一些帮助。你不需要把所有的都阅读一遍,但是这些相关的建议会让你了解更多相关的知识,为明年成为一名更好的前工程端开发师做准备。
以下是一些关于前端开发的优秀的PPT,你可以通过文中的链接来访问。
一、基础部分
走在技术前沿的方法
admin 在 周三, 2012-11-21 13:20 提交
Google的平台即服务(Platform-as-a-Service)产品App Engine在其10月份的更新中包含了对即将到来的Java 7支持的预览。该更新仅限于开发机使用,Google尚未给出官方支持的时间表,简单说明如下:
在即将发布的版本中,我们将包含一些新的Java 7功能,而且App Engine的Java运行时会正式支持Java 7。在新版本到来之前,我们强烈建议开发者开始使用Java 7来测试其应用程序,同时测试最新的App Engine Java SDK。
Google支持的是Java 7的一个除方法句柄(即InvokeDynamic字节码指令)外的子集,至少目前已经支持Java 7中的所有新增类。不过它的确支持来自Coin项目的新语言特性:
admin 在 周三, 2011-07-20 12:51 提交

虽然曾经的Sun VirtualBox已经更名为Oracle VirtualBox,但是不变的是VirtualBox的开源和强大功能。日前,VirtualBox 4.1正式发布,作为一次较大的版本的升级,4.1版新增了不少功能。VirtualBox 4.1支持克隆虚拟机,对GUI界面也进行了完善,并且将64位主机的内存限制提高到了1TB。VirtualBox 4.1支持Windows、Linux和Mac系统主机,可虚拟的系统包括Windows (NT 4.0、2000、XP、Server 2003、Vista)、DOS/Windows 3.x、Linux (2.4和2.6)、OpenBSD等。
VirtualBox 4.1.0 更新日志:
1、支持虚拟机的克隆;
2、改进了创建虚拟磁盘和复制虚拟磁盘的GUI界面;
3、64位主机的内存限制提升到1TB;
4、支持Linux主机下的PCI passthrough;
5、增加WDDM图形卡驱动,Windows虚拟机可以支持Windows Aero效果,支持Direct3D;
6、支持SATA硬盘的热插拔;
7、新的网络模式UDP Tunnel:可轻松实现不同主机上的虚拟机的连接;
8、修复了一些Bug。
admin 在 周六, 2011-07-16 11:00 提交

MyEclipse 8.x 最新注册码(有效期至2013年):
Subscriber: java.gzit.org
Subscription Code: wLR8ZC-655431-6852515133486259
注册后:
Subscriber: java.gzit.org
Product ID: E3MP (MyEclipse Professional Subscription)
License version: 1.0
Full Maintenance Included
Subscription expiration date (YYYYMMDD): 20130706
Number of licenses: 986
admin 在 周五, 2011-07-15 10:00 提交

MyEclipse 6.x 最新注册码(有效期至2013年):
Subscriber: java.gzit.org
Subscription Code: wLR8ZC-655411-68525856439453120
注册后:
Subscriber: java.gzit.org
Product ID: E3MP (MyEclipse Professional Subscription)
License version: 1.0
Full Maintenance Included
Subscription expiration date (YYYYMMDD): 20130703
Number of licenses: 966
admin 在 周五, 2011-07-15 09:00 提交

MyEclipse 5.x 最新注册码(有效期至2013年):
Subscriber: java.gzit.org
Subscription Code: wLR8ZC-655400-68525856978324228
注册后:
Subscriber: java.gzit.org
Product ID: E3MP (MyEclipse Professional Subscription)
License version: 1.0
Full Maintenance Included
Subscription expiration date (YYYYMMDD): 20130703
Number of licenses: 955
admin 在 周日, 2011-07-03 15:30 提交
鉴于国内用户访问不到官网,把myeclipse 9.1发行说明简要用中文概述一下:
MyEclipse的9.1企业工作台 发行说明
2011年7月1日
MyEclipse的9.1是MyEclipse的企业工作台IDE为企业Java和Web开发的最新平台,基于Eclipse 3.6 构建,MyEclipse 9.1提供了百多种新的和改进的代码开发,测试和部署功能。以下是关键的新功能和改进功能亮点:
一、Java EE 6
从MyEclipse 9开始,你就可以使用Java EE 6的特性,例如Servlet 3.0 / JSF 2.0 / JPA 2.0 / EJB 3.1和JAX - RS 1.1等等。
二、ICEfaces 2
ICEfaces2可以被添加到JSF2个项目开发下一代的AJAX应用,支持可视化设计ICEfaces2组件和标签而源编辑器提供内容协助和验证。
admin 在 周日, 2011-07-03 15:11 提交
admin 在 周二, 2010-11-30 22:34 提交
MyEclipse 8.6.1 Enterprise Workbench
Release Notes November 17, 2010
Overview
1.What's New in MyEclipse 8.6.1 - A Quick Flyover
2.Additional Enhancement / Fix Details for 8.6.1
3.Getting Help
4.Known Issues
5.Discontinued Features
6.License and OSS Information
--------------------------------------------------------------------------------
maggie 在 周三, 2010-01-20 14:00 提交
JAVA里的PING是在JDK 1.5后用了新的函数isreachable去实现,具体介绍如下:
1、InetAddress对象的常用方法
InetAddress类有很多get方法,用来获取主机名,主机地址等信息。主要有:
byte[] getAddress() 返回次InetAddress对象的原始IP地址,保存为一个byte数组
String getCanonicalHostName() 获取此IP地址的完全限定域名
String getHostAddress() 获取IP地址的字符串,返回为一个String
String getHostName() 获取此IP地址的主机名
下面一个简单的例子展示这些方法的使用:
maggie 在 周三, 2010-01-20 13:57 提交
算术异常类:ArithmeticExecption
空指针异常类:NullPointerException
类型强制转换异常:ClassCastException
数组负下标异常:NegativeArrayException
数组下标越界异常:ArrayIndexOutOfBoundsException
违背安全原则异常:SecturityException
文件已结束异常:EOFException
文件未找到异常:FileNotFoundException
字符串转换为数字异常:NumberFormatException
操作数据库异常:SQLException
输入输出异常:IOException
方法未找到异常:NoSuchMethodException
java.lang.AbstractMethodError
抽象方法错误。当应用试图调用抽象方法时抛出。
maggie 在 周一, 2010-01-18 17:02 提交
对于克隆(Clone),Java有一些限制:
1、被克隆的类必须自己实现Cloneable 接口,以指示 Object.clone() 方法可以合法地对该类实例进行按字段复制。Cloneable 接口实际上是个标识接口,没有任何接口方法。
2、实现Cloneable接口的类应该使用公共方法重写 Object.clone(它是受保护的)。某个对象实现了此接口就克隆它是不可能的。即使 clone 方法是反射性调用的,也无法保证它将获得成功。
3、在Java.lang.Object类中克隆方法是这么定义的:
protected Object clone()
throws CloneNotSupportedException
创建并返回此对象的一个副本。表明是一个受保护的方法,同一个包中可见。
按照惯例,返回的对象应该通过调用 super.clone 获得。
引题:
举个例子说吧,现在有一个对象比如叫foo,你需要在创建当前对象的一个副本作为存根你能怎么做?
假如你不用Clone,那么你可以先new一个对象foo1:Foo foo1=new Foo(),然后用foo给foo1对象set值,这样就得到foo的副本foo1;除此之外,别无选择。
maggie 在 周二, 2010-01-12 13:04 提交
Synchronized,顾名思义,代表线程同步。那么,在java编程中如何使用它呢?
我们首先来看这样一个情况:对于同一个变量synDemo,我们分别在2个不同的线程中调用synDemo.synMethord1()与synDemo.synMethord2()。
[code]
package com.cnblogs.gpcuster;/** * * @author Aaron.Guo * */
public class Tester {public static void main(String[] args) {final SynDemo synDemo = new SynDemo();Thread thread1 = new Thread() {@Overridepublic void run() {// TODO Auto-generated method stub
super.run();synDemo.synMethord1();}};Thread thread2 = new Thread() {@Overridepublic void run() {// TODO Auto-generated method stub
maggie 在 周二, 2010-01-12 12:57 提交
1.
String.trim()
trim()是去掉首尾空格
2.
str.replace(" ", ""); 去掉所有空格,包括首尾、中间
String str = " hell o ";
String str2 = str.replaceAll(" ", "");
System.out.println(str2);
3.或者replaceAll(" +",""); 去掉所有空格
4.
str = .replaceAll("\\s*", "");
可以替换大部分空白字符, 不限于空格
\s 可以匹配空格、制表符、换页符等空白字符的其中任意一个
5.或者下面的代码也可以去掉所有空格,包括首尾、中间
[code]
public String remove(String resource,char ch)
{
StringBuffer buffer=new StringBuffer();
int position=0;
char currentChar;
while(position
maggie 在 周三, 2010-01-06 11:34 提交
[code]public static String stringToHexString(String strPart) {
String hexString = "";
for (int i = 0; i
int ch = (int) strPart.charAt(i);
String strHex = Integer.toHexString(ch);
hexString = hexString + strHex;
}
return hexString;
}
private static String hexString="0123456789ABCDEF";
/*
* 将字符串编码成16进制数字,适用于所有字符(包括中文)
*/
public static String encode(String str)
{
// 根据默认编码获取字节数组
byte[] bytes=str.getBytes();
StringBuilder sb=new StringBuilder(bytes.length*2);
maggie 在 周三, 2010-01-06 11:30 提交
内存泄漏的慨念
1.c/c++是程序员自己治理内存,Java内存是由GC自动回收的。
我虽然不是很熟悉C++,不过这个应该没有犯常识性错误吧。
2.什么是内存泄露?
内存泄露是指系统中存在无法回收的内存,有时候会造成内存不足或系统崩溃。
在C/C++中分配了内存不释放的情况就是内存泄露。
3.Java存在内存泄露
我们必须先承认这个,才可以接着讨论。虽然Java存在内存泄露,但是基本上不用很关心它,非凡是那些对代码本身就不讲究的就更不要去关心这个了。
Java中的内存泄露当然是指:存在无用但是垃圾回收器无法回收的对象。而且即使有内存泄露问题存在,也不一定会表现出来。
4.Java中参数都是传值的。
对于基本类型,大家基本上没有异议,但是对于引用类型我们也不能有异议。
Java是如何管理内存
maggie 在 周二, 2010-01-05 09:36 提交
为了说明这个问题先给大家出个问题吧:
请看代码:
[code]
view plaincopy to clipboardprint?
public abstract class A {
public A() {
initMethod();
}
public abstract void initMethod();
}
public abstract class A {
public A() {
initMethod();
}
public abstract void initMethod();
}
view plaincopy to clipboardprint?
public class B extends A {
static String staticStr = "static1";
private String testStr = "Test1";
/*
* (non-Javadoc)
*
* @see A#initMethod()
*/
public void initMethod() {
maggie 在 周二, 2010-01-05 09:30 提交
应用程序服务器是一个 Java 进程,它需要 Java 虚拟机(JVM)才能运行以及支持它所运行的 Java 应用程序。在配置应用程序服务器的过程中,可以对设置进行微调以改善系统对 JVM 的使用方式。
关于本任务
JVM 为基于 Java 的应用程序提供了运行时执行环境。WebSphere Application Server 是 JVM 运行时环境与基于 Java 的服务器运行时的组合。它可以在不同 JVM 提供程序提供的 JVM 上运行。要确定正在运行 Application Server 的 JVM 的提供程序,请从 WebSphere Application Server 的app_server_root/java/bin 目录中发出 java -fullversion 命令。您也可以检查其中一个服务器的 SystemOut.log。当应用程序服务器启动时,Websphere Application Server 会将关于 JVM 的信息(包括 JVM 提供程序信息)写入此日志文件。
从调整 JVM 的观点看,有两种主要的 JVM 类型:
IBM JVM
基于 Sun HotSpot 的 JVM,其中包括 Solaris 上的 Sun HotSpot JVM 以及 HP 的 JVM for HP-UX
页面