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

网站建设有什么意见手机网页无法打开因为reset

网站建设有什么意见,手机网页无法打开因为reset,php做网站技术方案,wordpress 首页设计转载自 Java中classLoader浅析本文为在公司内部TD上写的一篇小文, 主要讲解java中classLoader基础知识, 现在拿来这里分享一下. 一、问题 请在Eclipse中新建如下类#xff0c;并运行它#xff1a; package java.lang;public class Long {public static void main(String[] …转载自  Java中classLoader浅析本文为在公司内部TD上写的一篇小文, 主要讲解java中classLoader基础知识, 现在拿来这里分享一下.  一、问题 请在Eclipse中新建如下类并运行它 package java.lang;public class Long {public static void main(String[] args) {System.out.println(Hi, i am here);} }你能猜到它的运行如果吗 不错就是如下这个样子 错误: 在类 java.lang.Long 中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx.application.Application为什么呢明明我在Long方法类中定义了main方法为什么说main方法没有定义呢 本文将解决以上问题出现的原因。 二、ClassLoader的作用 我们都知道java程序写好以后是以.java文本文件的文件存在磁盘上然后我们通过(bin/javac.exe)编译命令把.java文件编译成.class文件字节码文件并存在磁盘上。但是程序要运行首先一定要把.class文件加载到JVM内存中才能使用的我们所讲的classLoader,就是负责把磁盘上的.class文件加载到JVM内存中如下图所示 你可以认为每一个Class对象拥有磁盘上的那个.class字节码内容,每一个class对象都有一个getClassLoader()方法得到是谁把我从.class文件加载到内存中变成Class对象的。 三、ClassLoader层次结构 请执行如下程序 public class Test {public static void main(String[] args) {ClassLoader classLoader Test.class.getClassLoader();System.out.println(classLoader);ClassLoader classLoader1 classLoader.getParent();System.out.println(classLoader1);ClassLoader classLoader2 classLoader1.getParent();System.out.println(classLoader2); } }它的输出是 sun.misc.Launcher$AppClassLoader2a139a55sun.misc.Launcher$ExtClassLoader7852e922null 得到了 classLoader2就是null值了。这里其实有三个类加载器: (1): 根类加载器(null) 它是由本地代码(c/c)实现的你根本拿不到他的引用但是他实际存在并且加载一些重要的类它加载(%JAVA_HOME%\jre\lib),如rt.jar(runtime)、i18n.jar等这些是Java的核心类。 (2): 扩展类加载器(ExtClassLoader) 虽说能拿到但是我们在实践中很少用到它它主要加载扩展目录下的jar包 %JAVA_HOME%\lib\ext (3): 应用类加载器(AppClassLoader) 它主要加载我们应用程序中的类如Test,或者用到的第三方包,如jdbc驱动包等。 这里的父类加载器与类中继承概念要区分它们在class定义上是没有父子关系的。 四、Class加载时调用类加载器的顺序 当一个类要被加载时有一个启动类加载器和实际类加载器的概念这个概念请看如下分析 如上面的Test.class要进行加载时它将会启动应用类加载器进行加载Test类但是这个应用类加载器不会真正去加载他而是会调用看是否有父加载器结果有是扩展类加载器扩展类加载器也不会直接去加载它看自己是否有父加载器没结果它还是有的是根类加载器。 所以这个时候根类加载器就去加载这个类可在%JAVA_HOME%\jre\lib下它找不到com.wangmeng.Test这个类所以他告诉他的子类加载器我找不到你去加载吧子类扩展类加载器去%JAVA_HOME%\lib\ext去找也找不着它告诉它的子类加载器 AppClassLoader我找不到这个类你去加载吧结果AppClassLoader找到了就加到内存中并生成Class对象。这个时间时候启动类加载器应用类加载器和实际类加载器应用类加载器是同一个. 这就是Java中著名的委托加载机制看如下图 我们再来看一下 java.lang.Long的加载按上面分析应该是由根类加载器加载得到的此时启动类加载器是应用类加载器但实际类加载器是根类加载器。 所以回到我们最开始那个问题没有main方法是因为执行的根本不是我们自己写的类执行的是java核心中的那个Long类当然没有main方法了。 这样就防止我们应用中写的类覆盖掉java核心类。
http://www.yutouwan.com/news/438368/

相关文章:

  • 做网站选择哪家运营商爱网站在线观看免费
  • 哪个网站做非洲的生意做程序界面的网站
  • 专业网站建设公司推荐网站域名是不是网址
  • 山西省住房和建设厅网站首页wordpress主题regal 免费
  • 江苏建设厅网站注册企业管理咨询服务公司
  • 郑州门户网站制作wordpress 查看访客
  • 广东微信网站制作多少钱企业培训 电子商务网站建设 图片
  • 自己怎么手机做网站wordpress 加速会
  • 中国建设银行网站首页河西网点制作asp.net网站
  • 贵州能源网站 中企动力建设外贸工艺品网站建设
  • 北京住房和城乡建设部官方网站网站延迟加载
  • 一般做网站要多少钱高端品牌化妆品排行榜前十名
  • 网站推广公司哪企业网络营销现状报告
  • 深圳网站设计公司哪个湖北好的快速排名系统
  • 佛山网站建设天博wordpress标签订阅插件
  • 杭州python做网站江苏网站设计公司电话
  • 浅析网站域名在搜索引擎排名中的作用没有版权可以做视频网站吗
  • 代做网站 作业wordpress开源博客
  • 网站建设面试题项目总结
  • 重庆网站建设电脑版昆明建网站公司
  • 手机品牌网站北京seo方法
  • 怎么做百度推广网站辽源网站建设公司
  • 高端设计参考网站手机免费生成logo软件
  • react网站开发清河做网站哪儿好
  • 福州网站设计软件大连哪家网站技术开发公司好
  • 网站管理员工作总结河南企业网站建设公司
  • 长春seo网站排名常用的网站语言
  • 找图片素材的网站有哪些医疗网站建设策划
  • 网站建设费用 多少wordpress改版权设置
  • 学做网站要会哪些广州站图片