Class.getResourceAsStream() 会指定要加载的资源路径与当前类所在包的路径一致. 例如你写了一个MyTest类在包com.test.mycode 下,那么MyTest.class.getResourceAsStream("name") 会在com.test.mycode包下查找相应的资源. 如果这个name是以 '/' 开头的,那么就会从classpath的根路径下开始查找.     ClassLoader.getResourceAsStream()  无…
查了一些资料也不是太明白两个的区别,但是前者是最安全的用法 打个简单的比方,你一个WEB程序,发布到Tomcat里面运行.首先是执行Tomcat org.apache.catalina.startup.Bootstrap类,这时候的类加载器是ClassLoader.getSystemClassLoader().而我们后面的WEB程序,里面的jar.resources都是由Tomcat内部来加载的,所以你在代码中动态加载jar.资源文件的时候,首先应该是使用Thread.currentThread…
1 &逻辑与:有false则false.         |逻辑或:有true则true.         ^逻辑异或:相同为false,不同为true.            举例:情侣关系.男男,男女,女男,女女         !逻辑非:非false则true,非true则false.            特点:偶数个不改变本身. 2     &&和&的区别? 同理||和|的区别?         A:最终结果一样.         B:&&具有短路…
1.ClassLoader.getResourceAsStream() 与Class.getResourceAsStream()的区别 例如你写了一个MyTest类在包com.test.mycode 下,那么MyTest.class.getResourceAsStream("name") 会在com.test.mycode包下查找相应的资源.      如果这个name是以 '/' 开头的,那么就会从classpath的根路径下开始查找.       ClassLoader.getRe…
类加载器概述: java类的加载是由虚拟机来完成的,虚拟机把描述类的Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成能被java虚拟机直接使用的java类型,这就是虚拟机的类加载机制.JVM中用来完成上述功能的具体实现就是类加载器.类加载器读取.class字节码文件将其转换成java.lang.Class类的一个实例.每个实例用来表示一个java类.通过该实例的newInstance()方法可以创建出一个该类的对象. 类的生命周期: 类从加载到虚拟机内存到被从内存中释放,经历的…
声明:本文所有例子中的 properties 文件均放在 src 目录下,ecclipse 软件自动增加 一.基本概念 1.1  properties文件,存储格式 键=值. properties文件特点: 1.键值对格式 2.“ = ”等号后面,值前面,的空格,会自动忽略掉 3.值后面的空格,不会忽略 4.“ = ”等号后面的双引号,不会忽略 5.“ # ”井号后面内容,为注释,忽略 1.2 Java的 Properties 类 属性映射(property map) 是一种存储键/值对的数据结…
Java 笔记整理 包含内容     Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, Ejb, java和模式 Linux/Unix笔记 inode :存储编号(地址) ls -k:查看磁盘分区 ls -li:显示当前文件的inode号. 目录的大小跟文件的大小有关,跟目录里的文件(目录)数量无关. 一行多个命令的话,中间用分号分开.如:pwd;cal;date last | grep…
Java笔记:Java内存模型 2014.04.09 | Comments 1. 基本概念 <深入理解Java内存模型>详细讲解了java的内存模型,这里对其中的一些基本概念做个简单的笔记.以下内容摘自 <深入理解Java内存模型>读书总结 并发 定义:即,并发(同时)发生.在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行. 并发需要处理两个关键问题:线程之间如何通信及线程之间如…
Effective Java笔记一 创建和销毁对象 第1条 考虑用静态工厂方法代替构造器 第2条 遇到多个构造器参数时要考虑用构建器 第3条 用私有构造器或者枚举类型强化Singleton属性 第4条 通过私有构造器强化不可实例化的能力 第5条 避免创建不必要的对象 第6条 消除过期的对象引用 第7条 避免使用终结方法 第1条 考虑用静态工厂方法代替构造器 对于类而言, 最常用的获取实例的方法就是提供一个公有的构造器, 还有一种方法, 就是提供一个公有的静态工厂方法(static factory…
本文为在公司内部TD上写的一篇小文, 主要讲解java中classLoader基础知识, 现在拿来这里分享一下. 一.问题 请在Eclipse中新建如下类,并运行它: 1 package java.lang; 2 3 public class Long { 4 public static void main(String[] args) { 5 System.out.println("Hi, i am here"); 6 } 7 } 你能猜到它的运行如果吗? 不错,就是如下这个样子!…
##默认的三个类加载器 Java默认是有三个ClassLoader,按层次关系从上到下依次是: - Bootstrap ClassLoader - Ext ClassLoader - System ClassLoader Bootstrap ClassLoader是最顶层的ClassLoader,它比较特殊,是用C++编写集成在JVM中的,是JVM启动的时候用来加载一些核心类的,比如:`rt.jar`,`resources.jar`,`charsets.jar`,`jce.jar`等,可以运行下…
--2013年7月26日17:49:59 学习java已久,趁最近有空,写一个总结: java笔记01-反射:…
默认的三个类加载器 Java默认是有三个ClassLoader,按层次关系从上到下依次是: Bootstrap ClassLoader Ext ClassLoader System ClassLoader Bootstrap ClassLoader是最顶层的ClassLoader,它比较特殊,是用C++编写集成在JVM中的,是JVM启动的时候用来加载一些核心类的,比如:rt.jar,resources.jar,charsets.jar,jce.jar等,可以运行下面代码看都有哪些: URL[]…
先简单介绍下java的classloader,网上资料很多,就说点关键的. Java 中的类加载器大致可以分成两类,一类是系统提供的,另外一类则是由 Java 应用开发人员编写的.系统提供的类加载器主要有下面三个: 引导类加载器(bootstrap class loader):它用来加载 Java 的核心库,是用原生代码来实现的,并不继承自 java.lang.ClassLoader. 扩展类加载器(extensions class loader):它用来加载 Java 的扩展库.Java 虚拟…
APPLIES TO: Oracle WebLogic Server - Version 10.0 to 10.3.6Information in this document applies to any platform. SYMPTOMS The WLST connect command hangs up because of a Java VM ClassLoader deadlock issue. You will see the following thread stacks in t…
原文:深度分析Java的ClassLoader机制(源码级别) 为了更好的理解类的加载机制,我们来深入研究一下ClassLoader和他的loadClass()方法. 源码分析 public abstract class ClassLoader ClassLoader类是一个抽象类,sun公司是这么解释这个类的: /** * A class loader is an object that is responsible for loading classes. The * class <tt>…
1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么. - 继承:继承是从已有类得到继承信息创建新类的过程.提供继承信息的类被称为父类(超类.基类):得到继承信息的类被称为子类(派生类).继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段(如果不能理解请阅读阎宏博士的<Java与模式>或<设计…
一.什么是ClassLoader? 大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所以经常要从这个class文件中要调用另外一个class文件中的方法,如果另外一个文件不存在的,则会引发系统异常.而程序在启动的时候,并不会一次性加载程序所要用的所有class文件,而是根据程序的需要,通过Java的…
java.lang.OutOfMemoryError: PermGen space at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:800) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at org.apache.catalin…
参考资料:http://www.ntu.edu.sg/home/ehchua/programming/java/javanativeinterface.html(很详细) 看jdk源代码时,经常会看到类似下面的代码: private native int read0() throws IOException;  该类接口需要由c/c++实现.言下之意,它的实现与特定操作系统密切相关. 1.尝试自己实现一个简单的native接口: public class TestNativeMethod { p…
先简单介绍下java的classloader,网上资料很多,就说点关键的. Java 中的类加载器大致可以分成两类,一类是系统提供的,另外一类则是由 Java 应用开发人员编写的.系统提供的类加载器主要有下面三个: 引导类加载器(bootstrap class loader):它用来加载 Java 的核心库,是用原生代码来实现的,并不继承自 java.lang.ClassLoader. 扩展类加载器(extensions class loader):它用来加载 Java 的扩展库.Java 虚拟…
1. 垃圾回收算法 标记-清除算法 标记-清除算法是最基本的算法,和他的名字一样,分为两个步骤,一个步骤是标记需要回收的对象.在标记完成后统一回收被标记的对象.这个算法两个问题.一个是效率问题,标记和清除的效率不高.第二个问题是标记-清除之后会有大量不连续的碎片空间,如果我们需要更大的连续内存就必须GC. 复制算法 复制算法,不同于标记-清除,复制算法大多数用于新生代,它需要大小相等的两块内存,每次只使用一块内存,当GC的时候会把这块内存存活的对象复制到另外一块内存上面,解决了时间效率和空间碎片…
classLoader,从名字就可以知道,用于加载class的东西. 我们知道在Java中,源文件是会被编译成class文件的,我们的程序的运行也是需要依赖这些编译成字节码的class文件,而这些字节码文件就必须要被classLoader加载到内存之后才能使用...如果classLoader无法加载到我们要用的类型的class文件,那么将会抛出classnodfound的异常... 先用一张图来整体描述一下java标准中定义的classLoader的层次吧: 在整个定义中,一共有两种类型的加载器…
垂阅前必看: 这都是我总结的我觉得是学习servlet应该掌握的,我在学习期间也做了一个博客项目来让所学的知识得以巩固.下面就是博客项目链接.前面的servlet相关的笔记总汇,还有就是我把觉得在学习过程中容易混淆的知识点再次拿出来总结了一番,希望对大家有帮助. 学习了Servlet就可以更好的学习JSP了,后期我还会慢慢更新JSP相关的知识.在此祝福学习Java的小伙伴们快快变成大神. 当然欢迎大家来Java技术交流群哦,现在人还比较少,(*^__^*) 嘻嘻……欢迎您的加入! Servlet…
Java笔记 -- 继承 h2{ color: #4ABCDE; } a{ text-decoration: none!important; } a:hover{ color: red !important; text-decoration: underline !important; } pre{ border: solid 1px #CCCCCC; border-radius: 3px; background-color: #F8F8F8; margin: 15px; overflow: a…
Java笔记 -- 方法重载和方法重写 h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: red !important; text-decoration: underline !important; } pre{ border: solid 1px #CCCCCC; border-radius: 3px; background-color: #F8F8F8; margin: 15px; ove…
Java笔记 -- 初始化 h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: red !important; text-decoration: underline !important; } pre{ border: solid 1px #CCCCCC; border-radius: 3px; background-color: #F8F8F8; margin: 15px; overflow:…
Java笔记 -- this 关键字 h2{ color: #4ABCDE; } a{ color: blue; text-decoration: none; } a:hover{ color: red; text-decoration: underline; } pre{ border: solid 1px #CCCCCC; border-radius: 3px; background-color: #F8F8F8; margin: 15px; overflow: auto; font-siz…
Java 笔记 -- java 和 javac h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: red !important; text-decoration: underline !important; } pre{ border: solid 1px #CCCCCC; border-radius: 3px; background-color: #F8F8F8; overflow: aut…
java的classLoader原理理解和分析 学习了:http://blog.csdn.net/tangkund3218/article/details/50088249 ClassNotFoundException 就是没有类: NoClassDefFoundError 是之前有,后来又被删除了:…