本月博客排行
-
第1名
wy_19921005 -
第2名
mft8899 -
第3名
java-007 - benladeng5225
- Anmin
年度博客排行
-
第1名
龙儿筝 -
第2名
宏天软件 -
第3名
benladeng5225 - wy_19921005
- vipbooks
- kaizi1992
- 青否云后端云
- e_e
- tanling8334
- sam123456gz
- arpenker
- zysnba
- fantaxy025025
- xiangjie88
- wallimn
- lemonhandsome
- ganxueyun
- jh108020
- Xeden
- xyuma
- zhanjia
- wangchen.ily
- johnsmith9th
- zxq_2017
- forestqqqq
- jbosscn
- daizj
- xpenxpen
- 喧嚣求静
- kingwell.leng
- lchb139128
- kristy_yy
- jveqi
- javashop
- lzyfn123
- sunj
- yeluowuhen
- ajinn
- lerf
- silverend
- chenqisdfx
- xiaoxinye
- flashsing123
- bosschen
- lyndon.lin
- zhangjijun
- sunnylocus
- lyj86
- paulwong
- sgqt
最新文章列表
java的类加载
原文转载自:http://java.chinaitlab.com/base/804400.html
类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java Applet 需要从远程下载 Java 类文 ...
远程执行小工具
今天想给项目写个远程执行的小工具
1.客户端动态编译要远程执行的代码
2.通过网络将编译好的字节码传输到服务端
3.服务端留一个类装载器的接口
4.对客户端传输过来的字节码做一定修改(复杂了的不好改,修改常量池还是不难实现的,比如需要输出信息到客户端,却又想用System.out输出,修改常量池就好了,不然System.out只能输出在服务端)
5.用自定义的ClassLoader将要执行的类 ...
自定义ClassLoader
Java 中的类加载器大致可以分成两类,一类是系统提供的,另外一类则是由 Java 应用开发人员编写的。系统提供的类加载器主要有下面三个:
引导类加载器(bootstrap class loader):它用来加载 Java 的核心库,是用原生代码来实现的,并不继承自java.lang.ClassLoader。
扩展类加载器(extensions class loader):它用来加载 ...
Java 类加载器的种类
1、定义:
寻找类或接口字节码文件进行解析并构造JVM内部对象表示的组件。
2、种类:
BootstrapClassLoader:用C++编写的,装载jre中的核心类库;
ExtClassLoader:装载jre目录下的ext中的jar类;
AppClassLoader:装载ClassPath路径下的类.
UrlClassLoader:装载Url指定的类;
3、测试:
...
jvm类加载机制
原文地址:http://www.iteye.com/topic/1005717
1. ClassLoader 类加载器(class loader)用来加载 Java 类到 Java 虚拟机中。Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件)。类加载器负责读取 Java 字节代码,并转换成 java.lang.Cl ...
ClassLoader
1.类加载器概述 类加载器是一个对象,是负责加载类.在JVM是通过类加载器的调用LoadClass方法加载类对象. 类加载器结构: 1. 引导类加载器(bootstrap class loader):它用来加载 Java 的核心库,是用原生代码来实现的[null] 2. 扩展类加载器(extensions class loader):它用来加载 Java 的扩展库。Java 虚拟机的实现会提供一个扩 ...
Weblogic与Java类加载器原理试验解析
通过试验,得出一个结论, 假设在Weblogic的Server/lib下有一个类,与应用的Webapp/WEB-INF/classes下的类名相同,方法名也相同,仅有在后台打印出来的字符的稍许差别,那在Weblogic启动后,无论个文件夹中的类谁是新编译的(版本新或旧),应用系统均默认是使用server/lib下的类,而不是引用Webapp/WEB-INF/classes下的类。
一、通过翻阅大量 ...
Java类加载原理解析
Java类加载原理解析
1 基本信息
摘要:
每个java开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。Java的类加载机制是java技术体系中比较核心的部分,虽然和大部分开发人员直接打交道不多,但是对其背后的机理有一定理解有助于排查程序中出现的类加载失败等技术问题,对理解java虚拟机的连接模型 ...
自定义ClassLoader,让spring加载外部的配置文件和类
今天同事遇到一个需求:
在外部以jar包的形式存放若干个插件,其中包含插件的类,以及spring配置文件;jar包不在classpath里
要实现这个需求,需要用到自定义的ClassLoader,并调用一些spring提供的API
首先是jar包的结构:
其中net文件夹下面,放了要从外部加载的目标类
package net.kyfxbl.test;
public class ...
difference between NoClassDefFoundError&ClassNotFoundException
最明显的区别:
The difference between the two is that one is an Error
and the other is an Exception
.
ClassNotFoundException一般在ClassLoader去加载的时候如果找不到,直接在加载器里面就跑出了异常,注意是在loader里面抛出来的
NoClassDefFoundE ...
classloader简介
一、基本classloader体系
默认有3个classloader,分别是bootstrap、extension、app(system)
bootstrap是在JVM启动时加载的,会读取$JAVA_HOME/lib下的class
extension会读取$JAVA_HOME/lib/ext下的class
app,也称为system,加载应用程序所需的class,是由classpath变量指 ...
java classloader实例
贴一个java classloader的小例子
package com.basic;
import junit.framework.TestCase;
public class MyClassLoaderTest extends TestCase {
public MyClassLoaderTest(){}
public void testClass() ...
tomcat的classloader机制
本系列博客打算分析一下tomcat7.x的源码,其中可能会穿插一些java基础知识的介绍
读tomcat的源码的时候,我建议和官方的User Guide一起阅读,明白tomcat做某件事情的目的之后,看源码会容易一点。另外,debug当然是一个非常重要的工具。源码上了规模之后,如果单纯静态地看,基本是看不出什么来的,但是跟着数据流走一走,很多问题就清楚了
debug环境的搭建方法,请看另外一篇博 ...
自己实现的XML和Entity映射工具XmlHandler
公司不允许随便下载第三方jar包,但是公司lib库中的jar又非常老,更新需要申请,很多时候都是自己去写一些工具类,这次遇到xml处理的一些程序,于是自己写了一个工具类。这个比较粗糙,属于Test版本。
实体类注解@XmlEntity:
package com.cugxw.utils;
import java.lang.annotation.ElementType;
import jav ...
OSGI原由
软件的复杂度总是越来越高,为了解决人有限的处理能力和它之间的矛盾,就要用到“内聚”,也就是说将“复杂度”封装起来,只暴露出少量必要的部分。
例如:高低电平信号->机器码->汇编指令->高级语言语句->函数(function或method)->类(class)->包(package) 就是一个复杂度封装的过程,就是一个“内聚”的过程。
模 ...
解读ClassLoader
ClassLoader一个经常出现又让很多人望而却步的词,本文将试图以最浅显易懂的方式来讲解 ClassLoader,希望能对不了解该机制的朋友起到一点点作用。 要深入了解ClassLoader,首先就要知道ClassLoader是用来干什么的,顾名思义,它就是用来加载Class文件到JVM,以供程序使用的。我们知道,java程序可以动态加载类定义,而这个动态加载的机制就是通过ClassLoader ...
JVM学习笔记(八):类加载器以及双亲委派模型介绍
本章内容根据《深入理解Java虚拟机》第7章部分内容整理
1.什么是类加载器?
在类加载阶段,有一步是“通过类的全限定名来获取描述此类的二进制字节流”,而所谓的类加载器就是实现这个功能的一个代码模块,这个动作是在Java虚拟机外部实现的,这样做可以让应用程序自己决定如何去获取所需要的类。
类加载器的作用:首先类加载器可以实现最本质的功能即类的加载动作。同时,它还能够 ...