JavaStation-HOWTO
验证java是否安装成功的方法

验证java是否安装成功的方法要验证Java是否成功安装,可以通过以下几种方法来确定:1. 检查Java版本:打开终端或命令提示符窗口,输入“java -version”命令,如果成功安装了Java,将会显示Java的版本信息。
例如,显示类似“java version '1.8.0_271'”这样的信息,即表示已经成功安装了Java。
2. 编写并运行一个简单的Java程序:使用任何文本编辑器创建一个后缀名为.java的Java源代码文件,例如HelloWorld.java。
在该文件中编写以下Java 程序代码:public class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}保存文件后,在终端或命令提示符窗口中使用javac编译器将该文件编译为.class文件,使用命令“javac HelloWorld.java”。
如果没有报错,则说明Java 成功安装。
接下来,使用命令“java HelloWorld”来运行该程序。
如果成功运行并输出“Hello, World!”这句话,则说明Java安装成功。
3. 检查Java环境变量设置:在Windows系统中,可以通过以下步骤来检查Java 环境变量设置。
首先,点击“开始”按钮,选择“计算机”或“我的电脑”,然后右键单击并选择“属性”。
在弹出的窗口中,选择“高级系统设置”,然后点击“环境变量”按钮。
在环境变量窗口中,查找“系统变量”下的“Path”变量,确保包含Java安装的路径。
例如,“C:\Program Files\Java\jdk1.8.0_271\bin”或“C:\Program Files\Java\jre1.8.0_271\bin”。
如果该路径不存在或不正确,可以手动添加或修改。
java webservice几种调用方式

Java WebService几种调用方式一、介绍Java WebService是一种基于SOAP协议的远程方法调用技术,可以实现跨评台、跨语言的通信。
在实际应用中,我们可以使用多种方式来调用Web服务,本文将介绍Java WebService几种常见的调用方式。
二、基于JAX-WS的调用方式JAX-WS(Java API for XML Web Services)是一种用于创建和调用Web服务的Java标准。
通过使用JAX-WS,我们可以方便地创建客户端和服务端,并进行方法调用。
在客户端,我们可以通过使用wsimport命令生成客户端的Java代码,并使用Java代码来调用Web服务的方法。
在服务端,我们可以通过使用@WebService注解来发布服务,并使用Java代码实现方法的具体逻辑。
三、基于Axis的调用方式Apache Axis是一个流行的开源Java Web服务框架,它支持SOAP协议,可以用于创建和调用Web服务。
在基于Axis的调用方式中,我们可以使用WSDL2Java工具生成客户端的Java代码,然后使用Java代码来调用Web服务的方法。
在服务端,我们可以使用Java代码实现方法的逻辑,并使用Axis框架来发布服务。
四、基于CXF的调用方式Apache CXF是另一个流行的开源Java Web服务框架,它也支持SOAP协议,并提供了丰富的特性和扩展性。
在基于CXF的调用方式中,我们可以使用wsdl2java工具生成客户端的Java代码,然后使用Java代码来调用Web服务的方法。
在服务端,我们可以使用Java代码实现方法的逻辑,并使用CXF框架来发布服务。
五、总结在本文中,我们介绍了Java WebService几种常见的调用方式,包括基于JAX-WS、Axis和CXF。
通过这些调用方式,我们可以方便地创建和调用Web服务,实现跨评台、跨语言的通信。
个人观点和理解作为Java开发人员,我认为Java WebService是一种非常重要的技术,它可以帮助我们实现分布式系统之间的通信,为企业级应用的开发提供了很大的便利。
java常用方法

java常用方法
以下是Java中常用的一些方法:
1. toString():将一个对象转换为字符串表示形式。
2. equals():比较两个对象是否相等。
3. hashCode():返回对象的哈希码。
4. clone():创建并返回一个对象的副本。
5. getClass():返回对象的类。
6. finalize():在垃圾回收器清除对象之前调用。
7. wait():使线程等待,直到另一个线程通知。
8. notify():唤醒一个等待中的线程。
9. notifyAll():唤醒所有等待中的线程。
10. compareTo():比较两个对象的大小。
11. length():返回字符串的长度。
12. substring():返回字符串的子字符串。
13. indexOf():返回指定字符或字符串在字符串中第一次出现的位置。
14. split():将字符串分割成子字符串数组。
15. trim():去除字符串两端的空格。
这些是Java中一些常用的方法,可以根据具体需求选择使用。
java命令大全

java命令大全在Java中,可以使用许多命令来编译、运行和调试Java程序。
以下是一些常见的Java命令:1. `java`:用于运行Java程序。
例如:`java HelloWorld`将运行名为`HelloWorld`的Java程序。
2. `javac`:用于将Java源代码编译为Java字节码文件。
例如:`javac HelloWorld.java`将编译名为`HelloWorld.java`的Java源代码文件。
3. `jar`:用于创建和管理Java归档文件。
例如:`jar cvf MyJar.jar MyClass.class`将创建一个名为`MyJar.jar`的归档文件,并将`MyClass.class`添加到其中。
4. `javadoc`:用于生成Java文档。
例如:`javadoc MyPackage/*.java`将生成`MyPackage`中所有Java文件的文档。
5. `javap`:用于反汇编Java字节码文件。
例如:`javap MyClass`将显示与名为`MyClass`的类关联的字节码。
6. `jarsigner`:用于对已签名的Java应用程序和程序包进行签名和验证。
例如:`jarsigner -sign MyJar.jar keyAlias`将对`MyJar.jar`进行签名。
7. `jdb`:Java调试器的命令行界面。
例如:`jdb MyProgram`将使用`jdb`调试名为`MyProgram`的Java程序。
8. `jrunscript`:用于在命令行上运行脚本的命令。
例如:`jrunscript MyScript.js`将运行名为`MyScript.js`的JavaScript脚本。
9. `jps`:用于列出当前正在运行的Java进程。
例如:`jps -l`将列出所有Java进程的进程ID和类路径。
这只是一小部分常用的Java命令清单,Java还有许多其他命令用于不同的目的。
如何在Java中实现容器化部署

如何在Java中实现容器化部署在当今的软件开发领域,容器化部署已经成为一种主流的技术趋势。
它为应用的部署、运行和管理带来了极大的便利性和高效性。
对于使用Java 开发的应用程序,实现容器化部署同样具有重要意义。
接下来,让我们深入探讨如何在 Java 中实现容器化部署。
首先,我们需要了解什么是容器化部署。
简单来说,容器化是一种将应用程序及其依赖项打包到一个独立的、可移植的环境中的技术。
容器就像是一个轻量级的虚拟机,但与虚拟机相比,它更加高效、灵活和易于管理。
通过容器化,我们可以确保应用在不同的环境中都能以一致的方式运行,减少了因环境差异导致的问题。
在 Java 中实现容器化部署,第一步是构建应用程序。
这包括编写代码、进行编译和测试。
确保应用程序的功能正常,并且没有明显的错误或缺陷。
接下来,选择合适的容器技术。
目前,比较流行的容器技术有Docker 和 Kubernetes。
Docker 是一个用于创建、管理和运行容器的平台,而 Kubernetes 则是一个用于容器编排和管理的工具。
对于简单的应用部署,Docker 可能就足够了;但对于大规模的、复杂的应用环境,Kubernetes 能提供更强大的功能和管理能力。
在使用 Docker 时,我们需要创建一个 Dockerfile。
Dockerfile 是一个用于定义如何构建 Docker 镜像的文本文件。
在 Dockerfile 中,我们首先指定基础镜像,通常可以选择一个包含 Java 运行环境的镜像,比如`openjdk:8-jrealpine` 。
然后,将我们的 Java 应用程序的代码和依赖项添加到镜像中。
这可以通过`COPY` 命令来完成。
例如,如果我们的应用程序是一个 JAR 文件,我们可以这样写:```dockerfileCOPY target/myappjar /app/```接着,定义容器启动时要执行的命令。
对于 Java 应用程序,通常是使用`java jar` 命令来启动 JAR 文件,例如:```dockerfileCMD "java","jar","/app/myappjar"```完成 Dockerfile 的编写后,就可以使用`docker build` 命令来构建Docker 镜像。
java命令大全

java命令大全
以下是一些常用的Java命令:
1. java:运行Java程序的命令。
例如:java HelloWorld
2. javac:编译Java程序的命令。
例如:javac HelloWorld.java
3. javap:反编译Java程序的命令,查看字节码。
例如:javap -c HelloWorld
4. jps:显示Java虚拟机(JVM)中运行的进程列表。
例如:jps -l
5. jstack:生成Java线程转储文件,用于分析线程问题。
例如:jstack <pid>
6. jmap:生成Java堆转储文件,用于分析内存问题。
例如:jmap -dump:format=b,file=heapdump.hprof <pid>
7. jstat:收集和显示Java虚拟机(JVM)统计信息。
例如:jstat -gc <pid> 1000 10
8. jconsole:Java监视和管理控制台,用于监视JVM及其应用程序。
例如:jconsole
9. jvisualvm:Java VisualVM,用于监视、调试和分析Java应用程序。
例如:jvisualvm
以上是一些常用的Java命令,还有更多的命令可以用于不同的应用场景,需要根据具体需求来选择合适的命令。
我的世界模拟殖民地无材料建筑教程

我的世界模拟殖民地无材料建筑教程本教程适用的前提是你已经安装了本模组或整合包。
如果你想要了解如何安装我们的官方整合包,我们提供了用twitch安装、用multimmc安装以及用java(forge)安装的教程。
简易攻略在开拓一片新的殖民地之前,你要找到一片绝佳的位置。
你需要足够宽阔的土地,能够容纳整座城市——至少8×8个区块,而且要足够平缓。
不光如此,你还需要尽可能地收集资源——包括木头、圆石、煤炭、铁、花、线、皮革、羊毛、树苗以及食物。
第一步:补给营地/补给船当你找到建城地点后,你就需要放置一个补给营地或者补给船,二者只可选其一。
补给营地/补给船中都会提供一个市政厅方块,这是你正式建立殖民地所必不可少的方块。
这里还会提供建设殖民地所需的一些其他补给。
当你拿到市政厅方块与建筑工具后,补给营地/补给船就只能做装饰作用了,你可以选择拆了它或者留着它。
第二步:市政厅市政厅方块决定了殖民地的存在。
它还是殖民地的中心。
从此你可以使用建筑工具来放置建筑。
建筑工具确保了你能在动工之前预览建筑的位置、朝向、以及它是否位于合适的y坐标(一些建筑需要被建筑在正确的y坐标上)。
一旦市政厅广场被放置,你将会欢迎四个最初的公民。
第三步:建筑工在所有项目开始之前,您需要一个构建器。
建造其他茅屋之前,建造者必须先建造自己的建造者茅屋,不能建造或升级其他茅屋到比自己更高的等级。
第四步:酒馆你在你的殖民地需要一个睡觉和住宿的地方,所以建议接下来建一个酒馆。
允许酒馆来到你的殖民地,所以你可以招募他们,他们会像公民一样留下来。
第五步:食物接下来你需要为蚁群准备的是食物。
最快获得食物的方法是建造一个渔夫的小屋。
你可以为动物建一个农场或喂食处,但渔民更快。
如果你不想自己为住户准备食物,建一个餐厅可能是明智的选择。
第六步:林务员如果殖民地的建筑风格是木质的,建议接下来建一个护林员的小屋。
这样你的新护林员就可以开始为你未来的建筑或工具收集木材了。
java 方法的使用

java 方法的使用
Java方法是一组执行特定任务的代码块。
它们可以接受参数并返回值。
方法使得代码更加模块化,可维护性更强。
以下是使用Java 方法的步骤:
1. 定义方法 - 使用关键字“public”、“private”、“protected”或“default”来定义方法的可见性。
然后,定义方法名称和参数列表,并使用“return”语句指定返回值类型和值。
2. 调用方法 - 可以通过名称和参数列表调用方法。
3. 参数传递 - 方法可以接受多个参数,并且参数类型必须与方法定义中指定的类型相同。
4. 方法重载 - 方法重载是指在同一个类中定义多个具有相同
名称但参数列表不同的方法。
这使得代码更加灵活。
5. 递归方法 - 递归方法是指调用自身的方法。
它们通常用于解决复杂问题。
6. 方法返回值 - 方法可以返回一个值,这个值可以是任何Java 数据类型。
要返回一个值,请使用关键字“return”和要返回的值。
Java方法的使用使得代码更具可读性和可维护性,并且可以帮助您编写更加模块化的代码。
了解如何使用方法可以让您更好地理解Java编程语言。
- 1 -。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux on the Sun JavaStation NC HOWTORobert S. Dubinski2000−Nov−15This is a HOWTO document describing how to enable the GNU/Linux OS on the Sun JavaStation NC.1. META Information (1)1.1. The Purpose of this Document (1)1.2. Acknowledgments (1)1.3. Document Contributors (2)1.4. History of this document (2)1.5. Document Copyright and Licenses (3)1.6. Location of the Latest Version and Source (4)2. What is a JavaStation? (5)2.1. What is a JavaStation NC? (5)2.2. Definition of an NC including the Differentiation from PC's (5)2.3. Description of the JavaStation Model Line including Hardware Specs (6)2.3.1. JavaStation−1 [ "Mr. Coffee"] ["the brick"] [Sun Option No. JJ−xx] (6)2.3.2. JavaStation−NC ["JavaStation−10"] ["Krups"] ["the tower"] ["the percolator"] [ Sun Option No.2.3.3. JavaStation−E ["Espresso"] [Sun Option No. JE−xx] (8)2.3.4. JavaEngine−1 ["JE−1"] (9)2.3.5. The "Dover" JavaStation model (9)2.3.6. The Generation 3 "Super JavaStation" (10)2.3.7. The Pre−Mr. Coffee JavaStation Prototype (10)2.3.8. The Pre−Mr. Coffee JavaStation/Fox (11)2.4. Reasons for Running Linux and NC Myths Dispelled (11)2.5. Why JavaStations are No Longer Produced (12)2.6. Where to Purchase a JavaStation (15)3. Background Requirements for Linux on a JavaStation (16)3.1. Complete Hardware Requirements (16)3.2. Network Service Requirements (16)3.3. Understand the JavaStation Boot Sequence (16)3.4. Additional Software Requirements: Replacement Firmware (PROLL) (17)3.5. Decide on your Filesystem: NFS−Root, or Embedded? (17)3.5.1. "NFS−Root" Filesystem (17)3.5.2. "Embedded−Root" Filesystem (18)3.6. Support Sites to Check Out: Zaitcev's Linux Site (18)4. Build Your Kernel (19)4.1. Before you begin (19)4.2. Make sure you use 32−bit mode (19)4.3. Supported Linux Kernel Versions (19)4.4. Required Kernel Configuration Options (20)4.5. Necessary Patch for "Embedded−Root" FS Configurations (21)4.6. Build the JavaStation−Ready Kernel (21)4.7. JavaStation−Ready Kernel Images, System.map and ".config" File Samples (22)4.7.1. Sample ".config" Files (22)4.7.2. Sample JavaStation−Ready Kernel Files (22)5. Build A JavaStation−Ready FileSystem (23)5.1. Preparing Yourself to Build Your Own Filesystem (23)5.2. Contents of the "/etc/fstab" File (23)5.2.1. "NFS−Root" Filesystem fstab (23)5.2.2. "Embedded−Root" Filesystem fstab (24)5.3. The "Embedded−Root" Image Creation Procedure (24)5.4. Sample FileSystems (26)6. Set up Your Server (27)6.1. Preface (27)6.2. Setting up the RARP service (27)6.3. Setting up the DHCP service (28)6.4. Set up NFS service ("NFS−Root Options" Only) (28)6.5. Setting up for Boot with TFTP (28)6.6. The Last Configuration Step (29)6.7. What to See When Booting Linux (30)7. Troubleshooting (31)7.1. When booting, the message "The file just loaded does not appear to be executable." Why? (31)7.2. When booting, the message "no a.out magic" appears and halts the boot. Why? (31)7.3. I tried booting a Krups but JavaOS comes up. I don't even have JavaOS! (31)7.4. Cannot Boot an "Embedded−Root" image > 10 MB on my JavaStation. Why? (31)7.5. After Booting, Typing Anything Yields Garbage Characters. Why? (32)7.6. In X Sessions to a Solaris server, the font server "xfs" crashes. Why? (32)7.7. Performing Indirect XDMCP to a Solaris Server Results in Session Login Failures. Why? (32)7.8. TFTPd config doesn't work on SUSE. Why? (33)8. Answers to Miscellaneous Questions (34)8.1. Regarding RARP: Is it Needed or Not? (34)8.2. Can One Use the Smart Card Reader on the Espresso models? (34)8.3. Can One Use the Solaris DHCP server instead of ISC? (34)8.4. Can One Pass Arguments to "/sbin/init" in a Diskless Boot like This? (35)8.5. Enabling X on the JavaStation (35)8.6. Is There Mailing List Help? (36)8.7. Can One Boot a JavaStation from Onboard Flash Memory? (36)8.8. Does "Piggyback" work for the x86 too? (36)8.9. I put new memory in, but now it doesn't boot. Why? (36)8.10. Now that JavaStations work with Linux, what about other Free OSs? (36)8.11. Do the Linux 2.4 kernels work? What's the latest that works? (37)8.12. Can I compile the kernel on a non−SPARC machine? (37)8.13. Can I get an ok> prompt like other Sun equipment? (37)8.14. My keyboard isn't recognized. What can I do? (37)8.15. Proll reports "TFTP: ARP Timeout". Why? (37)9. Unanswered Questions (38)9.1. Where Can One Find Espressos for Sale? (38)9.2. Do Tools Exist to Configure Net Boot Entries Quickly? (38)9.3. What can one use the Krups Flash memory for? (38)9.4. Why Can't I Get TrueColor on Krups? (38)10. Appendix (39)10.1. Mr. Coffee Jumper Info (39)10.2. Krups Jumper Info (39)10.3. JavaStation Press Release (39)10.4. JavaOS Download (40)10.5. Espresso IDE circuit (40)10.6. JavaStation Boot Monitoring Key Combinations (41)10.7. JavaStation Photo Gallery (41)1. META InformationThis section lists the meta−information of this document. The hows, whys, location and changes to the structure of the document are documented here. The main content begins in the next chapter.1.1. The Purpose of this DocumentThis document is to serve as a comprehensive HOWTO and FAQ collection regarding the Sun JavaStation NC and enabling the GNU/Linux OS on it.The intended audience of this document is anyone who has an interest in enabling Linux on the Sun JavaStations. The document structure is laid out to serve as either a top−to−bottom read for a newcomer, or as quick reference on a single topic for advanced users. Pointers to sample files submitted by users are included for extremely hurried readers.The author of this document is Robert Dubinski <rsd@robert−>, System and Network Administrator for TAOS Mountain of Santa Clara, CA. Robert is the former computer technician and UNIX systems administrator for Marquette University's Math, Statistics and Computer Science Department, where there are 125 JavaStations running Linux. These machines were configured using the information, techniques and files presented in this document.In early 1999, Eric Brower <ebrower@> wrote the first informal HOWTO for the JavaStation. Parts of this document are inspired by his work, and all unique information presented there have since been merged into this document.This HOWTO also aims to serve as a member document of the Linux Documentation Project. The LDP can be reached at: 1.2. AcknowledgmentsEnabling Linux on the JavaStations, and allowing this HOWTO to come to be would never have been possible without the fine work of the following people:• Pete Zaitcev <zaitcev@> (JavaStation kernel mod author)• Eric Brower <ebrower@> (XFree mods and author of the original embedded−buildHOWTO)• Varol Kaptan <varol@.tr> (made available his Krups images and patches.Backported kernel support to 2.2.x series)• David Miller <davem@> (the original Linux/SPARC kernel porter)• The Linux/SPARC kernel porters and mailing list• The thousands of contributors to the Linux kernelThe HOWTO author wishes to give a second thank−you to Pete and Eric for their work:Pete got me going with Linux on the JavaStation in December 1998, has been the mainkernel programmer adding in support for the JavaStation line, and despite his busywork schedule was nice enough to find time to answer all my email queries for helpover the last 15 months.Eric worked on bringing X support to the JavaStation when it had none. He had beenworking on a dedicated server for the JavaStation in early 1999, and kept me informedof his progress. In mid−1999, he switched tactics and sent a working framebufferexample to test out. He also wrote the first comprehensive mini−HOWTO for theJavaStations, answered my email questions, and got me interested in the embeddedsolution which I employ here at Marquette.Thank−you Pete and Eric!−−Robert Dubinski1.3. Document ContributorsThe following people have contributed to this specific document:• Pete Zaitcev <zaitcev@> (Proofreading and factual corrections of initial drafts)• Eric Brower <ebrower@> (Proofreading and factual corrections of initial drafts)• Magdalena Wodzinska <magda@> (Proofreading anddocument layout suggestions)• Richard Tomlinson <Richard.Tomlinson@> (Document reader, Krupstester, feedback)• Michael R. Eckhoff <foobar@> (feedback on sample kernel)• John Bodo <sales_nospam@> (JavaStation prototype info)• Simon Whiting <Simon.Whiting@> (Typo Fix in DHCP config)• Alex Cellarius<alexc@mail.systems104.co.za> ("Dover" info and pic)• Matt Lowry<mclowry@.au> (Suggestion of Boot Sequence VisualsSection)• David Tinker<david@hemtech.co.za> (Dover model info)• David O'Brien<obrien@> (Fox prototype info)• Olaf Pueschel<olf@olmos.de> (OBP info, true color info)• Richard Tomlinson<richard@> (Boot monitoring key combinations)• Zachary Drew<zach@> (Troubleshooting Suggestions)• David Giller<dave@> (Dover Info)• Robert Thornburrow<robert@> (non−SPARC piggyback info)If you contributed a tidbit of info and are not listed, please email the document author to get yourself listed.1.4. History of this documentRevision HistoryRevision 1.115 Nov 2000Numerous updates and additions revisionsRevision 1.0516 Jun 2000Requested Format Changes and FixesRevision 1.0413 Jun 2000Suggested Fixes and Added RequestsRevision 1.0304 May 2000Minor Fixes, RequestsRevision 1.0228 Apr 2000Small fixes.Revision 1.0125 Apr 2000"Brown Paper Bag" Revision.Revision 1.024 Apr 2000First submission to the LDP.Revision 0.918 Apr 2000Continued reorganization and final merges.Revision 0.715 Apr 2000Migration from LinuxDoc DTD to Docbook DTD.Revision 0.7114 Apr 2000Received word doc was forwarded inside Sun.Revision 0.714 Apr 2000Linked on Metabyte Website.Revision 0.69 Apr 2000First semi−public release.Revision 0.424 Mar 2000First move to comprehensive HOWTO.Revision 0.215 Oct 1999More notes collected and merged.Revision 0.124 Jun 1999Initial scraps put together.1.5. Document Copyright and LicensesThis particular document and its source as a whole is Copyright 1999−2000, Robert Dubinski<rsd@robert−>. You may mirror or redistribute this document as a whole or in part for either public or commercial purposes provided the following: 1) you do not make any modifications to this work , 2) retain this license information and author copyright section, even when redistributing just a part of this document, and 3) include acknowledgement of where this document as a whole may be obtained . This ensures that any comments written by the document author do not get taken out of context or modified incorrectly, acknowledges the work of the author, allows for inclusion in commercial projects, and points readers to where they may find potentially updated versions of the information presented.The document author makes no warranties that all the information presented here is completely accurate, andcannot be held liable to any loss you experience as a result of the information you use from here.Best efforts have been made to ensure everything included is accurate as of the publication date listed at the beginning of this document, but there is always a possibility something may be wrong. In this case, doublecheck with alternative sources first before considering implementing anything at a production−level. If you find something wrong, drop the author a line at <rsd@robert−> or send me a patch to the document source, and corrections will be made immediately.In the future, this document may be re−released under the Open Content or other Free Document license, but for now all Open Documentation licenses are currently being investigated by the author. If you have comments into this legal matter, drop the author a line at <rsd@robert−>. As it stands, the license presented above captures the spirit of the LDP boilerplate license without specifically mentioning it.This document is a member document of the Linux Documentation Project.1.6. Location of the Latest Version and SourceThe latest online version of this document can be found at: http://javastation− .The pre−processed SGML source to this document, written to the Docbook DTD, is available from:http://javastation−/Files/JavaStation−HOWTO.sgmlCopies of this document are also available from the Linux Documentation Project at:/HOWTO/JavaStation−HOWTO.2. What is a JavaStation?This chapter explains to the reader what the JavaStation line is, its components, NC concepts, how to get one, and why one would choose the Linux OS for it.2.1. What is a JavaStation NC?The JavaStation NC is a model line of network computers built and sold by Sun Microsystems between November 1996 and March 2000. The JavaStation line was Sun's low−cost terminal option during that timeframe.The JavaStation hardware ran Sun's own JavaOS and either Sun's Hotjava web browser, Sun's HotJava Views task−manager software, or custom Java applications of the customer's choice.The JavaStation was originally billed in November 1996 sneak previews as a low−cost desktop terminal, providing customers access to hot new Java applications, "legacy" X applications, and "legacy" MS Windows apps. During its lifetime, The JavaStation's marketed functionality was changed twice from "desktop terminal" to "single−app desktop device" to finally a "browser−based kiosk device".At no time did Sun market the JavaStation as capable of running its flagship Solaris operating system or the Linux OS.2.2. Definition of an NC including the Differentiation from PC'sA network computer, or NC, was hailed as "the next big thing" in computing from late 1995 to early 1998. Conventional PC's, called "fat clients", were expected to be minimized in businesses by thin−client NC's. Thin−clients get their OS, applications, and data files entirely through the network. They are different from dumb−terminals; they run full−scale graphical applications. Thin−clients are also different than graphicalX−terminals. X−terminals typically run an X server and display the client programs of a remote server. Thin clients generally run full−scale graphical programs locally, such as a web browser, a Java application, or a "legacy−connectivity program", which enables the thin−client to display X apps or MS Windows apps which run on more powerful servers.Advantages of NC's include:• "Zero−Administration". (Add a new NC and it will get everything it needs off the network, without an admin ever needing to visit it.)• Lower Total−Cost−of−Ownership (TCO) (No internal hard drives, floppy drives or CD playersreduces form−factor, repair expenses, selling price and thus total−cost−of−ownership.)• Access to all web−based apps as well as "legacy" X and MS Windows apps.• Quick upgrades (just upgrade your server and the changes propogate throughout)• Longer lifespan (just upgrade the software, growing hard disk and memory requirements is not anissue)• Smaller OS footprint (when running brower−based apps)Linux on the Sun JavaStation NC HOWTODisadvantages of NC's:• No local access to data files (all your files stored on a remote server)• Requires fast, stable networks2.3. Description of the JavaStation Model Line including Hardware SpecsDepending on who you talk to, the number of JavaStation models that were created is anywhere from one to six. The descriptions below will explain why.2.3.1. JavaStation−1 [ "Mr. Coffee"] ["the brick"] [Sun Option No. JJ−xx]This model is the most prevalent JavaStation model you are likely to find, although it wasn't the one and only JavaStation model Sun wished to sell to the public. The JavaStation−1 was the first generation JavaStation, released in November 1996 to pilot deployments as Sun's "proof of concept" of the Java NC design.Hardware−wise, the JavaStation−1 is a Sun4M architecture machine. It is based on theSPARCStation−4 design, with some deletions and PC−like modifications. It is powered by a 110 Mhz MicroSPARC IIe CPU and has no SCSI, internal disks, floppy, CD or expansion slots. The Mr.Coffee motherboard is Sun Part No. 501−3141.Instead of using the Sun−type keyboard and mice, JavaStation−1 uses PC−like PS2 parts instead. One of the original marketing highlights of the JavaStation was that it would use standard PC parts wherever possible to keep overall price down.The "brick" has four PC−like SIMM slots. The SIMMs taken are industry−standard 60ns, 32−bit, 72−pin, 5V fast page SIMMs, installed in pairs. Each slot is capable of holding up to a 16MB SIMM, bringing the maximum total capacity of the unit to 64MB. The "xx" in the Sun Option# of the unit indicated how much memory the unit shipped with.For video display, the JavaStation−1 utilizes the Sun TCX framebuffer, capable of 1024x768@70Hz in 8−bit color. The port connector however, is a standard VGA jack, enabling the user to use standard PC monitors if desired (again, low cost in mind). The on−board audio is a Crystal CS4231 chip, and the network interface is the Sun Lance 10Mbps interface. In addition, the "brick" also came with a 9−pin serial port and 1/8" audio out jack on its back.The JavaStation−1 was fitted into the Sun "unidisk" form factor case, and has been seen in a number of color schemes. JavaStations have been fitted with casings in the white with light blue trim scheme used in Sun workstations, as well as the dark blue−grey "new desktop" scheme. Some say "JavaStation" and have the Java coffee cup logo written on it, others do not. Collectors may wish to collect all case variations.The JavaStation−1 was used in early Sun demos, and sold to pilot sites. When first brought out, the cost to pilot sites was $699US. This was at a time when PC's were still higher than $1000US. By the end of the pilot run, Sun was selling any remaining or used units for $299−$399US, in anticipation for its"real" JavaStation model.See the JavaStation−1 at: http://javastation−/Files/mr_coffee_front_view.jpg2.3.2. JavaStation−NC ["JavaStation−10"] ["Krups"] ["the tower"] ["the percolator"] [ Sun Option No. JK−xx]This model is the second most prevalent JavaStation model you are likely to find. When you talk to industry folks about the "JavaStation", this is typically the model remembered first. Delayed numerous times, the Krups model officially went on sale to the general public Mar. 26, 1998 at the annual JavaOne conference. Though generation two of the JavaStation line, the Krups model was the JavaStation . Sporting a completely different board design than JavaStation−1, Krups establishes what was to be the characteristicJavaStation architecture.Krups is powered by a 100Mhz MicroSPARC IIep chip, (note the 'p'). Its mainboard had the internal addition of a PCI bus, about a year before this standard bus made its well−publicized appearance on the SunUltra workstation line. The Krups motherboard is Sun Part no. 501−4267.Krups keeps the PS2 keyboard and PS2 mouse ports from JavaStation−1, keeping in mind the low−cost, interoperable goal of generation 1.With the new board design, came new memory chip sockets. Instead of SIMMs, the "tower" moved to168−pin DIMMs. DIMMs had begun to make their way from the workstation realm to PC's in the time between generations one and two of the JavaStation line, so it was fitting for Sun to switch to it in anticipation of their status low−cost commodity memory chips. The DIMMs accepted by the "tower" are 168pin, 3.3V unbuffered EDO DIMMs (not SDRAM). With two sockets capable of holding a 32MBDIMM each, the Krups has a maximum capacity of 64MB RAM. As with the JavaStation−1, the number "xx" in the Sun option number refers to the amount of memory shipped with the unit.For video display, the JavaStation−NC utilizes the PCI−based IGS C1682 framebuffer, capable of1280x1024@80Hz in 24−bit "true color". This is a step up from the 8−bit display on JavaStation−1. The port connector remained a standard VGA jack like JavaStation−1, enabling the user to use standard PC monitors if desired. The on−board audio remains a Crystal CS4231 chip like JavaStation−1. The network interface on Krups is the Sun HappyMeal 10/100 Mbps interface, another step up from the original offering of JavaStation−1.The "tower" came with the 9−pin serial port and 1/8" audio out jack as JavaStation−1, but it also added a 1/8" audio−in jack, to do sound recording with.Another addition in the JavaStation−NC is a flash memory SIMM. This allows one to load the current revision of the OS onboard, increasing boot−speed tremendously.Perhaps the thing most memorable about the JavaStation−NC is its case design. The Krups comes in an aesthetically appealing casing. The mainboard is mounted vertically, and the shell entraps it, giving it the "tower" or "percolator" shape referred to. With the streamlined case, the power supply is moved outside to small transformer. The Krups unit gives off so little heat that there are no onboard cooling fans, making the Krups a dead−silent machine. Imagine the difference in noise when replacing a lab of traditional desktops with the Krups! This case design earned Krups a"1998 Industrial Design Excellence Award" from the Industrial Designers Society of America. This award announcement is archived for read at:/whatis/seewhat/idea98/winners/javastation.htm"The Krups had an initial base price of $599US, $100US cheaper than Mr. Coffee's rollout price. Due to it being the only model formally sold by Sun to the general public, this is how Krups is sometimes referred to as the only JavaStation, and not one model of a product line.See the JavaStation−NC at: http://javastation−/Files/krups_front_view.jpg2.3.3. JavaStation−E ["Espresso"] [Sun Option No. JE−xx]This model is extremely rare to find. It was never available for sale in quantities to either the general public or the initial JavaStation deployments, limiting the model's production quantity. To call this "Generation Three" of the JavaStation may be improper, as Espresso is nothing like the generation threeJavaStation written about in early Sun literature.The Espresso was designed as an extension of the Krups. It was geared to sites that wanted a little bit more functionality and expansion capability from their JavaStations: a cross between an NC and a workstation.Espresso is powered by the same 110Mhz MicroSPARC IIep chip as Krups. It's mainboard is similar to Krups, with the addition of PCI slots and an IDE channel for local hard disks. The IDE on Espresso was not enabled in the demo units. Those who have tried to make it work have concluded the wiring is incorrect, and it requires a hardware rework to get working.Espresso continues with the PS2 keyboard and PS2 mouse ports from Mr. Coffee and Krups.Espresso uses the same 168−pin, 3.3V unbuffered EDO DIMMs as Krups. The maximum amount of memory for Espresso is reported to be 96MB. As with the Mr. Coffee and Krups, the number "xx" in the Sun option number refers to the amount of memory shipped with the unit.For video display, the Espresso uses the PCI−based IGS C2000 framebuffer, along with the same standard VGA port connector as Krups and Mr. Coffee. The on−board audio remains a Crystal CS4231 chip like Krups, and the network interface remains a Sun HappyMeal 10/100 Mbps interface like Krups as well. Espresso came with the 9−pin serial port and 1/8" audio out and 1/8" audio in jacks of Krups, and a new addition of a parallel port, and a second 9−pin serial port. Espresso also comes with the flash memory to load your OS on and bypass the network boot cycle.One new addition to the Espresso is a smart card slot.The Espresso comes in a "pizza box" style case like the old Sun SparcStations, only a little taller, and not quite as wide.The Espresso was never sold to the public. There was an internal testing period at Sun, but the units never went into mass−production.One Espresso user mentioned he now uses his unit as both a server and router, with the addition of an IDE disk and 3C905 ethenet card, demonstrating the expandability of this unit.See the JavaStation−E at: http://javastation−/Files/espresso_front_view.jpg2.3.4. JavaEngine−1 ["JE−1"]Like the Espresso, this unit is also an extremely rare find.This unit is supposed to be of similar board design to the Krups, but in an ATX form factor, with soldered onboard flash memory, and with a regular SVGA video chipset.Gleb Raiko <raiko@niisi.msk.ru)> with the help of Vladimir Roganov<roganov@niisi.msk.ru> did initial the Linux kernel support on "JE−1". Pete Zaitcev<zaitcev@> later obtained a "JE−1" unit and restored full support in Linux kernel 2.3.x+.As the author of this document has never seen a "JE−1", submissions from the public are welcome.See the JavaEngine−1 at: http://javastation−/Files/je1_overhead_view.jpg2.3.5. The "Dover" JavaStation modelThis is another box which does not exist officially outside of Sun. Little was known of it at the first revision of this HOWTO. Since then, folks have stepped forward. Basically, the Dover takes the Espresso theme and moves it to stock X86 parts.Dover comes in a case similar to the Espresso, but there's nothing where the 'JavaStation−E' tag would be. Dover can be situated in a vertical position by removable feet. All that is printed on the case is "Sun MicroSystems 1998", and typically a serial number sticker of '12345678' and 'Made in Taiwan'.The motherboard is 'baby ATX' in configuration, but not quite totally. Near the the front of the case is a fan that points at the CPU heat sink. The CPU heat sink has anothe fan on top of it. The motherboard has a Socket 7 CPU socket that houses a Cyrix MediaGCm−266GP CPU. There are typical PC motherboard jumpers with silk−screened legends for setting both clock speed and multiplier. The motherboard accepts a PC100 DIMM (max. size unknown) and a powersupply with AT−type power connectors. Included among them are two floppy and regular hard drive type plug. There are two small jumpers going to the motherboard, JPSB1 and JAUTO1, possibly for power management.Expansion in Dover is via a two−card riser, with one PCI and one shared PCI/ISA slot. As mentioned earlier, the motherboard deviates slightly from standard ATX. Along the back edge under the cards are connectors for audio out, audio in, mic, HD15F video, two USB ports, D25F parallel printer, stacked PS/2keyboard/mouse ports, and four 9−pin serial ports, marked A through D. Unlike other JavaStation models, there is no on−board ethernet. Instead, it typically is provided by a supplied 3COM 3C905B−TX Fast Etherlink XL PCI card (with a wake−on−LAN cable going to the motherboard). There is a standard Sun MAC address label on the back of the case.Video is via a Cyrix CX5530 chip, but with the MediaGX chip, may be just an auxilliary chip. There exist both a FDD and HDD headers on the motherboard, but nowhere to mount a FDD in the case and no provision for an HDD bracket either. There is a simple piezo buzzer mounted to the motherboard and additionally a speaker with a cable leading back near the audio out jacks. Like the Espresso, there is a smart−card reader as well, and what looks like a compact−flash socket inside.When booting it up, you get a blue JS screen. Under the exclamation point, are two memory card icons and a <...> icon. It reads:。