티스토리 툴바


달력

01

« 2012/01 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
2010/08/05 13:37

ArrayList & Vector 차이점 Java2010/08/05 13:37

API를 보면 두 object는 매우 유사하다. 사용하는 측면에서 vector가 사용될수도 있고, ArrayList가 사용될수도 있다.

1. Vector는 동기화를 지원하고, ArrayList는 지원하지 않는다. 만약 thread-safe collection을 필요로 하지 않는다면 ArrayList를 사용하는것이 효율적이다.

2. Resize할 경우 Vector는 default상태에서는 자기 자신의 array크기의 배수만큼 초기화한다. resize length를 지정할수 있다. ArrayList의 경우 자기 자신의 array크기의 50%씩 증가 시킨다. 만약 프로그램 상 필요로하는 데이터의 증가 비율을 알고 있다면 vector의 length를 지정하여 performance를 증가시킬 수 있다.

저작자 표시

'Java' 카테고리의 다른 글

ArrayList & Vector 차이점  (0) 2010/08/05
Posted by ttdw
2010/07/18 05:40

Google Code Jam 일상2010/07/18 05:40

A. Snapper Chain
 - 왜 한글로 된 문제는 없을까. 문제를 이해 못해서 한참을 읽었다.
#include <iostream>
#include <fstream>

using namespace std;

#define N_MIN 1
#define N_MAX 30
#define K_MIN 0
#define K_MAX 100000000


unsigned long long m[N_MAX - N_MIN + 1];
int main() {
m[0] = 1;
for(int i=1;i<=N_MAX;i++) {
m[i] = m[i-1] << 1;
}
//ifstream fin("A-large-practice.in");
//ofstream fout("large.out");
ifstream fin("A-small.in");
ofstream fout("small.out");


long num, n, k;
fin >> num;
for(int i=1;i<=num;i++) {
fin >> n >> k;
if(k % m[n] == m[n] - 1)
fout << "Case #" << i << ": ON" << endl;
else
fout << "Case #" << i << ": OFF" << endl;
}
fin.close();
fout.close();
return 0;
}

B. Fair Warning
C. Theme Park
저작자 표시

'일상' 카테고리의 다른 글

Google Code Jam  (0) 2010/07/18
대학에서 무얼하는걸까  (0) 2010/04/29
개발자의 심리학  (0) 2009/10/27
헐퀴 저작권침해  (2) 2009/10/27
공모전  (0) 2009/10/18
Posted by ttdw
2010/04/29 06:16

xml parser C & C++2010/04/29 06:16

* C++ xml parser 종류
MSXML, XmlLite, expat, xerces, TinyXml

용어 설명

- DOM(Document Object Model) : 국제 표준화 기구에서 제작한 표준이며 XML문서 전체를 한번에 읽어 XML Tree로 만든다.
- SAX(Simple API for XML) : 민간기구에서 제작한 표준이며 이벤트 방식으로 특정 이벤트가 발생할때 마다 처리한다.

- COM(Component Object Model) : 소프트웨어 구성요소를 개발하기 위한 MS의 플랫폼. IPC와 동적할당을 가능하게 하기 위해 사용된다. 이 용어는 OLE, OLE 자동화, ActiveX, COM+, DCOM 기술을 포함하는 포괄적 용어로 사용한다.

1. MSXML(Microsoft Xml)
COM기반 XML 파서
기본적으로 DOM 방식(캐시하지 않는 이벤트 기반의 SAX2파서도 포함)
성능이 좋으면 대부분의 시나리오에서 기본적으로 안전
C++, JavaScript, VB를 비롯한 COM을 지원하는 모든 프로그래밍언어에서 사용 가능
http://www.word.pe.kr/bbs/view.php?id=xml&page=3&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=24

2. XmlLite
SAX방식
캐시하지 않으며 정방향으로만 작동
주로 C++과 함께 사용, 관리코드와 함께 XmlLite를 사용하는것은 권장하지 않음
대부분의 시나리오에서 안전하며, 간단하고 빠른 XML파서
보안이 좋음

3. expat : SAX방식만 지원, c기반
http://www.redwiki.net/wiki/wiki.php/expat
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/XML/expat_xml

4. xerces
Apache 프로젝트중 하나
Java, C++, Perl 언어 작동
http://funnism.com/category/XML%20Programming
http://cozyu.tistory.com/8
http://earthconq.egloos.com/80810
http://blog.naver.com/PostView.nhn?blogId=lyhcool2&logNo=100033078922&redirect=Dlog&widgetTypeCall=true

5. TinyXml

DOM방식만 지원, UTF-16미지원


참고 : http://javawork.egloos.com/2040057
http://fattarzan.tistory.com/category/COM/DCOM/COM+

'C & C++' 카테고리의 다른 글

xml parser  (0) 2010/04/29
Posted by ttdw