Development/[Java] 자바(10)
-
mac java 설치 및 환경변수 path 설정
mac에서 java를 설치하고 환경변수 path 를 설정하는 방법은 대략적으로 다음과 같습니다.Homebrew 설치 (bash)설치할 수 있는 자바 버전들 확인 (openjdk ~ )원하는 버전 설치 ( 2번에 확인한 목록 중에서 )환경변수 설정 ( zsh, bash, profile )자세히 알아보면 다음과 같습니다.1. Homebrew 설치$/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"2. 설치할 수 있는 자바 버전들 확인$brew search openjdk3. 원하는 버전 설치*. 저는 17을 선택해보겠습니다$brew install openjdk@174. 환경변수 설정$echo..
2024.07.16 -
IntelliJ 자바 프로젝트에 VM 옵션 추가하기
IntelliJ 자바 프로젝트에 VM 옵션을 추가하는 방법은 정말 쉽다.. 해당 메뉴가 숨어있을뿐.. 1. 상단 Run Config에서 [Edit Configurations...] 옵션 클릭 2. 우측 Build and run 항목에서 "Modify options" 클릭 3. 메뉴에서 Add VM options 선택 4. 새로 입력칸이 생긴 곳에 VM 옵션을 넣는다.
2023.09.22 -
자바 검색엔진 "아파치 루씬(lucene) 8.7.0" 적용기 - 2/2
1편 - kplog.tistory.com/285 지난 시간에 1개의 파일을 읽어서 해당 파일의 특정 단어의 위치에 대한 검색을 빠르게 하는 방법으로 "아파치 루씬" 도입을 고려했다. 테스트를 거듭한 결과, 역시 아파치 루씬의 단어 검색에 성공을 했고, 그 속도에 놀라게 되었다. 역시 코딩은 집에서 편하게 쉬는 시간(?)에 해야 해결이 잘되는 것 같은 것은 진리인가.. 우선 아파치 루씬을 구현하기 위한 큰 구조는 다음과 같다. *. 사전 필요 작업 (라이브러리 의존성 추가) implementation group: 'org.apache.lucene', name: 'lucene-core', version: '8.7.0' implementation group: 'org.apache.lucene', name: '..
2021.01.22 -
자바 검색엔진 "아파치 루씬(lucene) 8.7.0" 적용기 - 1/2
아파치 루씬은 보통 여러 파일을 인덱싱하여 해당 파일을 빠르게 찾는 용도의 레퍼런스가 많이 나와있으나, 현재 도전중인 것은 파일 1개안의 텍스트들을 행단위로 인덱싱하고 빠르게 찾기 위해 시도중이다. 허나 아래의 코드로 했을 경우, 단어를 찾지 못하고 있다. try { File file = new File("인덱스가생길디렉토리명칭.index"); Directory dir = FSDirectory.open(Paths.get(file.toURI())); Analyzer analyzer = new StandardAnalyzer(); IndexWriterConfig iwc = new IndexWriterConfig(analyzer); iwc.setOpenMode(IndexWriterConfig.OpenMode.C..
2021.01.20 -
[자바] 멀티쓰레드 병렬처리 - stream 방식 ExecutorService, Future 방식
(1) ExecutorService, Future, callable 자바 1.5 버전의 ExecutorService와 callable를 사용한 예시 newSingleThreadExecutor로 하였는데 newFixedThreadPool(숫자) 방식으로 하면 쓰레드 개수를 지정할 수 있다. ExecutorService executorService = Executors.newSingleThreadExecutor(); Set callables = new HashSet(); //리스트, 맵등 반복문으로 작업할 콜렉션 for(String key : map.keySet()) { callables.add(() -> { //원하는 동작 수행 return "result"; }); } //callables 들이 병렬처리된..
2020.11.24 -
[자바] 배열 중복값 검사
List str = new ArrayList(); for(int i = 0 ; i ss = new HashSet(); ss.add("a"); ss.add("a"); ss..
2013.01.30 -
자바 컬렉션 list, map, set의 차이 - 1
List 순서O, 데이터중복OAbstractList, ArrayList, LinkedList, Vector Set 순서X, 데이터중복XAbstractSet, HashSet, LinkedHashSet, TreeSet Map 순서X, key중복X, value중복O AbstractMap, Attributes, HashMap, Hashtable, IdentityHashMap, RenderingHints, TreeMap, WeakHashMap [출처] List 와 Set, Map 컬렉션의 차이점|작성자 짱뚝
2013.01.03 -
HashMap의 keySet 메소드를 통해 값을 가져오는 방법
HashMap의 keySet 메소드를 통해 map안의 값을 가져오는 방법(Iterator사용) public static void main(String[] args) { Map testMap = new HashMap(); map.put("no", "1"); map.put("id", "hello"); map.put("pass", "1234"); Iterator iter = map.keySet().iterator(); while (iter.hasNext()) { String keys = (String) iter.next(); System.out.print("키값="+keys); System.out.println(" 밸류값="+map.get(keys)); } } [ 출력 결과 ] key=no value=1, k..
2013.01.02 -
완전 기초 중의 기초 배열
public class Ex02 { public static void main(String[] args) { int[] score = {10,20,30,40,50}; /* int[] score = new int[5]; score[0]=10; score[1]=20; score[2]=30; score[3]=40; score[4]=50; int sum=0; */ 선언방법은 다르지만 값은 동일 int sum=0; // float aver=0f; for(int x=0 ; x
2012.12.24 -
JSON 객체의 값을 꺼내오는 방법
JSON의 경우에는 자바의 맵과 같이 의 쌍으로 이루어져 있다. 쉽게 말해, 실과 바늘 같은 존재라고 할까? 가장 쉽게 이해할 수 있는 것이 바로 전화번호부이다. 내가 1번을 홍길동이라는 친구로 저장을 했다면, key값은 1, value는 홍길동이 되는 것이다. 이것을 JSON형태로 표현하자면 이 되는 것이다. 자바의 LIST와 MAP을 통해 JSON형태를 만들어 내고자 하는이유는, 서버 통신을 통해 DB에서 SQL문을 전송하고, 조건에 해당하는 값을 리턴 받을 때, 편리하게 그 리턴받은 결과값을 원하는 형태로 재가공하기 위함이며 이를 위한 방법은 여러가지가 있다. JSON에서 제공하는 방법을 사용할 수도 있고, 자바 자체의 꼼수(?)를 사용할 수도 있다. 구체적인 SQL은 생략하고, JSON형태를 만들..
2012.12.24