Language/Java 65

[펌] java Queue 종류별 성능 비교

http://yjacket.tistory.com/48 왠만하면 LinkedList 쓰거나 ArrayDeque 써야 할듯. 결과ArrayList - 넣기 : 38msArrayList - 빼기 : 36851msHashMap - 넣기 : 170msHashMap - 빼기 : 17msConcurrentLinkedQueue - 넣기 : 156msConcurrentLinkedQueue - 빼기 : 17msLinkedList - 넣기 : 41msLinkedList - 빼기 : 9msArrayBlockingQueue - 넣기 : 32msArrayBlockingQueue - 빼기 : 22msArrayDeque - 넣기 : 17msArrayDeque - 빼기 : 5msLinkedBlockingQueue - 넣기 : 47ms..

Language/Java 2016.10.14

K번째 수 (quick sort)

N개의 수가 주어진다. 이 수들을 오름차순 정렬했을 때, K번째에 위치하는 수를 알아내자.입력첫 번째 줄에 N, K가 공백으로 분리되어 주어진다. (1 ≤ K ≤ N ≤ 5,000,000)두 번째 줄부터 N개의 줄에 걸쳐 N개의 정수가 주어진다. 각 정수는 -1,000,000,000 이상 1,000,000,000 이하이다.출력주어진 N개의 정수를 오름차순 정렬했을 때, K번째에 위치하는 수를 출력한다. 문제는 심플하다..단순 sort후 K 번째 숫자를 출력하고 싶지만.정수의 범위가 커서 일반 sort할 경우, time out 이 발생한다.지금의 예제는 중간값을 구하고,그 값을 기준으로 quick sort를 반복한다. 좀더 빠르게 하려면, 중간값을 처음과 끝의 반복이 아닌첫 수, 마지막 수, 중간수를 뽑아..

Language/Java 2016.10.12

Java로 linux/Windows command 실행하기

Java를 이용하여 Shell Command를 실행하는 Program import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader; /** * TODO : 클래스 설명 작성 * * @author : 윤주석 * @since 1.0 * @see */public class ShellCommander {public String execute(String command) {StringBuffer output = new StringBuffer();Process process = null;BufferedReader br = null;Runtime runtime = Runtime.getRuntime();String os..

Language/Java 2016.09.27

File 내 특정 Context 교체

File 내의 특정 문구를 변경해서 새로운 file로 만드는 예제 필요 사항inputFileName(경로 포함)outputFileName(경로 포함)Properties(변경 문구, key=value) return 성공여부 import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;..

Language/Java 2016.07.21

Eclipse와 InteliJ 단축기 비교

Setting 에서 Keymap 에서 Eclipse 스타일 설정 후!!! 단축키 동작 EclipseIntelliJ IDEA Ctrl + 1 Alt + Enter import 되지 않은 Class import 도움 Alt + Shift + O Ctrl + Alt + O import 정리 Ctrl + D Ctrl + Y 라인 삭제 Alt + Shift + S Alt + Insert 코드 삽입(Constructor, get/setter, toString 등) Ctrl + N Alt + Shift + N Ctrl + Alt + Insert 신규 파일 생성(java, JSP 등) sysout, syserr sout, serr System.out.println, System.err.println(Code Templ..

Language/Java 2016.07.19

lombok 사용해서 개발하기

Java 개발시 매번 getter/setter/constuctor/equals/toString 등을 작성해 주는게 기계적인 노동에 해당한다. 이런 기계적인 반복작업을 쉽게 해주는것이 lombok project 이다. https://projectlombok.org/ 간단하게 말해서 Annotation으로 간단하게 Setter, Getter 등의 기본작업을 대신해주는 Project임. 많이 사용하는 Annotation 은 다음과 같다. @Getter / @Setter -Getter와 Setter 함수를 생성합니다. -접근제어 : AccessLevel 지정을 통해서 접근레벨을 제한할 수 있습니다. (PUBLIC, PROTECTED, PACKAGE, PRIVATE) - @Getter(AccessLevel.PAC..

Language/Java 2016.07.19

tomcat jdbc Connection pool options

maxActive : 서비스에서 동시에 사용될수 있는 최대 커넥션 개수. (기본값 : 8) - (maxAcive - maxIdle ) 개의 커넥션은 pool 에 반환되지 않고 제거(real destory) 된다. maxIdle : 커넥션 풀에서 유지될수 있는 idle 상태 커넥션의 최대 개수. (기본값 : 8) minIdle : 커넥션 풀에 유지되수 있는 idle 상태 커넥션의 최소 개수. (기본값 : 0) maxWait : 커넥션 사용이 많아져서 커넥션 풀이 비었을때 사용할수 있는 커넥션을 반환받기까지 기다릴수 있는 최대시간 (ms) (기본값: -1, 무한대기) validationQuery : 커넥션 풀에서 커넥션을 가져올때 해당 커넥션의 유효성 검증에 사용할 SQL Query (반드시 하나 이상의 r..

Language/Java 2016.07.11

jdbc connection max check code

jdbc 설정 이외에 직접 connection 수를 증가하면서,connection 가능 여부를 판단 할 수 있는 code 간단하다. import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement; import org.junit.Test; public class JdbcConnectionTest {@Testpublic void connectTest() throws ClassNotFoundException, SQLException {int connLimit = 2000; Connection[] conn = new Connection[connLimit]; Class.forN..

Language/Java 2016.05.31