본문 바로가기
728x90

Language28

자바 프레디케이트란?예제코드와 함께..간단히 알아보자. 모던 자바 인 액션 공부하다 살펴 봄. 프레디케이트(predicate)란 무엇인지 간단히 알아봄. 함수형 인터페이스로 입력된 값을 확인하여 false, true 를 반한하는 메소드 test()를 가지고 있음 public class Ch01 { public static boolean isGreenApple(Apple apple) { return "green".equals(apple.getColor()); } public static boolean isHeavyApple(Apple apple) { return apple.getWeight() > 150; } public static List filterApples(List inventory, Predicate p) { List result = new Arra.. 2023. 1. 29.
자바 cpu 개수 구하기 cpu 개수구하기 => int availableProcessors = Runtime.getRuntime().availableProcessors(); System.out.println(availableProcessors); Executors.newCachedThreadPool 처럼 필요시 알아서 생성되는 스레드도 있으니 확인해보자. ExecutrService 를 통한 스레드 작업을 할때 이용해 봐야겠다. 참고하면 좋은 곳: https://m.blog.naver.com/mals93/220743747346 2023. 1. 28.
StringTokenizer, split 차이점[공유링크] 둘다 문자열을 구분자로 분리하고 싶을때 사용 StringTokenizer 은 java.util 메서드 split은 String 메서드 속도는 몇몇 경우에서 StringTikenizer 가 빠르다. 하지만 split 을 대부분 추천한다. 한번 읽어보면 좋은 링크: https://blog.naver.com/PostView.nhn?blogId=makga87&logNo=221949199317&parentCategoryNo=&categoryNo=17&viewDate=&isShowPopularPosts=true&from=search 2023. 1. 23.
자바 Scanner vs BufferedReader 자바로 알고리즘 풀다가 매번 입력받는 형식을 Scanner 복붙으로 하다, BufferedReader 로 받는 방식이 보여 찾아봄. Scanner 방식 import java.util.Scanner; public class Sc { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String input = sc.nextLine(); } } BufferedReader 방식 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Bf { public static void main(Stri.. 2023. 1. 22.
enumMap, enumSet 에 대해 간략히 알아보자. enumMap? enumSet? enumMap, enumSet 도 Map, Set 인터페이스를 구현한다. 사용하려면 key 값으로 enum 이 있어야 하는 제약이 있음. null 을 추가할 수 없음 enumMap 은 map 처럼 같지만 enum 타입을 키로 사용하는데 특화됨 hashMap 은 키를 해싱해서 저장하지만 enumMap은 enum 상수를 인덱스로 사용하기 떄문에 해시충돌도 일어나지않음. put메소드 수행시 key 값에 ordinal 메소드를 통해 index 정보를 가져온다. jpa에서도 본 ordinal (0, 1, 2, 3, 4...) enumMap 은 내부적으로 배열로 구현되어 있기 때문에 접근 속도가 빠르다. enumSet은 다 비슷하지만 내부적으로 키가 있다 없다를 판단하는 지시자가 들.. 2023. 1. 19.
자바스크립트 - for of 와 for in의 차이점을 간략히 알아보자 ES6는 새로운 유형의 루프인 for of 루프가 등장했다. 간략히 잘 안쓰느?for in루프와의 비교를 해보자. 두 문법의 차이는 개발자 답게 코드로 간략히 설명하고 마친다. const testData = [6,7,8]; //for in은 키의 목록을 반환합니다. for( let i in testData){ console.log(i) // 0,1,2 } //for of는 값을 반환합니다. for( let i of testData){ console.log(i) // "6", "7", "8" } //for in은 배열의 속성 목록을, for of는 배열의 원소 목록을 반환한다. 2021. 9. 6.
자바스크립트 includes 와 indexOf 차이점 includes와 indexOf의 차이점을 알아보자. 둘 다 해당 문자를 찾는데 쓰이는 것으로 includes는 true, false로 반환이 되며 indexOf는 해당 값이 있으면 해당 문자가 있는 "첫 번째" 위치를 알려줍니다. var testIndexOf = [1,2,3,4,5]; var testIncludes - [6,7,8,9,0]; testIndexOf.indexOf(3); // 2 testIndexOf.indexOf(6); // -1 : 찾는게 없을경우 -1을 return한다. testIncludes.includes(8) // true testIncludes.includes(2) // false 좀 더 디테일한 사용방법 코드들은 추후에 한번 정리해 보겠습니다. 2021. 9. 6.
[JAVA] 오버로딩(Overloading)과 오버라이딩(Overriding)의 차이점 오버로딩과 오버라이딩 차이점을 간략하게 살펴 보자.. 면접 질문에서 자주 나온다는데 실제로 나는 받아 본 적이 없다-,.- 그래도 한번 간략히 알아보도록 하자!! 비슷한 이름 때문에 매번 헷갈리게 하는 거 같다..망할놈 간략하게 살펴보면 아래 2줄 정도만 이해해도 될 듯하다.. 오버로딩 : 같은 메서드 이름, 다른 인자 목록 - 다수의 메서드를 중복 정의 오버라이딩 : 같은 메서드 이름, 같은 인자 목록 - 상위 클래스의 메서드를 재정의 조~~금만 더 살펴보자면..귀찮으면 아래 표만 참조해도 이해가 가능하다. Overloading 메서드 이름이 같아야 한다. 매개변수의 개수 또는 데이터 타입 또는 순서가 달라야 한다. 리턴 타입이 다른 경우는 오버로딩이 성립되지 않는다. 매개변수 명이 다른 것 과는 아무.. 2021. 8. 25.
JRE, JVM, JDK 에 대해 간략히 알아보자. 자바를 접하게 되면 해당 키워드의 목록을 자주 듣게 된다. JRE? JVM? JDK??? 무엇인지 한번 간략히 살펴보는 시간을 갖겠다! JVM 자바 가상 머신 (JVM, Java Virtual Machine) 의 약자이다. 자바 소스코드(.java)파일을 컴파일 하여 나온 결과인 바이트코드(.class)를 실행시켜주는 자바 가상 머신 이다. 바이너리 코드를 읽고, 검증하고, 실행하고 실행환경의 규격을 제공한다. 어느 운영체제 상에서도 실행될 수 있도록 만들어 준다. 자바 프로그램의 메모리를 효율적으로 관리&최적화 해준다. //TODO : Garbage Collection 을 같이 공부하면 좋습니다..추후에..포스팅 JRE 자바 실행환경(Java Runtime Environment) 의 약자이다. JVM과.. 2021. 8. 25.
728x90