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

利州区住房和城乡建设部网站简易网页界面设计

利州区住房和城乡建设部网站,简易网页界面设计,企业网站修改流程,做外贸的人如何上国外网站Oracle诉Google一案认为#xff0c;复制Java API的结构#xff0c;序列和组织是侵犯版权的行为。 侵犯版权不仅是复制行为#xff0c;而且还适用于拥有该作品副本的所有中间方。 那就是编写/编译任何JVM语言的人#xff0c;以及在他们拥有的任何设备上都有JAR文件的人复制Java API的结构序列和组织是侵犯版权的行为。 侵犯版权不仅是复制行为而且还适用于拥有该作品副本的所有中间方。 那就是编写/编译任何JVM语言的人以及在他们拥有的任何设备上都有JAR文件的人包括旧摩托罗拉翻盖手机上的Java ME applet。 实际上JVM的各个方面都如此普及每个工业化国家的每个成年人都可能在某个地方运行了JVM。 而且每个非Sun / Oracle JAR文件都嵌入了部分或全部Java API的副本因为从技术上讲为了调用API必须在已编译的字节码中包含API的影子。 让我示范一下。 这是我编写的一个完全合法的Java程序我拥有以下内容的版权 public class HelloWorld {public static void main(String[] args) {int strlen 0;for (int x 0; x args.length; x) {strlen args[x].length();}System.out.println(Hello, world, you passed in args.length arguments, total size: strlen);}} 那里什么都没有侵权。 我通过OpenJDK Java编译器javac运行该程序该程序生成一个HelloWorld.class文件。 根据业界通常使用Java和编译器的方式产生的字节码是源代码的派生作品我拥有源代码的版权。 因此让我们看一下使用javap反汇编的结果字节码 dppcrown:~/proj/dpp-blog/images$ javap -c HelloWorld Compiled from HelloWorld.java public class HelloWorld {public HelloWorld();Code:0: aload_0 1: invokespecial #1 // Method java/lang/Object.init:()V4: return public static void main(java.lang.String[]);Code:0: iconst_0 1: istore_1 2: iconst_0 3: istore_2 4: iload_2 5: aload_0 6: arraylength 7: if_icmpge 2510: iload_1 11: aload_0 12: iload_2 13: aaload 14: invokevirtual #2 // Method java/lang/String.length:()I17: iadd 18: istore_1 19: iinc 2, 122: goto 425: getstatic #3 // Field java/lang/System.out:Ljava/io/PrintStream;28: new #4 // class java/lang/StringBuilder31: dup 32: invokespecial #5 // Method java/lang/StringBuilder.init:()V35: ldc #6 // String Hello, world, you passed in 37: invokevirtual #7 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;40: aload_0 41: arraylength 42: invokevirtual #8 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;45: ldc #9 // String arguments, 47: invokevirtual #7 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;50: ldc #10 // String total size: 52: invokevirtual #7 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;55: iload_1 56: invokevirtual #8 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;59: invokevirtual #11 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;62: invokevirtual #12 // Method java/io/PrintStream.println:(Ljava/lang/String;)V65: return } 噢我的……看某些Java API完全插入了代码中。 实际上JVM 要求调用站点调用代码的位置包括有关所调用API的信息以便JVM找出要调用的方法。 不仅是方法名称而且还有传入的参数类型和预期的返回类型。 因此每个已编译的JAR都包含嵌入其中的Java API的一部分。 根据Oracle的决定每个编译的JAR文件都侵犯了版权。 “但是”您说“ JAR文件并不包含所有有争议的API。” 首先多少就足够了。 Oracle法院明确拒绝了有关API仅占Java基类总体工作的一小部分且百分比论据没有说服力的论点。 其次对于像Maven Central这样的存储了成千上万个JAR文件的存储库基本上所有Java API都被复制到这些JAR文件中存储的集合作品中。 该怎么办 如果我要托管大量的JAR文件我会打电话给我的律师试图弄清楚该怎么做。 是的也许有一个引诱论点因为Oracle分发了javac 因此诱使我复制Java API。 但是这仍然是对Oracle法院判决的技术性违反。 如果我是Apache Software Foundation或Free Software Foundation那么我将在今天早上提出单方面请求以中止 Oracle的决定因为这意味着我们一直在考虑的是我们可以许可使用的软件我们的开放条款实际上包含Oracle版权代码我们将不得不暂停所有与JVM相关的开源项目。 哦我要指出的是如果Oracle声称复制到JAR文件中的API不受版权保护那么Google要做的就是从Maven Central中提取所有JAR文件在所有这些API中找到所有Java API引用。 JAR文件并使用该信息声明适用于Android的API。 最多大约需要10个工作日的工作量。 翻译自: https://www.javacodegeeks.com/2014/05/okay-everybody-who-touches-java-bytecode.html
http://www.pierceye.com/news/576893/

相关文章:

  • 株洲有名的网站重庆市公路建设信息网官网
  • 网站安全证书出错怎么做dw网页制作素材网站
  • 收录查询 站长工具给网站做解答是干嘛的
  • 成都哪些公司可以做网站建网站现软件
  • 深圳wap网站建设传奇霸主页游
  • 做网站首先要干什么营销软文200字
  • 帝国cms做的网站私人定制女装店
  • 网站建设南沙wordpress video
  • 网站建设开票应该开哪个行业什么网站可以免费做视频的软件
  • 百度seo查询收录查询网站推广策划案seo教程
  • 如何免费建立网站中贤建设集团网站
  • 如何做转运网站黄聪 wordpress
  • 临海市住房与城乡建设规划局网站宁波网络推广培训
  • go 网站开发自己在线制作logo
  • 重庆市网站建设公司企业服务账号
  • 网站建设的市场情况网站系统里不能打印
  • 网站如何适应屏幕做网站时无法上传图片
  • 网站的橱窗怎么做嘉兴住房和城乡建设厅网站
  • 吉林省城乡建设官方网站163企业邮箱登录入口官网
  • 做网站参考文献某企业网站建设方案2000字
  • 网站托管哪家好织梦购物网站整站源码
  • 怎么做网站的优化排名wordpress的目录结构(一)
  • 个人可以做公益网站吗美食杰网站的建设目的
  • 宿迁公司企业网站建设《网站基础建设-首保》
  • 做全屏式网站尺寸是多大国外虚拟主机 两个网站
  • 黑龙江建设网站招聘广西住房和城乡建设厅培训中心官方网站
  • 做网站客户最关心的是什么制作网页原型的目的
  • 电子商务网站建设工具河南安阳吧
  • 南通网站建设公司哪个好肯德基的网站建设
  • 高端大气网站源码wordpress做双语网站