最新文章列表

【Do家】通过Groovy动态加载Script类对象分析class object GC和unloaded Class关系

实际场景数据如下: # jstat -gccause 73 3000 10   S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT    LGCC                 GCC                 20.38   0.00  84.24  40.49  94.09  89. ...
can_do 评论(0) 有522人浏览 2021-07-28 15:28

被import 的类何时被哪个ClassLoader装载 &RestartClassLoader导致 java.lang.LinkageError错误

问题1:被import的class是什么时候加载,用哪个classLoader 加载? 问题2:  spring 的开发热部署工具devtools 是如何导致 java.lang.LinkageError 的呢? 针对问题1: 测试代码为: public class Parent { static{ System.out.println("parent static. ...
kangzye 评论(0) 有145人浏览 2021-01-14 15:55

java 类的加载 以及 ClassLoader

Class Loader  类加载器: 类加载器负责加载 JAVA 类的字节代码到JAVA 虚拟机中,可以根据指定的类名(如java.lang.Object)来装载class文件的内容到Runtime data area中的method area(方法区域)。JAVA程序员可以extends java.lang.ClassLoader类来写自己的Class loader。 类加载器负责加载所 ...
maosheng 评论(0) 有340人浏览 2020-04-16 09:43

类文件结构解析

就很好奇反编译出来自己写的代码,这里主要使用了五个工具,idea intellij、010edit、jgui、bytecode viewer、eclipse。   HelloWorld package com.google; import java.util.ArrayList; import java.util.List; public class HelloWorld ...
cywhoyi 评论(0) 有2011人浏览 2017-03-30 15:39

自定义类加载器与spring的集成

之前也学习过自定义类加载器,通过ClassLoader直接加载需要的类。但实际业务中启动入口常常不可控,比如实际业务中我们常常使用spring对类实例进行管理。如何在spring中集成自定义ClassLoader是需要我们考虑的问题。结合之前项目单机部署的一个方案,即class加密,自定义类加载器解密。因此,我们需要解决两个个问题: 1、自定义类加载器 2、spring与类加载器的集成 sprin ...
sheungxin 评论(3) 有10023人浏览 2017-01-13 16:08

自定义ClassLoader

进行实验 以下代码使用一个自定义类加载器,输出类加载器的层级结构和当前实例使用的类加载器 Class cl=new DefinedClassLoader("d:/").loadClass("HelloWorldServiceImpl"); HelloWorldService helloWorldService=(HelloWorldService)cl.ne ...
sheungxin 评论(0) 有787人浏览 2016-12-20 18:20

如何实现web项目单机部署

实现目标 实现项目部署包仅能在指定服务器部署,不可更改。更换位置,无法正常启动和访问。目前还没有完美的解决方案,有些思路还待验证。 实现方案 校验规则 校验当前服务器mac地址是否匹配 启动报错提示 方案1:自定义servlet,load-on-startup设置为0,在init方法中校验 方案2:定义ServletContextListener,在contextInitialized方法中 ...
sheungxin 评论(0) 有1000人浏览 2016-12-20 17:34

java classloader 浅析

本文只涉及java 的classloader体系以及classloader对class的加载行为,不涉及一个class的加载过程和生命周期ClassLoader 层级jvm classloader 分为3层,顶层是拿C语言 ...
wangyujie0431 评论(0) 有431人浏览 2016-12-12 23:38

Java之 ClassLoader 和 class 加载过程

Java 的 Class 加载 步骤 一、背景知识         1. java.lang.ClassLoader类介绍         <Abstract> java.lang.ClassLoader         java.lang.ClassLoader 类的基本职责就是根据一个指定的类的名称,找到其对应的二进制字节代码文件。     然后根据这个文件,生成一个 jav ...
Lixh1986 评论(0) 有1445人浏览 2016-12-07 11:16

Java自定义Class加载顺序

思路一 :打破双亲加载 1、在Java中默认的Class加载顺序都是父类委托加载,但是有些时候需要自定义加载顺序比如OSGI和ali的Pandora。 2、父类委托加载的基本实现思路,loadClass中在parent中查找class,要是不存在parent则使用findBootstrapClassOrNull调用native方法,要是找不到,使用其中findClass去查找。 3、普通自定义 ...
b2901102002 评论(0) 有1109人浏览 2016-12-01 17:33

深入分析ClassLoader

转(原文http://blog.csdn.net/xyang81/article/details/7292380) 一、什么是ClassLoader?          大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在 ...
无量 评论(0) 有711人浏览 2016-10-27 23:27

类加载器的双亲委派模型

双亲委派模型     从Java虚拟机的角度来讲,只存在两种不同的类加载器:一种是启动类加载器(Bootstrap ClassLoader),这个类加载器使用C++实现,时虚拟器自身的一部分;另一种就是所有其他的类加载器,这类加载器都由Java实现,独立于虚拟机外部,并且都继承自抽象类java.lang.ClassLoader。     从开发人员的角度来看,类加载器还可以划分的更细致一些,绝大部 ...
飞翔神话 评论(0) 有921人浏览 2016-10-01 10:55

教您使用DynamicGecco抓取JD全部商品信息

关于gecco爬虫框架 如果对gecco还没有了解可以参看一下gecco的github首页。gecco爬虫十分的简单易用。之前有一篇文章《教您使用java爬虫gecco抓取JD商品信息》,使用的是传统的注解方式,建议看这篇文章前先了解之前的文章。这里介绍一下DynamicGecco方式,比之前更简单,抓取全部京东商品只要3个类就能搞定了。 什么是DynamicGecco DynamicGec ...
xtuhcy 评论(0) 有2407人浏览 2016-07-18 11:23

ClassLoader原理分析

前文:Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的。 类装载器所做的工作实质是把类文件从硬盘读取到jvm运行内存中,或者从网络中读取到jvm运行内存中 JVM在加载类的时候,都是通过ClassLoader的loadClass()方法来加载class的。   例如: publi
haoran_10 评论(0) 有22616人浏览 2016-06-27 12:12

JAVA类加载机制以及如何自定义类加载器

从双亲委派说起 启动(Bootstrap)类加载器:是用本地代码实现的类装入器,它负责将 <Java_Runtime_Home>/lib下面的类库加载到内存中(比如rt.jar)。由于引导类加载器涉及到虚拟机本地实现细节,开发者无法直接获取到启动类加载器的引用,所以不允许直接通过引用进行操作。 标准扩展(Extension)类加载器:是由 Sun 的 ExtClassLoad ...
xtuhcy 评论(0) 有3456人浏览 2016-06-16 09:35

JAVA类加载机制

1. 加载:通过类加载器把 .class 文件读入到一个字节数组,然后产生Class对象。     a ) Bootstrap ClassLoader:负责加载存放在jre\lib下,或被-Xbootclasspath参数指定的路径中的,并且能被虚拟机识别的类库(如rt.jar,所有的java.*开头的类)。启动类加载器是无法被Java程序直接引用的。     b )Extension Cl ...
wynet321 评论(0) 有467人浏览 2016-03-20 11:53

(三)类加载器

类加载器的作用是完成类加载过程中的装载步骤,即将.class文件加载到JVM   有两种类型的类加载器 1、JVM自带的类加载器 根类加载器(Bootstrap) 扩展类加载器(Extension) 系统类加载器(System) 2、用户自定义类加载器 扩展自java.lang.ClassLoader   这些类加载器以父子关系的形式存在   最顶层的类加载器,根类加载器, ...
ywu 评论(0) 有861人浏览 2016-03-03 14:50

(一)jvm内存模型概览

在JVM规范中,内存空间主要划分为堆区、栈区、方法区、本地方法栈以及PC寄存器,如下图所示   方法区: 方法区存放的是Class的信息,即类的元数据,如类的名称、修饰符、静态变量、常量、Field、Method等,当在程序中使用反射获取类的信息,如clazz.getMethod()时,就是从方法区来获取这些信息的,方法区是全局共享的,所以一个类对应的Class对象只有一个,哪怕这个类创建了 ...
ywu 评论(1) 有920人浏览 2016-03-03 14:43

关于classloader

jvm自带的三个classloader 1.Bootstrap classloader,是jvm的一部分,由C写成,调用的是核心库。    sun java下,可以用以下语句查看调用类路径    URL[] urls = sun.misc.Launcher.getBootstrapClassPath().getURLs();   写道 %JAVA_HOME%/jre/lib/re ...
weiqingfei 评论(0) 有746人浏览 2016-02-23 10:22

最近博客热门TAG

Java(141744) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54919) .net(54785) Web(54514) 工作(54118) Linux(50905) Oracle(49875) 应用服务器(43289) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37267) 数据结构(36424)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics