`
文章列表
为什么可以,最主要原因就是java中的泛型采用的是擦除方案,在编译过后T被替换成了Object类型了,所以在运行不会报ClassCastException类型转换错误。 public class Test<T> { public static void main(String[] args) { //转型错误ClassCastException //String[] strArr = (String[]) new Object[1]; new Test<String>().test(new String("str")); ...
  JavaBean 的事件   一、事件概述   事件处理是JavaBean体系结构的核心之一。通过事件处理机制,可让一些组件作为事件源,发出可被描述环境或其它组件接收的事件。这样,不同的组件就可在构造工具内组合在 ...
JavaBean 中的属性   JavaBean 的属性与一般Java 程序中所指的属性,或者说与所有面向对象的程序设计语言中对象的属性是一个概念,在程序中的具体体现就是类中的变量。在JavaBean 的设计中,按照属性的不同作用又细分为四类:          单值属性          索引属性          关联属性          限制属性   一、 单值属性   它表示一个伴随有一对get/set 方法的变量。属性 ...
系统在运行时,有时候我们要控制它同时允许多少个线程运行,如果太多可能引起内存溢出之类的异常,所以在线程比较多的情况下我们可以控制它的最大线程数,这样系统可以在一种比较稳定的状态下运行。下面是一个简单实现,可以少加修改用在系统中去。   package thread; public class CreateThread { public static void main(String[] args) throws InterruptedException { //比如我们现要创建30个子线程,但允许最大线程数为10 for (int i = 0; i < 3 ...
首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程(当前线程)自己使用的对象,其他线程是不能访问得到的,各个线程中访问的是不同的对象。另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,并不是通过ThreadLocal.set()来实现的,而是通过每创建一个新的线程就会有一个ThreadLocal.ThreadLocalMap threadLocals,每个线程在适当的时候(在当前线程中第一次访问ThreadLocal的get或set方式时)创建一个这样的threadLocals变量,不 ...
log4j.properties全配置 ###############################log4j.properties############################### ##### Global Log Level(OFF,FATAL,ERROR,WARN,INFO,DEBUG,ALL) ############# log4j.rootLogger=DEBUG,STDOUT,DB ###### STDOUT Logger ############### log4j.appender.STDOUT=org.apache.log4j.ConsoleAp ...
线程的状态图贴于此:          
import java.io.InputStream; import java.util.ArrayList; public class JavaExcCommand { private static String INPUT_STREAM = "INPUTSTREAM"; private static String ERROR_STREAM = "ERRORSTREAM"; /** * 返回命令执行结果信息串 * @param command 要执行的命令 * @return 第一个为标准信息,第二个为错误信息, ...
今天在研究javamail发信的过程中,出现了一些小问题,现总结如下,以免后来者走些不必要的弯路,先把完整的能够正常运行的代码示例粘贴如下:  import java.util.Properties; import javax.activation.DataHandler; import javax.activation.DataSource; import javax.activation.FileDataSource; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.Mul ...
Log4j的类图   Logger - 日志写出器,供程序员输出日志信息 Appender - 日志目的地,把格式化好的日志信息输出到指定的地方去 ConsoleAppender - 目的地为控制台的Appender FileAppender - 目的地为文件的Appender RollingFileAppender - 目的地为大小受限的文件的Appender Layout - 日志格式化器,用来把程序员的logging request格式化成字符串 PatternLayout - 用指定的pattern格式化logging requ ...
其实您也可以完全不使用配置文件,而是在代码中配置Log4j环境。但是,使用配置文件将使您的应用程序更加灵活,不建议直接在代码里对日志环境进行设置 。 Log4j支持两种配置文件格式,一种是XML(log4j.xml )格式的文件,一 ...
1 . Commons-Loggin 简介 Jakarta Commons Logging (JCL) 提供的是一个日志 (Log) 接口 (interface) ,同时兼顾轻量级和不依赖于具体的日志实现工具 。它提供给中间件 / 日志工具开发者一个简单的日志操作抽象,允许程序开发人员使用不同的具体日志实现工具。用户被假定已熟悉某种日志实现工具的更高级别的细节。 JCL 提供的接口,对其它一些日志工具,包括 Log4J, Avalon LogKit, and JDK 1.4 等,进行了简单的包装,此接口更接近 ...
import java.util.HashMap; import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** * 日志代理类,在记录异常日志时,只传入一个异常对象也 * 能直接打印异常对象栈调用信息,并加上了日志开关。 * * 但有个问题,如果log4j配置文件中的日志输出格式中有 %l * 时不准确,记录的不是业务调用的方法位置,而是该类调用 * debug()、info()等方法的位置 ...
1、用javac 命令编译一个打包的类时,如果没有加参数"-D"时,则编译出的类不会放在包中,是没有路径的,除非用参数"-D"指定类存放的位置。 编译时可以使用以下实用参数: -verbose                             输出有关编译器正在执行的操作的消息 -encoding <编码>                指定源文件使用的字符编码 -classpath <路径>               指定查找用户类文件的位置 -cp <路径>                   ...
如果我们的属性配置文件中含有中文的话,我们一使用java.util.Properties直 接读取时会出乱码,现打开API读了一下,它是使用ISO 8859-1字符集编码来读取属性配置文件的,这样肯定会出乱码啊,这就解解释了为什么Struts中国际化文本中含有中文时,为什么要使用 native2ascii来把那些非ASCII字符转换成Unicode表示形式,如“提”转换后为 \u63d0 。以下是API说明部分:When saving properties to a stream or loading them from a stream, the ISO 8859-1 charact ...
Global site tag (gtag.js) - Google Analytics