- 浏览: 205486 次
- 性别:
- 来自: 武汉
最新评论
-
minroseven:
[color=red][/color]个
[#0x0050] "Could not resolve placeholder"解决方案 -
JavaAiHaoZhezh:
character-set-server=utf8 可用!!! ...
[#0x004E] MySQL 5.5版本下my.ini内[mysqld]项中不能再写default-character-set=utf8 -
Jeremy__Pan:
哎哟,不错哦。解决了我的问题,不过是我拿maven 来构建的, ...
[#0x0050] "Could not resolve placeholder"解决方案 -
di1984HIT:
写的很好,真的很好。
[#0x004E] MySQL 5.5版本下my.ini内[mysqld]项中不能再写default-character-set=utf8 -
yousteely:
[client]default-character-set=u ...
[#0x004E] MySQL 5.5版本下my.ini内[mysqld]项中不能再写default-character-set=utf8
文章列表
RT。不信自己去试。
- 2009-10-31 10:28
- 浏览 1233
- 评论(0)
如有下列代码:
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException
{
doGet(req, resp);
}
则称doPost() delegates to doGet()。delegate可以简单理解为give power to。
- 2009-10-31 02:49
- 浏览 1166
- 评论(0)
有的文章上说只用CATALINA_HOME这么一个,也有的说是CATALINA_HOME、CATALINA_BASE、TOMCAT_HOME这3个,我翻Tomcat Document也没找着具体的说明,不过CATALINA_HOME好像是必须的,还有地方提到了CATALINA_BASE,既然这样的话,那就三个都设置好了。
CATALINA_HOME = x:\apache-tomcat-yyy
CATALINA_BASE = x:\apache-tomcat-yyy
TOMCAT_HOME = x:\apache-tomcat-yyy
注意:如果环境变量的内容只有一项的话,就 ...
- 2009-10-03 14:52
- 浏览 1591
- 评论(0)
本文对[#0x0001]、[#0x0008]、[#0x000B]做统一归纳。
一个类在能够被程序使用之前,必须经历三个准备工作(以下统称为类的执行):
-> 1. loading
-> 2. linking
--> 2.1 verification
--> 2.2 preparation
--> 2.3 resolution (optional)
-> 3. inintialization
在[#0x0008]、[#0x000B]中,我们使用的loading (加载),其实 ...
在其所在的块内(即{}之内,如方法body、if {...}等)(只是单纯的一对{}不能称为块),throw语句可以屏蔽其后的语句(即在块内,该throw语句后面不能再写其他语句),但在块之外,还是可以写其他的语句的。如:
public class ExceptionTest
{
private static void func() throws Exception
{
throw new Exception();
//System.out.println("Threw Exception"); //error
}
private st ...
当有继承发生时,会伴随着重载、覆写(包括接口方法的实现)、构造器的重写等行为。此时,如果基类或是接口的方法存在异常声明,那么导出类或是接口的实现类的对应方法该如何声明异常?同时对这些方法的调用该如何捕捉异常?下面就这2个问题进行探讨,你会看到,针对覆写和构造器的重写是2种完全不同的处理方式(针对重载则没有任何限制)。代码如下:
//@file Example1.java
class ExtException extends Exception {}
class AnotherException extends Exception {}
class Base
{
publ ...
[#0x001F] finally总是会被执行
- 博客分类:
- Java
finally总是会被执行,即使try中有break、continue、return这样的语句,如:
public class FinallyTest
{
public static void main(String[] args)
{
int i;
for (i = 0; ;i++)
{
try
{
if (i == 0)
continue;
else if (i == 1)
break;
}
finally
{
System.out.println(&qu ...
- 2009-08-03 11:03
- 浏览 1277
- 评论(0)
[#0x001D] first catch
- 博客分类:
- Java
try块里有异常抛出时,程序会进入第一个异常类型匹配的catch块执行,其他的catch块不执行。
注意这里说的“第一个匹配的异常类型”。我们知道,所有的异常类型都是extends Exception,所以catch (Exception e)可以catch所有的异常;也就是说,这里说的“异常类型匹配”包括向上转型。
同时,对基类异常的catch块会屏蔽其后的对其导出类异常的catch块,而且这个屏蔽只与catch块代码的位置有关系,如:
class MyException extends Exception
{
}
public class ExceptionTe ...
- 2009-07-31 11:27
- 浏览 1340
- 评论(0)
Iterable是一个接口,它只有一个方法iterator(),要求返回一个Iterator。
package java.lang;
public interface Iterable<T>
{
Iterator<T> iterator();
}
而Iterator本身也是个接口,它有hasNext()、next()、remove三个方法。
package java.util;
public interface Iterator<T>
{
boolean hasNext();
T next();
void ...
- 2009-07-30 15:30
- 浏览 1675
- 评论(0)
Arrays和Collections包含的都是static方法,可以将其视为工具类。Arrays.asList()这个方法有点特殊,这里记录一下。
首先,Arrays.asList()返回的是一个List (List是一个接口,返回List实际是返回List接口的一个实现),这个List在底层是有数组实现的,所以size是fixed的。所以,下面的代码是不可以的:
List<Integer> list = Arrays.asList(1, 2, 3);
list.add(4); //error
其次,如果不指定返回List的类型(即<>部分)的话 ...
- 2009-07-28 18:02
- 浏览 2109
- 评论(0)
前面对继承的理解常常用到了这么一用表述:Base的代码会被复制到Ext中。其实这么理解欠妥,看代码:
class Base
{
private String inf = "Here is Base";
public String getInf()
{
return inf;
}
}
class Ext extends Base
{
public static void main(String[] args)
{
Ext e = new Ext();
System.out.println(e.getInf());
}
}
很明显,B ...
- 2009-04-07 23:04
- 浏览 1711
- 评论(0)
首先我们要搞清楚关于closure这个单词的逻辑关系。如果说内部类是一个closure,那么外部类就是enclosing class,because OuterClass encloses InnerClass。
如果一个一般类来继承内部类,需要在构造器中使用特殊的语法。
class Outer
{
class Inner {}
}
public class ExtInner extends Outer.Inner
{
public ExtInner(Outer o)
{
o.super();
}
}
ExtInner的构造器必须要有一个Outer参数,然后调用.s ...
- 2009-04-07 20:39
- 浏览 1585
- 评论(0)
[#0x0016] 代理
- 博客分类:
- Java
前文多次提到了代理(Proxy),那么到底什么才是代理呢?
类和类之间有3种关系:组合、继承和代理。
组合即是一个类包含另一个类的对象作为自己的一个field,如:
class A
{
class B b = new B() ;
......
}
继承就不多说了。如果把接口看作abstract class的延伸的话,那么对接口的实现也可以看作继承。
代理是组合的一种特殊形式。假设我们有上文的class A的对象a,如果要用class B提供的接口时,一般是a.b.function()或是a.b.field。如果我们这里不想暴露class B ...
- 2009-04-07 16:50
- 浏览 1275
- 评论(0)
一般的内部类是不能有static (data/field/function)的,因为普通的内部类必须创建对象,不需要有static只属于内部类本身,所以static对普通内部类来说是没有意义也是不允许的。同样,嵌套类也是static,所以一般的内部类中也不能有嵌套类。
嵌套类可以有static,由于嵌套类对象的创建不需要外部类对象,所以嵌套类是无法通过Outer.this来连接到外部类对象的。所以根据[0x0012]中关于内部类访问访问外部类field和function的说明,在嵌套类中要访问外部类的field和function应该避免重名的现象发生。
static内部类表示这个 ...
- 2009-04-05 21:40
- 浏览 1441
- 评论(0)
内部类的一个重要作用是隐藏继承或是对接口的实现,典型的形式是:内部类来继承或是实现接口,由外部类提供代理constructor方法。这些代理constructor方法一般都利用的向上转型,即不返回内部类对象,而是返回内部类继承的父类对象或是实现的接口对象。如:
interface Intf {...}
class Outer
{
class Inner implements Intf {...}
public Intf createInner
{
return new Inner();
}
}
而匿名内部类实际是对上述代码的简化,如:
interfa ...
- 2009-04-05 19:04
- 浏览 1648
- 评论(0)