精华内容
下载资源
问答
  • 先进的GNU Java Chess Engine
  • GNU/Java

    千次阅读 2006-11-20 09:33:00
    11月13日,是世界软件业发展历史上一个值得纪念的日子。SUN官方网站上,出现“自由及开源Java”的大字横幅,而且还有一个标志性...总之,SUN公司要搞GNU/Java,与GNU/Linux一样(自由)。现今,世界上大约有500万个Jav
     
    

    1113日,是世界软件业发展历史上一个值得纪念的日子。SUN官方网站上,出现“自由及开源Java”的大字横幅,而且还有一个标志性口号“Always Open. Now Free”(“永远开放,现今自由”)。SUN公司宣布要把Java平台实现技术与自由软件“unite”(联合起来)。总之,SUN公司要搞GNU/Java,与GNU/Linux一样(自由)。

    现今,世界上大约有500万个Java程序员,在近40亿个(台)计算装置(含8/10的手持计算设备)上被采用。这是Java技术“发明”11年来的重大成就。实际上,世界上许多企业级的关键业务应用都是建立的Java技术基础之上的。如今,Java成了“自由软件”,而且“自由软件Java”又是SUN公司自己这么称呼的,对此,我们应该怎么想呢?SUN公司领导层终于深刻地认识到,把Java交给“社区”,鼓励更多的人参与、分享Java技术“创新”的重要性。说明白了,SUN公司深信GNU自由软件路线的正确性。SUN公司发展软件的思路,与我国软件发展战略是有冲突的。相比国外IT媒体,国内IT媒体对GNU/Java的报道相对比较“冷漠”,也说不到“点子”(GNU)上,这与我国发展软件业的大环境有关。

    国内IT媒体对“Java开源”一事,慢慢腾腾,轻描淡写。1115日,在SUN公司官方网站上,我发现一条新闻(英文):“中国开源软件推进联盟主席陆首群先生说,Java开源标志着国际开源运动的一个重要里程碑。这一大胆且有远见的举措不仅为Java语言的普及和发展、为更为开放的IT生态系统奠定了坚实的基础,而且也为中国IT产业(发展)提供了新的机遇”。奇怪的是,我并没有看见相应的中文报道。Java开源,惹恼了谁?

    现在,开发软件的编程语言JavaPHP都成了自由软件,上千万的程序员都在使用这些“自由语言”。如今,微软也宣布支持Linux业务,支持FOSS,搞“互操作性”。仿佛一夜之间,自由软件突现在软件的“议事平台”上。怎么面对自由软件?羞答答地说,Java开源了,这是很不够的。应该说,Java是自由软件,这本是SUN公司自己的意思。

    1114日,Ubuntu奠基人与SUN总裁达成一致:UbuntuJava搞“相互认证”(CrossCertify),此举对Ubuntu走向企业级关键应用是非常重要的。可以说,SUN公司搞GNU/Java标志着自由软件的现代复兴(Rebirth),是Web 2.0时代的发展里程碑。美国自由软件基金会(FSF)主席Richard StallmanGNU/Java给予极高的评价。

    昨天下午,我见到红帽中国陈实总经理。他跟我讲了一段两万五千里长征的故事。他的意思是说,开源事业需要红军的“长征精神”。1115日,红帽股票又下降了3.3%。但是,Java开源对红帽是极端重要的,因为,红帽向广大用户提供的所谓“开源架构”离不开Java技术。如今,Java开源,给红帽的“主打产品”(定购服务)奠定了坚实基础。我相信,红帽一定能够“起死回生”。

    实际上,我们应该看到,Java编程语言与Linux操作系统的结合非常紧密。今后,几乎所有Linux发行版都会包含Java编程语言。数百万Java程序员会自愿迁移到Linux开发平台。“Java开源”一定会大规模地进一步推动Linux的普及应用。SUN公司的GNU/Java对国际开源社区的贡献是非常巨大的。FOSS之风,波及我国还需要一些时日。 
    展开全文
  • GNU Compiler for Java

    2012-06-18 12:36:35
    GNU Compiler for Java From Wikipedia, the free encyclopedia GNU Compiler for Java Developer(s) The GNU Project Operating system Unix-like Type Compiler Lic
    
    

    GNU Compiler for Java

    From Wikipedia, the free encyclopedia
    GNU Compiler for Java
    Gcj2.png
    Developer(s) The GNU Project
    Operating system Unix-like
    Type Compiler
    License GNU GPL
    Website http://gcc.gnu.org/java

    The GNU Compiler for Java (GCJ or gcj) is a free software compiler for the Java programming language and a part of the GNU Compiler Collection.

    GCJ can compile Java source code to either Java Virtual Machine bytecode, or directly to machine code for any of a number of CPU architectures. It can also compile class files containing bytecode or entire JARs containing such files into machine code.

    Contents

      [hide

    [edit]History

    Almost all of the runtime-libraries used by gcj come from the GNU Classpath project (but compare the libgcj library). As of gcj 4.3, gcj integrates with ecj, the Eclipse Compiler for Java.[1]

    As of 2007 a lot of work has gone in to getting GNU Classpath to support Java's two graphical APIsAWT and Swing. Work on supporting AWT is ongoing, after which support for Swing will follow.[2]

    As of 2009 there have been no new developments announced from gcj.[3] The product is currently in maintenance mode.

    [edit]Performance

    Java code compiled into machine code by GCJ should have faster start-up time than the equivalent bytecode launched in a JVM.[4]

    However, after start-up, Java code compiled by GCJ does not necessarily execute any faster than bytecode executed by a modern JIT-enabled JVM. This is true even when GCJ is invoked with advanced optimization options such as -fno-bounds-check -O3 -mfpmath=sse -msse2 -ffast-math -march=native; in this case, the compiled program may or may not surpass JVM performance, depending on the operations performed by the code in question.[5]

    [edit]CNI (Compiled Native Interface)

    The CNI (Compiled Native Interface, previously Cygnus Native Interface), a software framework for the gcj, allows Java code to call and be called by native applications (programs specific to a hardware and operating-system platform) and libraries written in C++.

    CNI closely resembles the Java Native Interface (JNI) framework which comes as standard with various Java virtual machines. However the CNI authors claim various advantages over JNI:[6]

    We use CNI because we think it is a better solution, especially for a Java implementation that is based on the idea that Java is just another programming language that can be implemented using standard compilation techniques. Given that, and the idea that languages implemented using Gcc should be compatible where it makes sense, it follows that the Java calling convention should be as similar as practical to that used for other languages, especially C++, since we can think of Java as a subset of C++. CNI is just a set of helper functions and conventions built on the idea that C++ and Java have the *same* calling convention and object layout; they are binary compatible. (This is a simplification, but close enough.)

    CNI depends on Java classes appearing as C++ classes. For example,[7] given a Java class,

    public class Int
    {
       public int i;
       public Int(int i) { this.i = i; }
       public static Int zero = new Int(0);
    }
    

    one can use the class thus:

    #include <gcj/cni.h>
    #include <Int>
     
    Int *mult(Int *p, int k)
    {
      if (k == 0)
        return Int::zero;  // Static member access.
      return new Int(p->i * k);
    }
    展开全文
  • GNU Prolog for Java-开源

    2021-04-26 03:26:55
    将ISO Prolog标准实现为Java库。 我们已经搬到萨凡纳:https://savannah.gnu.org/projects/gnuprologjava/
  • GNU MMORPG for Java-开源

    2021-04-26 19:47:52
    GMRJ是用Java编写的开源,可自由播放的GNU MMORPG。 该项目涉及图形,地图和游戏元素的生产,以及游戏的服务器/客户端结构。
  • GNU/Linux配置java环境

    2020-08-18 09:37:10
    使用的GNU/Linux的发行版为Manjaro(Archlinux系) 安装jdk 复制、解压jdk # 将下载下来的jdk复制,解压到以下目录 # # $jdk 表示jdk.tar.gz文件的名字 # 在实际使用中修改为电脑中对应的名字 # cp $jdk_file /usr/...

    在Oracle官方网站下载jdk

    在官方网站Oracle java SE下载Oracle Jdk

    PS:
    本次以jdk8和jdk11为例子,分别单独配置java环境。
    使用的GNU/Linux的发行版为Manjaro(Archlinux系)

    安装jdk

    1. 复制、解压jdk
    # 将下载下来的jdk复制,解压到以下目录
    #
    # $jdk 表示jdk.tar.gz文件的名字
    # 在实际使用中修改为电脑中对应的名字
    #
    
    cp $jdk_file /usr/local
    cd /usr/local
    sudo tar -zxvf $jdk_file
    

    2.添加环境变量

    # 使用编辑器添加环境变量
    # 编辑器可以使用vi,vim,nano,emacs等等
    sudo vim /etc/profile
    
    # 接下来在vim中编辑以下内容
    
    # set Java 8 environment
    export JAVA_HOME=/usr/local/java/jdk1.8.0_261
    export JRE_HOME=/usr/local/java/jdk1.8.0_261/jre
    export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    
    # set Java 11 environment
    export JAVA_HOME=/usr/local/install/jdk-11
    export CLASS_PATH=$JAVA_HOME/lib
    export PATH=$JAVA_HOME/bin:$PATH
    
    # 修改完成, 单击ESC,再键入 :x 退出vim
    
    # 使刚才修改后的环境变量生效
    source /etc/profile
    
    

    测试jdk是否安装成功

    # 在终端(terminal)键入以下命令
    java -version
    
    展开全文
  • GNU通用通用公共许可证下的Java库(包括Java类)的集合。 即使有较新的版本,此集合也包含GNU LGPL下的所有版本。
  • 关于GNU/Java的背景

    千次阅读 2006-11-20 09:34:00
    毫无疑问,Java是世界上使用最为普及的编程语言。但是,创立Java编程语言11年以来,它的技术实现机密却完全掌控在SUN一个公司手中。针对这种情况,人们多有抱怨。在国际开源社区,许多人不爱“答理”Java编程语言。...
     
    

    毫无疑问,Java是世界上使用最为普及的编程语言。但是,创立Java编程语言11年以来,它的技术实现机密却完全掌控在SUN一个公司手中。针对这种情况,人们多有抱怨。在国际开源社区,许多人不爱“答理”Java编程语言。

    国际开源运动势不可挡。Java不开源,就另辟途经。新兴的PHPPerlPython开源编程语言出现了,使得Web应用灵便快捷,从而不断侵蚀Java的阵地,另一方面,微软公司的C#语言和.NET平台更是Java应用的死对头。近两年来,这两股力量左右夹攻,导致Java整体的普及优势呈下降(衰减)趋势。

    面对这种形势,SUN公司CEO Jonathan Schwarts在今年516日召开的“JavaONE”大会上宣布,SUN公司将尽可能块地把Java开源。与此同时,SUN公司软件业务执行副总裁Rich Green说:“在6个月内完成Java开源”。SUN公司为什么这么心急?因为,他们感到“时间不多了”,要是Java再不开源,Java就死定了。Java开源可不是一件容易的事情。SUN公司有190个律师,他们夜以继日的工作、检查Java的一行一行的源代码(Java总计约有600万行源代码),如果发现有第三方的版权标志,他们就得一个一个找到相关人员(或组织),逐一加以解决。那么,SUN为什么选择GPL v2作为Java的许可证?这是为了吸引国际开源社区的广大编程爱好者(志愿者),接受Java的“庞大身躯”,参与Java的“减肥”运动。要是Java不采用GPL v2许可证,有谁愿意答理它?Java确实老了,而且得了肥胖症。

    SUN公司把Java开源,意义确实非常重大。世界上大多数程序员都使用这种编程语言进行创作、相互沟通。Ubuntu奠基人Mark Shuttleworth说:“把开源Java加入互联网生态系统(Mix),这确实是一个伟大的进步”。他还说:“过去由于没有开源Java,这就是为什么国际开源社区要发明PHP语言的原因。现在这一限制终于除去,有许多(有关Java的)实验就可以开始了”。

    软件的企业开发机制和社区开发机制是很不相同的。一种是高度集中化;一种是高度模块化。一种是设定目标,具体实现;一种只是设定一个方向,让它自己不断演化。一种是人工寿命;一种是自然寿命。SUNJava开源,就是把Java交给开源社区,让它开始新的演化进程。Java的新生,使(引诱)成千上万的编程志愿者,能够进入Java技术的实现代码(世界)中间,修修改改,你一下我一下,会进一步清理(clean up)它,把它逐渐变为一种精瘦而且更为有效率的编程语言。SUNJava开源,实质上是给予Java语言的第二次新生。SUNJava开源,是对国际开源社区的巨大贡献。毫无疑问,SUN是当今世界最大的“开源企业”。SUN公司怎么盈利呢?这是人们目前所关心的问题。

    实际上,在如何盈利方面,SUN公司与Canonical公司所面对的情况是一样的。SUN公司有数百万的Java“用户”,Canonical公司也有数百万的Ubuntu“用户”,而且两者都在持续高速扩张。那么,用户的“爆炸式”扩张,必定带来技术支持(专业服务)迅速增长的真实需求,这就是商机。如果每个月,每个用户贡献1美金(假定以网络捐助的方式),SUNCanonical公司也不会饿死。1117日,Ina Fried发表一篇题为“GatesVistaLinux及其他”的新闻报道,其中Bill Gates说:“自由软件永远是软件世界的重要部分,正如商品软件一样”。不知Bill GatesSun公司的Java开源作何感想?在开源世界里面,现今又多了一个“小生命”,自由编程语言Java。我们祝愿,Java语言,能够死而复生。 
    展开全文
  • java控制串口发送数据时在windows环境下正常,linux环境下报错C [librxtxSerial.so+0x75da] Java_gnu_io_RXTXPort_nativeDrain+0xea,经多方查询验证为rxtx包版本问题,用本文档中的版本可以正常运行
  • java gnugo client

    2008-10-21 14:02:01
    qGo is a full featured Client for playing on the servers, SGF viewing/editing, and GNU Go client written in C++ for GNU/Linux, Windows and Mac OS X. Can play One Color Go. Licensed GPL and QPL. //====...
  • GLPK for Java为库GLPK提供了Java语言绑定。 GLPK是行之有效的线性和混合整数数学编程问题的求解器。 对于Windows二进制文件,请参阅Windows的项目GLPK(http://sourceforge.net/projects/winglpk/)。
  • docker最小Java Java映像基于最小的GNU / Linux发行版。 因为Debian将Docker映像的大小增加了将近100MB,所以我们可能不需要它。
  • LT PASS: gnu.testlet.java.text.CollationElementIterator.jdk11: NULLORDER (number 0) LT first = {5373952, 82, 0, 0} LT PASS: gnu.testlet.java.text.CollationElementIterator.jdk11: first initial test...
  • 1) GNU Emacs24 http://www.gnu.org/software/emacs/ 2) Java Development Kit (JDK) http://www.oracle.com/technetwork/java/index.html 3) Java Development Environment for Emacs (JD
  • JAVA使用GNU的Gettext后端国际化

    千次阅读 2017-03-12 10:54:49
    JAVA使用GNU的Gettext后端国际化 Web前端一般使用***jquery.i18n.properties.version.js***进行国际化 1 下载安装poedit.exe 2 下载安装gettext 3 创建示例工程 4 引入gettext maven依赖 5 编写翻译工具类 6 编写...
  • 该文件用于解决通过java控制串口发送数据给时在Linux...报错内容如下: [librxtxSerial.so+0x75da] Java_gnu_io_RXTXPort_nativeDrain+0xea。经过一番研究得出结论为为rxtx包版本问题,使用本文档中的版本即可正常运行
  • GNU Trove替换Java中的map

    千次阅读 2011-03-25 20:43:00
    Trove 提供所有标准 java.util Collections 类的更快的版本以及能够直接在原语(primitive)(例如包含 int 键或值的 Map 等)上操作的 Collections 类的版本。评价:几分钟即上手,效率提升明显、内存占用量显著...
  • sha源码,java,来自GNU

    2011-03-24 13:46:04
    少见的源码,来自sourceforge.net,是java代码,但是可以轻易转变成其他代码,如C++
  • 高效的Java集合框架GNU Trove的使用

    千次阅读 2018-11-05 20:00:21
    Trove 提供所有标准 java.util Collections 类的更快的版本以及能够直接在原语(primitive)(例如包含 int 键或值的 Map 等)上操作的 Collections 类的版本。 jar下载 构建maven工程,在pom.xml文件中,作如下...
  • gettext-commons:通过GNU gettext和Java ResourceBundles进行的国际化(i18n)
  • C的getopt的就不说了,java中也有类似的东西。需要一个JAR包 http://www.urbanophile.com/arenn/hacking/download.html 简单例程 publicstaticvoidmain(String[]args){ args=newString[]{"-a","1"};...
  • <p>java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver Port: COM7 java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path at java....
  • 文件来读写串口的,将代码加到自己RCP工程里,老是出现java.lang.NoClassDefFoundError: gnu/io/CommPortIdentifier错误, 折腾了一天,都没解决,后在RCP工程里,双击MANIFEST.MF文件,选择“RunTime”,在...
  • 开源的高性能Java集合:GNU Trove介绍

    千次阅读 2015-04-08 11:26:21
    看过openNLP源码的人或许会注意到代码里经常引入import gnu.trove.*; 好奇之余,进行了资料搜集和总结。 Trove 是一个快速、轻量级 Collection 类的集合。Trove 提供所有标准 java.util Collections 类的更快的版本...
  • LT at gnu.testlet.java.text.DecimalFormat.setGroupingSize.test(setGroupingSize.java:48) LT at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) LT at java.base/jdk....
  • Caused by: java.lang.ClassNotFoundException: gnu.trove.strategy.HashingStrategy at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,463
精华内容 2,185
关键字:

gnujava

java 订阅