起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2329|回复: 5

[结贴] 关于biz中java的一些理解

[复制链接]

10

主题

897

帖子

1905

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1905
QQ
发表于 2011-3-25 14:45:50 | 显示全部楼层 |阅读模式
今天有甲问我:
    问什么平台中java文件可以写相同的类名,而不会导致冲突
答:。。。。因为classLoaders不是继承关系
甲:不明白
我:问自己你说明白了吗? 没有!!!
那好既然说不明白 用代码把

static.jpg

18.2 KB, 下载次数: 324

10

主题

897

帖子

1905

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1905
QQ
 楼主| 发表于 2011-3-25 14:47:51 | 显示全部楼层
调用的main

main.jpg

50.81 KB, 下载次数: 302

回复 支持 反对

使用道具 举报

10

主题

897

帖子

1905

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1905
QQ
 楼主| 发表于 2011-3-25 14:51:25 | 显示全部楼层
结果:看来没有继承关系的classLoader之间的类是不能互相访问的,每个classLoader可以加载自己的class。

result.jpg

28.38 KB, 下载次数: 306

回复 支持 反对

使用道具 举报

10

主题

897

帖子

1905

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1905
QQ
 楼主| 发表于 2011-3-25 14:56:34 | 显示全部楼层
这里是源码

mysrc.rar

1.57 KB, 下载次数: 258

回复 支持 反对

使用道具 举报

0

主题

2

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2011-3-25 17:26:11 | 显示全部楼层
不冲突的原因是:模块之间是相互隔离的,如果/A模块和/B模块间没有引用关系(包括include 和use),他们之间的类是不能相互引用的,这时候两个模块各自有同名的类是不会冲突的。
技术上每个模块是用独立的classLoader单独加载的,这个和继承无关。
回复 支持 反对

使用道具 举报

10

主题

897

帖子

1905

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1905
QQ
 楼主| 发表于 2011-3-25 18:10:30 | 显示全部楼层
最初由 wansn 发布
[B]不冲突的原因是:模块之间是相互隔离的,如果/A模块和/B模块间没有引用关系(包括include 和use),他们之间的类是不能相互引用的,这时候两个模块各自有同名的类是不会冲突?.

以下省略...... [/B]

我说的继承是classLoader的继承(父子关系) 不是java的继承
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2021-4-19 04:51 , Processed in 0.080243 second(s), 32 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表