java 썸네일형 리스트형 Java Stack 구현 class Stack { private final int MAX_SIZE = 100000; private int top; private Object[] array; public Stack() { this.top = -1; this.array = new Object[MAX_SIZE]; } public void push(Object o) { array[++top] = o; } public Object peek() { return array[top]; } public Object pop() { return array[top--]; } public boolean empty() { return top == -1; } } Java 프로그램에서 Proxy 사용 Java 프로그램에서 Proxy를 사용해서 네트워크 연결을 하려는 경우에는 Proxy IP와 Port를 세팅해주면 된다. System.setProperty("http.proxyHost", "IP Address"); System.setProperty("http.proxyPort", "Port Number"); 이 두줄을 프로그램 시작할 때 넣어주도록 하자. 쓰레드(Thread)의 사용 쓰레드(Thread)는 하나의 프로세스 내에서 여러 작업을 동시에 실행할 때 사용한다. 프로세스 내에서 쓰레드를 사용하면 다양한 작업을 동시에 진행할 수 있고 작업중에 얻게된 데이터를 공유할 수 있다는 이점과 여러개 프로세스를 사용할 경우 각 프로세스마다 메모리가 할당되는데 단일 프로세스 내의 쓰레드는 같은 메모리 공간을 공유한다는 이점이 있다. 쓰레드를 사용하는 대표적 사례로는 게임을 들 수 있을 것이다. 플레이어와 적의 움직임이 동시적으로 일어나야하지만 둘사이의 어떠한 연관성도 없기 때문에 둘의 움직임은 한 프로세스 내에서도 독립적으로 작동해야한다는 것을 알 수 있다. 쓰레드는 기본적으로 Thread Class를 상속받아 구현하며, 실제 쓰레드로 작동할 run() 함수를 start() 함수로 작동시키.. 접근제어자 public, protected, default, private 접근제어자를 통해서 class간 변수 및 메소드 접근을 제어할 수 있다. public: 어떠한 조건에서도 모두 사용할 수 있다.protected: 같은 패키지 내에 존재하는 class나 상속 class에서 사용할 수 있다.defualt: 아무 것도 붙이지 않는 경우 default가 되며, 동일 패키지 내에 존재하는 class의 변수와 함수를 사용할 수 있다.private: 선언된 class 내부에서만 사용이 가능하다. 구체적인 테스트는 아래의 소스를 참고하자. package package1; import package2.Class3; public class Class1 { public String publicVar1; protected String protectedVar1; String defaultVa.. 4. Comparator를 이용한 Array와 List의 정렬 Java프로그램에서 Array나 List에 저장된 value를 정렬할 때 가장 많이 쓰는 방식은 Arrays class나 Collections class를 import하여 정렬하는 방식입니다. 빠른 정렬을 개발자가 직접 구현하여 사용하는 것도 가능하지만, Arrays나 Collections에서 구현된 sort 함수는 정렬방식 중 가장 시간 복잡도가 작은 방식으로 최적화되어 있기 때문에 시간을 더 줄일 수 있지 않을까 하는 생각으로 직접 구현할 필요는 없습니다. 하지만 일반적인 Arrays.sort()나 Collections.sort()를 이용하다보면 발생하는 문제가 있습니다. Array든 List든 값을 오름차순으로만 정렬한다는 것과 이차원 배열 등 다차원 배열의 정렬이 되지 않는다는 것입니다. Java.. 이전 1 2 3 4 다음