0. java 설치하기

java.sun.com 에 들어가셔서 java7 rpm파일을 다운받아서 설치합니다.

설치가완료되면

# vi /etc/profile 에서 다음내용을 추가해줍니다

#JAVA SDK 7
JAVA_HOME=/usr/java/jdk1.7.0
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin 
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/*:. 

:wq로 저장한뒤

# source /etc/profile 실행

# java -version 
# javac -version

를 실행하여 정상적으로 작동하나 확인한다. 

 

1. tomcat설치

http://tomcat.apache.org/로 접속하여

톰켓 7.0 tar.gz파일을 다운로드한다. 필자는 apache-tomcat-7.0.26.tar.gz 파일을 다운받았다.

다운로드 받은 폴더에서

# tar xvfz apache-tomcat-7.0.26.tar.gz 

로 압축을 푼다.

# mv ./apache-tomcat-7.0.26 /usr/tomcat7

으로 압축을 푼 폴더를 이동

#vi /etc/profile 로 다음내용을 추가한다

#TOMCAT7
export CATALINA_HOME=/usr/tomcat7
export PATH=$PATH:$CATALINA_HOME/bin



:wq로 저장한뒤

# source /etc/profile 실행해준뒤

# startup.sh 로 tomcat 를 실행해보자




2. apache랑 연동하기
 

-출처 ->  http://wory.tistory.com/141
# httpd -version으로 아파치 버전을 확인한다

http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.30/x86_64/

위 주소에 접속하여 자기와 맞는 httpd버전을 맞춰 다운로드한다

[root@localhost bin]# httpd -version
Server version: Apache/2.2.15 (Unix)
Server built:   Feb 13 2012 22:25:23

필자는 2.2.15.버전임으로 mod_jk-1.2.30-httpd-2.2.X.so 이파일 하나만 받았다.

다운받은 폴더에서

mv mod_jk-1.2.30-httpd-2.2.X.so /usr/lib/httpd/modules/mod_jk.so
로 이동 
# chmod +x /usr/lib/httpd/modules/mod_jk.so
로 퍼미션을 풀어준다

# vi /etc/httpd/conf/httpd.conf

로 모듈을 추가하자
vi /etc/httpd/conf/httpd.conf

 
  //LoadModule가 모인 곳에.
     LoadModule jk_module modules/mod_jk.so

  //..ifModule 설정이 모인 곳에.

  <ifModule jk_module>
          JkWorkersFile /etc/httpd/conf/workers.properties
          JkShmFile /etc/httpd/logs/mod_jk.shm
          JkLogFile /etc/httpd/logs/mod_jk.log
          JkLogLevel info
          JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
  </ifModule>


   JkMount /*.jsp ajp13
  <Directory />
      Options FollowSymLinks
      AllowOverride None
  </Directory>

 

그다음 # vi /etc/httpd/conf/workers.properties 실행하여 아래내용을 적어 생성하자


  worker.list=ajp13
  worker.ajp13.type=ajp13
  worker.ajp13.host=localhostIP -> 본인아이피입력
  worker.ajp13.port=8009
  worker.ajp13.lbfactor=1
  worker.ajp13.connection_pool_timeout=600
  worker.ajp13.socket_keepalive=1 
 

위에 설정을 다마치면 

# startup.sh stop
# startup.sh start
# apachectl restart

로 톰켓과 아파치를 재시작해준뒤

http://'본인아이피'/index.jsp 로 접속하여 아래창이뜨면 성공!

 


3. 부가적기능
tomcat를 편하게 실행하기위해 서비스 등록 , 부팅시 시작등록 
(출처) -  http://haebi.kr/83 

# vi /etc/init.d/tomcat 를 실행하여 아래내용을 입력하자

#!/bin/sh
#
# Tomcat7 auto-start
#
# chkconfig: 2345 90 90
# description: Auto-starts tomcat7
# processname: tomcat7
# pidfile: /var/run/tomcat7.pid
case $1 in
start)
    sh /usr/tomcat7/bin/startup.sh
    ;;
stop)
    sh /usr/tomcat7/bin/shutdown.sh
    ;;
restart)
    sh /usr/tomcat7/bin/shutdown.sh
    sh /usr/tomcat7/bin/startup.sh
    ;;
esac
exit 0   

그뒤 wq로 저장하여 생성해준다

chmod 755 /etc/init.d/tomcat
실행권한 설정

chkconfig --add tomcat
서비스 자동시작 설정


이렇게 등록을 해주면 service tomcat start 로 시작 할 수 있다.






'OS > CentOS' 카테고리의 다른 글

우분투 12.10 에서 phpmyadmin 이 접속이안될때  (1) 2012.11.01
CentOS 에서 php / phpadmin설치하기  (0) 2012.03.12
Centos에 Mysql 설치하기  (0) 2012.03.07
CentOS5 에서 xrdp 사용하기.  (0) 2012.03.07
(펌)rpm 명령어  (0) 2012.03.07




import java.util.*;

public class SpeedTest {

	public static long add( List list ) // 순차적인 삽입.
	{
		long start_time = System.currentTimeMillis();
		
		for (int i = 0 ; i<100000 ; i++)
		{
			list.add(i+"");
		}
		
		long end_time = System.currentTimeMillis();
		
		return end_time - start_time;
	}
	
	public static long add2( List list ) // 중간에 삽입
	{
		long start_time = System.currentTimeMillis();
		
		for (int i = 0 ; i<100000 ; i++)
		{
			list.add(1000 , "a"); // 100번째 에 삽입
		}
		
		long end_time = System.currentTimeMillis();
		
		return end_time - start_time;
	}
	
	public static long remove(List list)
	{
		long start_time = System.currentTimeMillis();
		
		for (int i = 0 ; i<100000 ; i++)
		{
			list.remove(500);
		}
		
		long end_time = System.currentTimeMillis();
		
		return end_time - start_time;
		
	}
	public static long remove2(List list)
	{
		long start_time = System.currentTimeMillis();
		
		for (int i = list.size()-1 ; i>0 ; i--)
		{
			list.remove(i);
		}
		
		long end_time = System.currentTimeMillis();
		
		return end_time - start_time;
		
	}
	public static long access(List list)
	{
		long start_time = System.currentTimeMillis();
		
		for (int i = 0; i<1000 ; i++)
		{
			list.get(i);
		}
		
		long end_time = System.currentTimeMillis();
		
		return end_time - start_time;
	}
	public static void main(String[] args)
	{
		
		ArrayList al = new ArrayList( 1000000 );	
		LinkedList ll = new LinkedList();
		
		
		
		System.out.println("순차적으로 삽입하는 시간");
		System.out.println("Arraylist " + add(al));
		System.out.println("LinkedList " + add(ll));
		//순차적일 경우는 arraylist 가 빠르다.
		
		
		System.out.println("중간에 추가하는 시간");
		System.out.println("Arraylist " + add2(al));
		System.out.println("LinkedList " + add2(ll));
		//중간에 추가할경우 LinkedList 가 빠르다 훨신!
		
		System.out.println("접근시간 테스트");
		System.out.println("Arraylist " + access(al));
		System.out.println("LinkedList " + access(ll));
		
		
		System.out.println("중간에서 삭제하기");
		System.out.println("Arraylist " + remove(al));
		System.out.println("LinkedList " + remove(ll));
		//중간에 삭제할경우 LinkedList 가 빠름
		
		
		System.out.println("순차적으로 삭제하기");
		System.out.println("Arraylist " + remove2(al));
		System.out.println("LinkedList " + remove2(ll));
		//순차적삭제는 Arraylist가 빠름

		

		
	}
}

1. 순차적으로 추가/삭제하는경우에는 ArrayList가 LinkedList보다 빠르다

2. 중간에 데이터를 추가.삭제 하는경우에는 LinkedList가 ArrayList 보다 훨씬! 빠르다. 

3. 특정요소에 접근할 경우에는 Arraylist가 빠르다.

배열의 경우 n번째 요소에 접근할 경우 아래와 같은 수식으로 접근하기 때문에 빠르다.

n번째 요소의 주소 = 배열의 주소 + n * 데이터 타입의 크기.


'Programming > Java' 카테고리의 다른 글

컬렉션  (0) 2012.02.10
직렬화(Serialize)  (0) 2012.02.07
예외 처리 (Exception)  (0) 2012.01.11
Thread  (0) 2012.01.10
이클립스 단축키 (펌)  (0) 2011.03.23

+ Recent posts