可能重复:
为什么hibernate将HibernateException更改为RuntimeException(未选中)
将spring中的异常和hibernate保持为未经检查的异常的原因是什么?
只是为了减少编码时的混乱或者背后还有其他一些设计原理吗?
oracle 是否有根据 CLOB 字段的字节数获取子字符串的方法?
select DBMS_LOB.SUBSTR(a.COMMENTS, 3998, 1)
FROM FOO;
Run Code Online (Sandbox Code Playgroud)
我收到错误:
“ORA-06502:PL/SQL:数字或值错误:字符串缓冲区太小”
. 问题出在特殊字符上。每个新的特殊字符需要 8 个字节,所以当我将字符串限制减少到 3992 时,它就可以工作了。
DBMS_LOB.SUBSTR(a.COMMENTS, 3992, 1) works.
Run Code Online (Sandbox Code Playgroud)
出于测试目的,我放置了许多特殊字符,但它再次抛出相同的错误。
oracle 是否有任何方法可以根据字节数而不是字符数查找子字符串?
实际上,我们正在从表中获取数据,需要在 UI 上显示,限制为 4000 个字符。所以,我们只想获取前 4000 个字符。由于,一个字符大小为 1 个字节,我们可以容纳 4000 个字节。因此,如果我们使用DBMS_LOB.CONVERTTOBLOB,我们可能无法正确显示获取的字符串。我们可以以某种方式将其转换回字符字符串吗?
为什么python不提供UserSet扩展和定义用户定义Set的类。它确实提供了UserDict,UserList,UserString但没有UserSet。
我指的是Python文档
我们什么时候应该在java中使用finalize()方法?
如果我们想在finalize()方法中关闭连接,那么最好使用下面的代码等待GC调用finalize()方法然后释放连接没有意义
try{
// Connection creation
}finally{
//close connection
}
Run Code Online (Sandbox Code Playgroud)
所以问题是finalize()方法今天有没有相关性?
我们在flex中有一个应用程序,它部署在负载均衡的Tomcat 6.0上(有一个负载均衡器将请求传递给2个tomcat服务器).
访问应用程序时出现404错误.在挖掘tomat日志时,我们发现了以下错误
记录跟踪
2013-01-17 10:42:54,148 org.apache.catalina.session.ManagerBase - IOException while loading persisted sessions: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: bean.Login
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: bean.Login
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1332)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
..
2013-01-17 10:43:04,135 org.apache.catalina.session.ManagerBase - Exception loading sessions from persistent storage
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: bean.Login
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1332)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
…
Caused by: java.io.NotSerializableException: bean.Login
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
Run Code Online (Sandbox Code Playgroud)
原因
出现此错误的可能原因是Tomcat尝试在关闭时序列化所有活动会话的完整对象图,然后在您重新启动时尝试恢复它们.这方面的关键是Tomcat使用"普通"java对象序列化,这要求所有对象都是Serializable.
我们已经在Spring中映射了Login bean,如下所示
<bean id="currLogin" class="bean.Login" scope="session">
<aop:scoped-proxy />
</bean>
Run Code Online (Sandbox Code Playgroud)
补救
短期
在弹出服务器后,我们可以在没有错误的情况下登录应用程序.
长期
请告诉我们解决此问题的方法?
它写在任何地方都不能覆盖静态方法,但是当我尝试减少访问说明符时,从public到protected,它会产生错误.例如
public class StaticOverrideFunda {
public static void foo(){
System.out.println("Parent Foo");
}
}
public class B extends StaticOverrideFunda{
protected static void foo(){
System.out.println("Child Foo");
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
B.foo();
}
}
Run Code Online (Sandbox Code Playgroud)
它说
无法降低继承方法的可见性
因此,它是遵循最重要的规则,为什么我们说foo没有在B类中被覆盖?为什么我们说它隐藏/阴影而不是覆盖?
为什么在反序列化时调用Food and Fruit类的构造函数,因为在下面的示例中没有调用SkinFruit和Banana2的构造函数?
假设我有以下类层次结构
class Food{
public Food() { System.out.println("1"); }
}
class Fruit extends Food {
public Fruit() { System.out.print("2"); }
}
class SkinFruit extends Fruit implements Serializable{
SkinFruit() { System.out.print("3"); }
}
public class Banana2 extends SkinFruit {
private static final long serialVersionUID = 1L;
int size = 42;
public static void main(String [] args) {
Banana2 b = new Banana2();
FileOutputStream fost;
try {
fost = new FileOutputStream(new File("d:/testbanana.ser"));
ObjectOutputStream oostr= new ObjectOutputStream(fost);
oostr.writeObject(b);
oostr.flush();
oostr.close();
} …Run Code Online (Sandbox Code Playgroud) 如果我们在Thread类的实例上调用wait()方法会发生什么.
Thread t1 = new MyThread();
t1.wait();
Run Code Online (Sandbox Code Playgroud)
我的线程t1的状态是什么?
java ×6
spring ×2
exception ×1
hibernate ×1
oracle ×1
oracle10g ×1
overriding ×1
python ×1
python-3.x ×1
tomcat ×1