<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Class Loader on Dan`s Blog</title>
		<link>https://blog.dansec.vip/tags/class-loader/</link>
		<description>Recent content in Class Loader on Dan`s Blog</description>
		<generator>Hugo</generator>
		<language>zh-CN</language>
		
		
		
		
			<lastBuildDate>Fri, 08 Nov 2024 11:10:34 +0800</lastBuildDate>
		
			<atom:link href="https://blog.dansec.vip/tags/class-loader/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Java自定义类加载器</title>
				<link>https://blog.dansec.vip/p/userdefineclassloader/</link>
				<pubDate>Fri, 08 Nov 2024 11:10:34 +0800</pubDate>
				<guid>https://blog.dansec.vip/p/userdefineclassloader/</guid>
				<description>&lt;h1 id=&#34;自定义类加载器的使用&#34;&gt;自定义类加载器的使用&lt;/h1&gt;&#xA;&lt;p&gt;根据&lt;a href=&#34;https://d4n-sec.github.io/p/classloaderloadpath/&#34;&gt;前文&lt;/a&gt;，不管是Bootstrap ClassLoader还是ExtClassLoader等，这些类加载器都只是加载指定的目录下的jar包或者资源。如果在某种情况下，我们需要动态加载一些东西呢？&lt;/p&gt;</description>
			</item>
			<item>
				<title>Java默认类加载器的加载路径</title>
				<link>https://blog.dansec.vip/p/classloaderloadpath/</link>
				<pubDate>Thu, 07 Nov 2024 16:22:58 +0800</pubDate>
				<guid>https://blog.dansec.vip/p/classloaderloadpath/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://d4n-sec.github.io/p/bytecodeanndloadclass/#java%E7%B1%BB%E5%8A%A0%E8%BD%BD%E5%99%A8%E6%9C%89%E5%93%AA%E4%BA%9B&#34;&gt;前文&lt;/a&gt;有提到Java的默认&lt;code&gt;ClassLoader&lt;/code&gt;有三种，且三种的&lt;code&gt;ClassLoader&lt;/code&gt;会加载不同的Java类。&lt;/p&gt;&#xA;&lt;p&gt;他们加载的类的路径在哪？&lt;/p&gt;&#xA;&lt;p&gt;是否可以进行设置？&lt;/p&gt;&#xA;&lt;p&gt;本文做一个初步探讨&lt;/p&gt;&#xA;&lt;h1 id=&#34;全量输出&#34;&gt;全量输出&lt;/h1&gt;&#xA;&lt;p&gt;在不配置任何参数的情况下，执行&lt;code&gt;MainTest.java&lt;/code&gt;查看默认路径&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;MainTest.java&lt;/code&gt;内容如下&lt;/p&gt;</description>
			</item>
			<item>
				<title>Java字节码与类加载器</title>
				<link>https://blog.dansec.vip/p/bytecodeanndloadclass/</link>
				<pubDate>Wed, 06 Nov 2024 14:52:13 +0800</pubDate>
				<guid>https://blog.dansec.vip/p/bytecodeanndloadclass/</guid>
				<description>&lt;p&gt;本章深入了解&lt;strong&gt;Java字节码&lt;/strong&gt;以及加载Java字节码的&lt;strong&gt;类加载器&lt;/strong&gt;相关姿势！&lt;/p&gt;&#xA;&lt;h1 id=&#34;java字节码&#34;&gt;Java字节码&lt;/h1&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Java 在刚刚诞生之时曾经提出过一个非常著名的口号: “&lt;strong&gt;一次编写，到处运行（write once，run anywhere）&lt;/strong&gt;”，这句话充分表达了软件开发人员对冲破平台界限的渴求。“与平台无关”的理想最终实现在操作系统的运用层上: 虚拟机提供商开发了许多可以运行在不同平台上的虚拟机，这些虚拟机都可以载入和执行同一种平台无关的字节码，从而实现了程序的“一次编写到处运行”。&lt;/p&gt;&#xA;&lt;p&gt;各种不同平台的虚拟机与所有平台都统一使用的程序存储格式—&lt;strong&gt;字节码（ByteCode）&lt;/strong&gt;，因此，可以看出字节码对 Java 生态的重要性。之所以被称为字节码，是因为字节码是由十六进制组成的，而 JVM（Java Virtual Machine）以两个十六进制为一组，即以字节为单位进行读取。在 Java 中使用 &lt;strong&gt;javac&lt;/strong&gt; 命令把源代码编译成字节码文件，一个 .java 源文件从编译成 .class 字节码文件的示例&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://d4n-picture-database.oss-cn-beijing.aliyuncs.com/img/image-20241106165423165.png&#34; alt=&#34;image-20241106165423165&#34;&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
			</item>
	</channel>
</rss>
