当前位置: 首页 > news >正文

公司电商网站建设方案wordpress 调用作者

公司电商网站建设方案,wordpress 调用作者,如何设计一个高端网站简洁大方大气,wordpress 古今1.ClasserLoader介绍? classloader顾名思义,即是类加载。虚拟机把描述类的数据从class字节码文件加载到内存,并对数据进行检验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。…

1.ClasserLoader介绍?

classloader顾名思义,即是类加载。虚拟机把描述类的数据从class字节码文件加载到内存,并对数据进行检验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。了解java的类加载机制,可以快速解决运行时的各种加载问题并快速定位其背后的本质原因,也是解决疑难杂症的利器。因此学好类加载原理也至关重要。

内置类加载器

JVM 中内置了三个重要的 ClassLoader

  1. BootstrapClassLoader(启动类加载器):最顶层的加载类,由 C++实现,通常表示为 null,并且没有父级,主要用来加载 JDK 内部的核心类库( %JAVA_HOME%/lib目录下的 rt.jarresources.jarcharsets.jar等 jar 包和类)以及被 -Xbootclasspath参数指定的路径下的所有类。
  2. ExtensionClassLoader(扩展类加载器):主要负责加载 %JRE_HOME%/lib/ext 目录下的 jar 包和类以及被 java.ext.dirs 系统变量所指定的路径下的所有类。
  3. AppClassLoader(应用程序类加载器):面向我们用户的加载器,负责加载当前应用 classpath 下的所有 jar 包和类。

除了这三种类加载器之外,用户还可以加入自定义的类加载器来进行拓展,以满足自己的特殊需求。就比如说,我们可以对 Java 类的字节码( .class 文件)进行加密,加载时再利用自定义的类加载器对其解密。

2.代码工程

实验目标

实现加载外部jar包,并调用其中类方法

JarLoader

package com.et;import java.net.URL;
import java.net.URLClassLoader;
import java.lang.reflect.Method;
import java.io.File;public class JarLoader {private URLClassLoader urlClassLoader;// load JAR filepublic void loadJar(String jarFilePath) throws Exception {File jarFile = new File(jarFilePath);URL jarUrl = jarFile.toURI().toURL();urlClassLoader = new URLClassLoader(new URL[]{jarUrl}, this.getClass().getClassLoader());System.out.println("JAR Loaded: " + jarFilePath);}//load class from  JAR and invoke methodpublic void invokeClassMethod(String className, String methodName) throws Exception {if (urlClassLoader != null) {Class<?> loadedClass = urlClassLoader.loadClass(className);Method method = loadedClass.getDeclaredMethod(methodName);method.invoke(loadedClass.newInstance());System.out.println("Method Invoked: " + methodName);} else {System.out.println("ClassLoader is null, load a JAR first.");}}// unload JARpublic void unloadJar() throws Exception {if (urlClassLoader != null) {urlClassLoader.close();  // close ClassLoaderurlClassLoader = null;    // let it recycle by jvmSystem.out.println("JAR Unloaded.");} else {System.out.println("No JAR to unload.");}}
}

service(demo模块)

  • 创建sevice类
  • mvn install 打包成jar包
package com.et.demo.service;public class MockService implements Service {@Overridepublic void printVersion() {System.out.println("11.0");}
}
package com.et.demo.service;public interface Service {void printVersion();
}

以上只是一些关键代码,所有代码请参见下面代码仓库

代码仓库

  • GitHub - Harries/Java-demo(classloader)

3.测试

编写测试类

package com.et;public class Main {public static void main(String[] args) throws Exception {JarLoader jarLoader = new JarLoader();// load JARjarLoader.loadJar("D:\\IdeaProjects\\Java-demo\\demo\\target\\demo-1.0-SNAPSHOT.jar");// invoke the methodjarLoader.invokeClassMethod("com.et.demo.service.MockService", "printVersion");// unload JARjarLoader.unloadJar();}
}

启动main方法,查看日志

JAR Loaded: D:\IdeaProjects\Java-demo\demo\target\demo-1.0-SNAPSHOT.jar
11.0
Method Invoked: printVersion
JAR Unloaded.
Disconnected from the target VM, address: '127.0.0.1:53226', transport: 'socket'Process finished with exit code 0

4.引用

  • ClassLoader (Java Platform SE 7 )
  • 利用ClasserLoader来实现jar包加载并调用里面的方法 | Harries Blog™
http://www.yayakq.cn/news/166213/

相关文章:

  • 电子产品网站模板wordpress视频播放列表页
  • 五种类型网站龙华网站推广培训
  • 随州网站推广哪家专业中化建工北京建设投资有限公司网站
  • 网站主机购买东莞网站优化哪家好
  • wordpress搭建多个购物网站石家庄公司网站设计
  • 大屏手机网站wordpress免费主题怎么用
  • 苏州网站建设套餐重庆关键词优化软件
  • 网站开发公司杭州网站建设做企业邮箱的网站
  • 贵阳市住房和城乡建设部网站百度优化点击软件
  • 自适应网站方案淮南服装网站建设费用
  • 成品网站源码1688免费推荐tplink域名申请
  • 医院的网站关键词定位一般是什么wordpress 图片调用api接口
  • 阿里巴巴网站首页怎么制作个人简历表
  • 家政服务 技术支持 东莞网站建设湘潭网站优化公司
  • 公司建网站流程织梦网站主页
  • 遵义做网站的网络公司男女做污视频在线观看网站
  • 公司网站推广运营移动互联网开发课程
  • 网站模板广告去除网站开发岗位职责任职责格
  • 微信网站背景图片做一个众筹网站多少钱
  • 天津百度整站优化服务网页制作培训前景
  • 百度收录新网站个人怎么申请营业执照
  • 网站搭建实训总结长沙网站推广公司排名
  • 网站建设前期情况说明wordpress 嵌入pdf
  • 网页制作与网站建设宝典 第2版建盏是什么意思
  • 如何制作自己的网站在里面卖东西网站建设 网页制作
  • 本地怎么做网站服务器吗网站说明页命名
  • 手机wap网站开发的cms系统wordpress地址设置
  • 怎么制作网站导航页延庆网站制作
  • 贵州省城乡和住房建设厅网站重庆做网站外包公司
  • 高埗仿做网站网络规划设计师教程第二版下载