开篇之环境搭建JDK+Maven+Eclipse常用配置,Tomcat的内存溢出解决


1.JDK安装与配置:

首先需要到官网上下载JDK这款软件,本人下载的是jdk-6u26-windows-i586版本,安装完成显示jdk1.6.0_26。

其次选择安装路径。本人的安装路径是C:\Program Files\Java\jdk1.6.0_26。

安装完成后需要设置环境变量从而使编译器正常使用。右击“计算机”à选择“属性”à选择左边“高级系统设置”à选择上面“高级”选项卡à点击右下角“环境变量”按钮。

接下来弹出的对话框会出现用户变量和系统变量。用户变量对当前登录账户有效,系统变量对所有用户都有效,读者可根据需要设置。


方法/步骤

  1. 1.在系统变量里点击新建,变量名填写JAVA_HOME,变量值填写JDK的安装路径,在这里就填写“C:\Program Files\Java\jdk1.6.0_26”了。

  2. 2.在系统变量里点击新建变量名填写CLASSPATH,变量值填写“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar”。注意不要忘记前面的点和中间的分号。

  3. 3.在系统变量里找到Path变量,这是系统自带的,不用新建。双击Path,由于原来的变量值已经存在,故应在已有的变量后加上“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin”。注意前面的分号。

  4. 4.至此,应有的环境变量已经配置完毕。验证的方法:在运行框中输入cmd命令,回车后输入java,按回车出现以下画面

2.Maven的安装于配置:


将安装文件解压到你指定的目录中,如:

D:\bin>jar xvf "C:\Users\Juven Xu\Downloads\apache-maven-3.0--bin.zip"

这里的Maven安装目录是D:\bin\apache-maven-3.0,接着需要设置环境变量,将Maven安装配置到操作系统环境中。

打开系统属性面板(桌面上右键单击“我的电脑”→“属性”),点击高级系统设置,再点击环境变量,在系统变量中新建一个变量,变量名为M2_HOME,变量值为Maven的安装目录D:\bin\apache-maven-3.0。点击确定,接着在系统变量中找到一个名为Path的变量,在变量值的末尾加上%M2_HOME%\bin;,注意多个值之间需要有分号隔开,然后点击确定。至此,环境变量设置完成,详细情况如图2-2所示:

图2-2 Windows中系统环境变量配置

这里需要提一下的是Path环境变量,当我们在cmd中输入命令时,Windows首先会在当前目录中寻找可执行文件或脚本,如果没有找到,Windows会接着遍历环境变量Path中定义的路径。由于我们将%M2_HOME%\bin添加到了Path中,而这里%M2_HOME%实际上是引用了我们前面定义的另一个变量,其值是Maven的安装目录。因此,Windows会在执行命令时搜索目录D:\bin\apache-maven-3.0\bin,而mvn执行脚本的位置就是这里。

明白了环境变量的作用,现在打开一个新的cmd窗口(这里强调新的窗口是因为新的环境变量配置需要新的cmd窗口才能生效),运行如下命令检查Maven的安装情况:

C:\Users\Juven Xu>echo %M2_HOME%

C:\Users\Juven Xu>mvn -v

运行结果如图2-3所示:


 图2-3 Windows中检查Maven安装

第一条命令echo %M2_HOME%用来检查环境变量M2_HOME是否指向了正确的Maven安装目录;而mvn –version执行了第一条Maven命令,以检查Windows是否能够找到正确的mvn执行脚本。


3.Eclipse Java注释模板设置详解

设置注释模板的入口: Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元素啦。现就每一个元素逐一介绍:

文件(Files)注释标签:

/**   
* @Title: ${file_name} 
* @Package ${package_name} 
* @Description: ${todo}(用一句话描述该文件做什么) 
* @author A18ccms A18ccms_gmail_com   
* @date ${date} ${time} 
* @version V1.0   
*/

类型(Types)注释标签(类的注释):

/** 
* @ClassName: ${type_name} 
* @Description: ${todo}(这里用一句话描述这个类的作用) 
* @author A18ccms a18ccms_gmail_com 
* @date ${date} ${time} 

* ${tags} 
*/

字段(Fields)注释标签:

/** 
* @Fields ${field} : ${todo}(用一句话描述这个变量表示什么) 
*/ 
构造函数标签:

/** 
* <p>Title: </p> 
* <p>Description: </p> 
* ${tags} 
*/

方法(Constructor & Methods)标签:

/** 
* @Title: ${enclosing_method} 
* @Description: ${todo}(这里用一句话描述这个方法的作用) 
* @param ${tags}    设定文件 
* @return ${return_type}    返回类型 
* @throws 
*/

覆盖方法(Overriding Methods)标签:

/* (非 Javadoc) 
* <p>Title: ${enclosing_method}</p> 
* <p>Description: </p> 
* ${tags} 
* ${see_to_overridden} 
*/

代表方法(Delegate Methods)标签:

/** 
* ${tags} 
* ${see_to_target} 
*/ 
getter方法标签:

/** 
* @return ${bare_field_name} 
*/

setter方法标签:

/** 
* @param ${param} 要设置的 ${bare_field_name} 
*/


4.更改编辑框背景色

  1. 展开General

    eclipse如何设置成保护眼的背景色




  2. 展开Editors

    eclipse如何设置成保护眼的背景色







  3. 点击Text Editors

    eclipse如何设置成保护眼的背景色




  4. 点击Appearance color options里面的Background color

  5. eclipse如何设置成保护眼的背景色


  6. 点击Color后面的颜色按钮

    eclipse如何设置成保护眼的背景色


  7. 规定自定义颜色

    eclipse如何设置成保护眼的背景色




  8. 把色调调成:85 饱和度调成:123 亮度调成205 即可调成豆沙绿色了 然后点确定确定




5.设置编码格式

一般Java文件编码格式是UTF-8的。以下以默认GBK改为UTF-8为例。 
1.改变整个工作空间的编码格式,这样以后新建的文件也是新设置的编码格式。 
    eclipse->window->preferences->General->workspaceTypes->Other->UTF-8->OK 
汉化版:eclipse->窗口->首选项->常规->工作空间->其它->UTF-8->确定 

2.项目范围的设置编码格式 
Project->Properties->General->Resource->Other->UTF-8->OK 

3.某类型文件的编码格式 
eclipse->window->preferences->General->Content Types->右边找到要修改的文件的类型(JAVA,JSP等等)->在下面的Default encoding,输入框中输入UTF-8->Update->OK 
汉化版:eclipse->窗口->首选项->常规->内容类型->在右边选择要修改文件的类型->下面缺省编码输入->更新 

4、单个文件设置编码格式 
在包资源管理器右键点击文件->属性,改变文本文件编码格式为UTF-8 


6.Tomcat 内存溢出问题:

修改TOMCAT_HOME/bin/catalina.bat(Linux下为catalina.sh),在“echo "Using CATALINA_BASE:   $CATALINA_BASE"”上面加入以下行: 
set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=256M -XX:MaxPermSize=1024m 
catalina.sh下为: 
JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=256M -XX:MaxPermSize=1024m"

eg:
set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128M -XX:MaxPermSize=512m 
echo Using CATALINA_BASE:   "%CATALINA_BASE%"
echo Using CATALINA_HOME:   "%CATALINA_HOME%"
echo Using CATALINA_TMPDIR: "%CATALINA_TMPDIR%"
http://www.cnblogs.com/apaqi/archive/2012/07/09/2582480.html


如果JVM里运行的程序, 它的内存堆和持久存储区域的都满了,这个时候程序还想创建对象实例的话,垃圾收集器就会启动,试图释放足够的内存来创建这个对象。这个时候如果垃圾收集器 没有能力释放出足够的内存,它就会抛出OutOfMemoryError内存溢出错误。

JVM的内存管理方式:

SUN的JVM是类似人类家族,也就是在一个地方创建对象,在它长期占据空间之前给它多次死亡的机会,SUN JVM会划分为:

1. 年轻的一代(Young generation),包括EDEN和2个幸存者空间(出发地和目的地the From space and the To space)

2. 老一代(Old generation)

3. 永久的一代(Permanent generation)

Java虚拟机的运行时数据区一般分类如下(不一定是物理划分):

1. 堆:主要存放对象实例,线程共享

2. 栈:主要存储特定线程的方法调用状态,线程独占

3. 本地方法栈:存储本地方法的调用状态,线程独占

4. PC寄存器:学过操作系统课程的都知道,线程独占

5. 方法区:主要存储了类型信息,线程共享

因此,在抛出内存溢出错误的时候,一般都会提示内存泄露的种类,一般也都是按照区域进行划分:

1. 堆(heap)内存泄漏java.lang.OutOfMemoryError: Javaheap space:大家都比较熟悉 ,通过设置-Xms2048m -Xmx4096m可以解决

2. 栈(stack)内存泄漏:当前线程运行期间维护的中间变量等信息过多,例如常见的死循环引起stack over flow

3. 方法区(permanent heap)内存泄漏,即java.lang.OutOfMemoryError: PermGen space:发生的原因和类型装载、类型卸载有直接的关系,通过设置-XX:MaxNewSize=256m -XX:MaxPermSize=256m可以解决。

一般情况下,当服务器内存过小,而提供了大量的访问服务时,可能会缓存过多的数据对象造成堆内存溢出,当web应用不断扩大,加载的lib库达到一定大小(4M)后,就容易报PermGen OOM,也就是方法区溢出。

在Linux服务器中将参数写入环境变量:

export CATALINA_OPTS=”-Xms2048m -Xmx4096m” export JAVA_OPTS=”-XX:MaxNewSize=256m -XX:MaxPermSize=256m” Xmx 最大不要超过服务器物理内存的80%



Linux下安装JDK7并配置环境变量

一、下载

首先,当然是要下载了。

地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

按照需要选择不同的版本。笔者选择的是 jdk-7u45,如图:

二、 解压

将下载下来的 .tar.gz 文件解压。

使用如下命令解压:

sudo tar zxvf ./jdk-7u45-linux-x64.tar.gz

 

为了方便管理,可将解压后的文件移至另一个文件夹。

不做也行。

笔者将文件移至了 /opt/Java/jdk/ 目录下。

为了方便下一步设置环境变量,将文件夹换了个短点的名字 —— jdk1.7

可使用如下命令对文件夹重命名

sudo mv jdk1.7.0_45/ jdk1.7/

 

三、 设置环境变量

编辑 .bashrc 文件。

在终端输入如下命令:

vi ~/.bashrc

在该文件的末尾,加上以上几行代码:

export JAVA_HOME=/opt/Java/jdk/jdk1.7
export CLASSPATH=${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

 

为了让更改立即生效,请在终端执行如下命令:

source ~/.bashrc

 

P.S. 在修改 .bashrc 文件之前最好先备份下,备份命令:

cp .bashrc .bash_original

 

四、 验证

通过以上步骤,JDK已安装完成。

输入以下命令验证 java -version ,如图:



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值