`
DLevin
  • 浏览: 37441 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
在上文《Java中的ClassLoader》中,已经对ClassLoader做了介绍。在那里也提到过了部分关于ClassLoader的扩展,那么下面我将简单的实现一些自定义的ClassLoader。   ClassLoader中提供了三个方法用于子类扩展其行为: findResource findResources findClass 从它们的名字中已经能知道它们的行为了,因而就不做过多的解释了。
  Java中类的加载过程(如Dog类):   1.       通过类型信息定位Dog.class文件。 2.       载入Dog.class文件,创建相应的Class对象。 3.       执行父类的静态字段定义时初始化语句和父类的静态初始化块。 4.
首先来比较两段代码所产生的中间代码:   public class AppConfig {     public static final boolean
在Java中,系统属性是通过System.getProperty(String key)来获取的,也可以通过System.setProperty(String key, Object value)来设置。 对于获取系统属性的代码是非常简单的,主要是把所有系统默认存储的属性打印出来,以后就可以直接查了,不用每次都去Google。   代码:        Properties props = System.getProperties();        for(Entry<Object, Object> entry : props.entrySet()) {
读取Jar文件的内容可以通过JarInputStream来实现(继承于ZipInputStream)。 Java中通过ZipEntry来表示Jar中的一项。 JarInputStream提供getNextEntry()方法以遍历Jar文件中的每一项。 JarInputStream提供getManifest()方法以获取Manifest中定义的信息。 JarInputStream提供read()

Void类的用法

    博客分类:
  • Tips
今天在看ClassLoader源码的时候,突然发现里面有一个叫Void的类使用,代码看起来挺新颖的,摘下来,以备后用。   public abstract class ClassLoader {     private static
问题重现: 今天一刚开始学Java的同学在接触Jsp的时候遇到了一个比较诡异的问题,他在JSP中始终无法使用自己写的类。简单的演示问题代码:   //没有定义包名 public class MyDefaultClass { }
问题重现 让我们先来看一下以下的程序: public class StaticInitSequence { //-------------------Static fields------------------- private static int staticIntVar = 10; private static int staticComputeIntVar = (int)(Math.random() * 10); private static String staticStrVar = "Static field init(before)"; ...
Java接口中的字段默认都是静态常量,不管在编码的时候有没有显示的指定static或者final。   如以下接口: public interface AccessFlag {     public
接:finally知多少(一) 问题解释 结合《深入Java虚拟机(第二版)》这本书和代码编译后产生的二进制指令代码,我对以上问题做了部分解释,鉴于我的才疏学浅,有些观点是有误的,希望高手指正(有误的观点容易引起误导,这也是所以我一直非常小心,奈何水平有限,有些时候难免出错)。   在《深入Java虚拟机(第二版)》的第18章中提到,在早期的Java中,finally的行为是通过JSR指令来实现的,并且为这个指令引入了微型子程序的概念。我的理解,所谓微型子程序就是在函数A中嵌入一个不完整的函数B的调用。比如在这本书上的一个例子: private stat
问题重现 先来看一下以下的代码,猜猜他们会是什么样的结果: public class FinallyIssue { public static void main(String[] args) { System.out.println("finallyReturnTest : "); System.out.println("return value : " + finallyReturnTest(1)); System.out.println("return value : " + finally ...
  今天发现把 jar 文件或 .class 文件放在系统配置的 CLASSPATH 目录下,然而在 eclipse 的工程中却是无法加载的 ( 通过 ClassLoader 去加载相应的类 ) 。最后我发现 eclipse 应该是重新设置了 CLASSPATH 的值了,也正因为这样它才能运行其 bin 目录下的文件。如打开工程目录下的 .classpath 文件: <?xml version="1.0" encoding="UTF-8"?> <classpath> ...
1、概述 在最初的 http 协议中,没有上传文件方面的功能。 rfc1867 ( http://www.ietf.org/rfc/rfc1867.txt ) 为 http 协议添加了这个功能。客户端的浏览器,如 Microsoft IE, Mozila, Opera 等,按照此规范将用户指定的文件发送到服务器。服务器端的网页程序,如 php, asp, jsp 等,可以按照此规范,解析出用户发送来的文件。 Microsoft IE, Mozila, Opera 已经支持此协议,在网页中使用一个特殊的 form 就可以发送文件。 绝大部分 http server ,包括 tomca ...
Servlet是基于HTTP协议的,因而深入了解HTTP协议的消息格式,对理解Servlet有很大的帮助。事实上,HttpServletResponse就是对HTTP响应消息的一种封装。 Reponse的消息格式如下: [HTTP-Version][SP][Status-Code][SP][Reason-Phrase][CRLF] // Status Line [headers(key: value)]* [CRLF] [Message-Body] 注:SP为空格 CRLF为回车换行 如: HTTP/1.1 200 OK Content-Type: text/html Header2: ...
最近突然想看看HTTP的消息到底是怎么回事,在网上搜了几款软件来监控,并且搜到了下面的文章,感觉介绍的不错,就copy下来了。 下文摘自:http://www.imkevinyang.com/2009/11/%E3%80%90%E6%8E%A8%E8%8D%90%E3%80%91%E4%B8%A4%E6%AC%BEhttp%E6%B5%81%E9%87%8F% ...
Global site tag (gtag.js) - Google Analytics