﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-云下的天空-随笔分类-JAVA SE</title><link>http://www.blogjava.net/liuwuping12064915/category/48778.html</link><description>       坚持          随心而动        走自己的路</description><language>zh-cn</language><lastBuildDate>Sat, 02 Jul 2011 20:55:45 GMT</lastBuildDate><pubDate>Sat, 02 Jul 2011 20:55:45 GMT</pubDate><ttl>60</ttl><item><title>访问控制符</title><link>http://www.blogjava.net/liuwuping12064915/archive/2011/07/02/353568.html</link><dc:creator>天空布蓝</dc:creator><author>天空布蓝</author><pubDate>Sat, 02 Jul 2011 15:38:00 GMT</pubDate><guid>http://www.blogjava.net/liuwuping12064915/archive/2011/07/02/353568.html</guid><wfw:comment>http://www.blogjava.net/liuwuping12064915/comments/353568.html</wfw:comment><comments>http://www.blogjava.net/liuwuping12064915/archive/2011/07/02/353568.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuwuping12064915/comments/commentRss/353568.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuwuping12064915/services/trackbacks/353568.html</trackback:ping><description><![CDATA[<span class="Apple-style-span" style="color: #5e5e5e; font-family: Verdana, Helvetica, Arial; font-size: 13px; line-height: 19px; background-color: #ffffff; "><p><span style="font-size: 14pt; font-family: 'Comic Sans MS'; color: #003300; ">1.访问修饰符(access modifier)</span></p><p><span style="font-size: 14pt; font-family: 'Comic Sans MS'; color: #003300; ">&#9312;public(公共的):被public所修饰属性和方法可以被所有类访问.</span></p><p><span style="font-size: 14pt; font-family: 'Comic Sans MS'; color: #003300; ">&#9313;protected(受保护的):被protected所修饰的属性和方法可以在类的内部,相同包以及该类的子类所访问(可以被子类所继承下来).</span></p><p><span style="font-size: 14pt; font-family: 'Comic Sans MS'; color: #003300; ">&#9314;private(私有的):被private所修饰的属性和方法只能在该类内部使用.</span></p><p><span style="font-size: 14pt; font-family: 'Comic Sans MS'; color: #003300; ">&#9315;默认的(不加任何访问修饰符):在类内部可以访问,以及</span><font color="#ff0000"><span style="font-size: 14pt; font-family: 'Comic Sans MS'; color: #003300; ">相同包下面的类使用.</span></font></p></span><img src ="http://www.blogjava.net/liuwuping12064915/aggbug/353568.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuwuping12064915/" target="_blank">天空布蓝</a> 2011-07-02 23:38 <a href="http://www.blogjava.net/liuwuping12064915/archive/2011/07/02/353568.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>（转）   java环境变量配置</title><link>http://www.blogjava.net/liuwuping12064915/archive/2011/06/24/352984.html</link><dc:creator>天空布蓝</dc:creator><author>天空布蓝</author><pubDate>Fri, 24 Jun 2011 15:15:00 GMT</pubDate><guid>http://www.blogjava.net/liuwuping12064915/archive/2011/06/24/352984.html</guid><wfw:comment>http://www.blogjava.net/liuwuping12064915/comments/352984.html</wfw:comment><comments>http://www.blogjava.net/liuwuping12064915/archive/2011/06/24/352984.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuwuping12064915/comments/commentRss/352984.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuwuping12064915/services/trackbacks/352984.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;<div style="display: inline-block; "></div><span class="Apple-style-span" style="font-family: verdana, sans-serif; background-color: #ffffff; "><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">windows xp下配置JDK环境变量：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.安装JDK，安装过程中可以自定义安装目录等信息，例如我们选择安装目录为D:\java\jdk1.5.0_08；</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">　 2.安装完成后，右击&#8220;我的电脑&#8221;，点击&#8220;属性&#8221;；</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.选择&#8220;高级&#8221;选项卡，点击&#8220;环境变量&#8221;；</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.在&#8220;系统变量&#8221;中，设置3项属性，JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击&#8220;编辑&#8221;，不存在则点击&#8220;新建&#8221;；</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5.JAVA_HOME指明JDK安装路径，就是刚才安装时所选择的路径D:\java\jdk1.5.0_08，此路径下包括lib，bin，jre等文件夹（此变量最好设置，因为以后运行tomcat，eclipse等都需要依*此变量）；<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Path使得系统可以在任何路径下识别java命令，设为：</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">　&nbsp;&nbsp; CLASSPATH为java加载类(class or lib)路径，只有类在classpath中，java命令才能识别，设为：</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar (要加.表示当前路径)</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">　　%JAVA_HOME%就是引用前面指定的JAVA_HOME；</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6.&#8220;开始&#8221;－&gt;;&#8220;运行&#8221;，键入&#8220;cmd&#8221;；</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7.键入命令&#8220;java -version&#8221;，&#8220;java&#8221;，&#8220;javac&#8221;几个命令，出现画面，说明环境变量配置成功；</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8.好了，打完收工。下面开始你的第一个java程序吧。</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">下面讲讲java几个环境变量的含义和linux下的配置方法：</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">通常，我们需要设置三个环境变量：JAVA_HOME、PATH 和 CLASSPATH。</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">JAVA_HOME：该环境变量的值就是 Java 所在的目录，一些 Java 版的软件和一些 Java 的工具需要用到该变量，设置 PATH 和 CLASSPATH 的时候，也可以使用该变量以方便设置。</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">PATH：指定一个路径列表，用于搜索可执行文件的。执行一个可执行文件时，如果该文件不能在当前路径下找到，则依次寻找 PATH 中的每一个路径，直至找到。或者找完 PATH 中的路径也不能找到，则报错。Java 的编译命令 (javac)，执行命令 (java) 和一些工具命令 (javadoc, jdb 等) 都在其安装路径下的 bin 目录中。因此我们应该将该路径添加到 PATH 变量中。</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">CLASSPATH：也指定一个路径列表，是用于搜索 Java 编译或者运行时需要用到的类。在 CLASSPATH 列表中除了可以包含路径外，还可以包含 .jar 文件。Java 查找类时会把这个 .jar 文件当作一个目录来进行查找。通常，我们需要把 JDK 安装路径下的 jre\lib\rt.jar (Linux: jre/lib/rt.jar) 包含在 CLASSPATH 中。</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">PATH 和 CLASSPATH 都指定路径列表，列表中的各项 (即各个路径) 之间使用分隔符分隔。在 Windows 下，分隔符是分号 (;)，而在 Linux 下，分隔符是冒号 (:)。</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">下面分别说明三个环境变量在 Windows 和 Linux 下如何设置，不过在此之前，我们需要做个假设。假设 JDK 在 Windows 下的安装路径是 C:\jdk\，在 Linux 下的安装路径是 /usr/local/jdk/。那么，安装后的 JDK 至少会包括如下内容：</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">C:\jdk (/usr/local/jdk)<br />|-- bin<br />|-- demo<br />|-- include<br />|-- jre<br />| |-- bin<br />| `-- lib<br />`-- lib</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">***** 在 Windows 下设置</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">Windows 下使用 set 命令设置环境变量，为了使每一次启动计算机都设置这些环境变量，应该在系统盘根目录下的 autoexec.bat 文件中进行设置，如：</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">set JAVA_HOME=C:\jdk<br />set PATH=%JAVA_HOME%\bin;C:\Windows;C:\Windows\Command<br />set CLASSPATH=%JAVA_HOME%\jre\lib\rt.jar;.</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">有些版本的 Windows 不能用 %变量名% 来替换环境变量的内容，那么就只好直接写 C:\jdk 而不是 %JAVA_HOME% 了。另外，C:\Windows 和 C:\Windows\Command 是 Windows 会自动加入路径的，所以可以从设置中去掉。如果在 autoexec.bat 中已经设置了 PATH，那只需要将 %JAVA_HOME%\bin 加到原来设置 PATH 的那条语句中就行了。</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">CLASSPATH 也可以根据需要设置或者加入其它的路径，比如你想把自己写的一些类放在 C:\java 中，就可以把 C:\java 也添加到 CLASSPATH 中去，set CLASSPATH=%JAVA_HOME%\jre\lib\rt.jar;C:\java;.。</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">注意，在 CLASSPATH 中包含了一个&#8220;当前目录 (.)&#8221;。包含了该目录后，就可以到任意目录下去执行需要用到该目录下某个类的 Java 程序，即使该路径并未包含在 CLASSPATH 中也可以。原因很简单：虽然没有明确的把该路径包含在 CLASSPATH 中，但 CLASSPATH 中的 &#8220;.&#8221; 在此时就代表了该路径，如：</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">假设在 C:\java 目录下有可运行的类 HelloJava.class，那么</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">C:\&gt; set CLASSPATH=C:\jdk\jre\lib\rt.jar;. // 设置 CLASSPATH 环境变量，注意最后有一个 &#8220;.&#8221;<br />C:\&gt; cd java // 转到 C:\java 目录<br />C:\java&gt; java HelloJava // 运行 HelloJava<br />Hello, Java. // 运行结果<br />C:\java&gt; _</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">**** 在 Linux 下设置</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">Linux 下使用&#8220;变量名=变量值&#8221;设置变量，并使用 export 命令将其导出为环境变量。为了使每一次登录都自动设置好这些变量，你需要在 ~/.bash_profile 里或者 ~./bashrc 里进行设置，如</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">export JAVA_HOME=/usr/local/jdk<br />export PATH=$JAVA_HOME/bin:$PATH<br />export CLASSPATH=$JAVA_HOME/jre/lib/rt.jar:.</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">设置 PATH 时用的 $JAVA_HOME 是指替换变量 JAVA_HOME 的值到 $JAVA_HOME 所在位置。如上句实际就是 export PATH=/usr/local/jdk/bin:$PATH。这句中 $PATH 也是同样的作用，不过这里的 PATH 是指以前设置的 PATH 变量的值，而非本次设置 PATH 变量的值。</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">注意，在 CLASSPATH 中包含了一个&#8220;当前目录 (.)&#8221;。包含了该目录后，就可以到任意目录下去执行需要用到该目录下某个类的 Java 程序，即使该路径并未包含在 CLASSPATH 中也可以。原因很简单：虽然没有明确的把该路径包含在 CLASSPATH 中，但 CLASSPATH 中的 &#8220;.&#8221; 在此时就代表了该路径，例如</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">假设在 /home/fancy/java 目录下有可运行的类 HelloJava.class，那么</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">[fancy@matrix fancy]$ export CLASSPATH=/usr/local/jdk/jre/lib/rt.jar:. // 设置 CLASSPATH，注意最后的&#8220;.&#8221;<br />[fancy@matrix fancy]$ cd ~/java // 转到 /home/fancy/java<br />[fancy@matrix java]$ pwd // 显示当前目录<br />/home/fancy/java // 当前目录是 /home/fancy/java<br />[fancy@matrix java]$ java HelloJava // 运行 HelloJava<br />Hello, Java // 运行结果<br />[fancy@matrix java]$ _</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">析</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">***** 实例分析</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">只是操作系统不同，略有差别。</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; ">两个例子都提到一个&#8220;可运行的类&#8221;，它是指包含了 public static void main(String[] args) 方法的类，这将在下一章 HelloJava 一节中详述。例中的 CLASSPATH 均未包含 HelloJava.class 所在的目录(C:\java, /home/fancy/java)，但是均包含了当前目录 (.)。因此转到包含 HelloJava.class 的目录下去执行 java HelloJava，在 Java 寻找到 CLASSPATH 中的&#8220;. (当前目录，C:\java, /home/fancy/java)&#8221;时，找到了 HelloJava.class，运行成功。</p></span><img src ="http://www.blogjava.net/liuwuping12064915/aggbug/352984.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuwuping12064915/" target="_blank">天空布蓝</a> 2011-06-24 23:15 <a href="http://www.blogjava.net/liuwuping12064915/archive/2011/06/24/352984.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>