`
躁动的绵羊
  • 浏览: 95894 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
为何引入名称空间? XML的用途不是单一的。虽然读者可能看到编写只使用一个标记符号集的文档是相当有用的。 但是,问题是,当混杂和匹配不同的XML应用程序的标记时,可能会发现同一个标记已用于两个不同对象。TITLE是指页标题还是书的标题?ADDRESS是指公司的邮件地址还是Web站点管理人员的电子邮件地址?名称空间(namespace)可以解决这些诸如此类的问题,它是将URI与各标记集相关联,并在每个元素前加上一个前缀,以表示它属于哪个标记集。于是,就可以有BOOK:TITLE和HTML:TITLE两个元素或 POSTAL:ADDRESS和HTML:ADDRESS元素,而不只一类TITLE或A ...
内部Dtd 一个“有效的”文件首先应该是“形式良好”的。但这还远远不够,它还要往前更进一步。一个XML文件必须遵守文件类型描述Dtd(Document Type Definition)中定义的种种规定。所有的文件都是由序言和文件体构成的。序言中 ...
什么是XML XML即为可扩展的标记语言(eXtensible Markup Language)。XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。 XML是标记语言。理解XML,首先要理解标记。先说说HTML的标记(Markup),通俗地 ...
     java栈概述          记得当初我学习java时,常常听见身边的朋友说:“你要记住,当new一个对象时,对象的引用存放在栈里,而对象是存放在堆里的”。当时,听到这句教导时,脑海里立即出现栈的模型——里面存的仅仅是个引用。最近,看了下《深入JVM》,才发现,原来栈并不是我想象的那么简单,它和我想象中的那个栈的结构差别非常大。      每当启用一个线程时,JVM就为他分配一个JAVA栈,栈是以帧为单位保存当前线程的运行状态。某个线程正在执行的方法称为当前方法,当前方法使用的栈帧称为当前帧,当前方法所属的类称为当前类,当前类的常量池称为当前常量池。当线程执行一个方法时,它会 ...
   嫉妒是什么       七宗罪中,嫉妒位于骄傲与暴怒之间,但不像贪欲、淫欲、暴食或懒惰这些恶习,后者多多少少都带着点诱惑,可以让投入其中者感受到一点放纵的愉悦——也许这是诱惑我们犯罪的理由。嫉妒这种恶习 ...
上篇文章主要描述了一下垃圾收集器的收集方式以及收集器的种类。如果对垃圾收集器还不是很了解的朋友可以去网上搜索下资料看看,或直接看《深入JVM》,如果觉得麻烦,可以看看我上篇blog。地址是:  http://xtu-tja-163-com.iteye.com/blog/771401      使用垃圾收集器要注意的地方   下面将提出一些有关垃圾收集器要注意的地方和一些面试题的分析。垃圾收集器知识很多,下面我只列出一部分我觉得有用的知识:   1. 每个对象只能调用finalize(   )方法一次。如果在finalize(   )方法执行时产生异常(exception),则该对象 ...
 垃圾收集的目的在于清除不再使用的对象。gc通过确定对象是否被活动对象引用来确定是否收集该对象。gc首先要判断该对象是否是时候可以收集。两种常用的方法是引用计数和对象引用遍历。   引用计数收集器   引用计数 ...
     最近看了许多谈论编程语言的例子,本人也忍不住想发表点看法,这只是本人看法,没有任何针对性,希望观点不同的朋友请勿见怪。      现谈论最多的就是C/C++和java的比较,大致内容是在争论哪门语言更有“钱途”,哪门语言更好等等。关于这些,我不想发表任何评论,也没有资格评论,因为我对C不太了解,也没有C/C++的开发经验。但我也有自己的观点,那就是:没有一门编程语言在所有方面都是最好的,选语言就选适合自己的。同时,我也做了几年的java开发,所以,就说说对java的认识吧。      java的特点      java最大的特点就是上手容易,说的夸张点就是是个人都可以搞java。各位别 ...
     上篇文章主要分析了类加载器的种类以及加载规则。下面,将主要分析下与加载器有关的java程序动态扩展。       这篇文章只挑了类加载器的一个问题来分析,如果要想了解类加载器的一些常见问题以及自定义类加载要注意的一些细节,可以参考我的上篇文章:     http://xtu-tja-163-com.iteye.com/blog/770401      Java的连接模型允许用户运行时扩展应用程序,既可以通过当前虚拟机中预定义的加载器加载编译时已知的类或者接口,又允许用户自行定义类装载器,在运行时动态扩展用户的程序,这就是Java程序动态扩展(运行时加载类)。java动态扩展有两种方式 ...
     在类生命周期里面分析过,类首先要被加载,形成一个Class实例,然后进行动态连接,然后进行初始化、实例化等,最后在类型不可触及时,被卸载收集。然而类是被什么加载到JVM内存里的呢?当然是类加载器。下面,详细分析下类加载器。 文章参考:http://weiwu83.iteye.com/blog/141207  (这位同学排版且整理的比较乱,我重新整理下)    超好的资料: http://www.ibm.com/developerworks/cn/java/j-lo-classloader/index.html          类加载器种类     类加载器包括JVM自带的加 ...
     上面主要分析了方法区以及方法区中的静态区域,下面将主要分析下常量池。常量池主要涉及到常量池里的内容和常量池解析这两块,这篇文章主要分析下常量池概念,大致说下常量池解析,以加深对常量池的理解。       在方法区中,每个类型都对应一个常量池,常量池中存储了诸如文字字符串、final变量值、类名和方法名常量。JVM把常量池组织为入口列表的形式,可通过索引来访问常量池中的各个入口,每个常量池入口的第一个字节都是个标志,用这个标志来表示该入口中存储的常量类型,如CONSTANT_Long表示里面存储的是long类型字面值,CONSTANT_Class_info表示里面存的是某个Class的类 ...
    当JVM使用类装载器装载某个类时,它首先要定位对应的class文件,然后读入这个class文件,最后,JVM提取该文件的内容信息,并将这些信息存储到方法区,最后返回一个class实例。上面是对类的装载过程作了个简单的描述,看 ...
   上篇文章已经说了类型生命周期中的装载及连接过程,下面将主要描述下初始化过程。         首先要搞清楚初始化和实例化之间的区别:实例化是根据指定类型,在堆中生成一个实例对象,而初始化则不是,它所作的处 ...
类型:类的描述信息,如此类有哪些局部变量、方法以及它的父类是什么等 类型存储地址:内存中的方法区 类型的生命周期的简单描述 类型生命周期过程: 装载——>连接——>初始化——>卸载 装载:把二进制的java类型(class文件)读入到java虚拟机中 连接:把读入的类型数据合并到虚拟机运行状态中去,连接包括三个子步骤:验证、准备和解析 初始化:给类型变量赋予适当的初始值 整个过程如下图所示:         下面对类的生命周期作个详细描述     类的装载         如上所说,装载即是读入二进制数据流到内存中的方法区(指定Class文件内容),并形成一定的 ...
     首先,请JE上的高手、老鸟们原谅我把这道题拿出来讨论,也许,这题对你们来说只是小菜一碟,我却是觉得这种题目比较少见,我也不太清楚。但是,我想拿出来与大家分享下,讨论讨论,希望能挖掘出它的原理,让不清楚的小鸟们长长见识,当然也包括我,呵呵!            这是一道用友的面试题。题目是:请优化下面代码,并给出原因:          for(int i = 0;i<10000;i++) { for(int j = 0;j<1000;j++) { ...
Global site tag (gtag.js) - Google Analytics