개발하는 정복자

고정 헤더 영역

글 제목

메뉴 레이어

개발하는 정복자

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (34)
    • 영속성 관리 (5)
    • 알고리즘 (1)
    • 개발메모 (3)
    • Mysql (1)
    • 췍췍 (6)
      • 역사의 오른편 옳은편 (벤 샤피로) (6)
    • Java (6)
      • Modern Java in Action (5)
    • SPRING (12)
      • 자바 ORM 표준 JPA 프로그래밍 (3)
      • spring security (4)
      • 토비의 스프링 (5)
    • 네트워크 (0)

검색 레이어

개발하는 정복자

검색 영역

컨텐츠 검색

java

  • [JAVA] JAVA의 JVM vs 컴파일러 vs 인터프리터

    2022.07.06 by 개발하는 정복자

  • [모던 자바 인 액션] 스트림의 중간연산과 최종연산 특징과 사용법

    2022.06.28 by 개발하는 정복자

  • [모던 자바 인 액션] 🏞 스트림? 그게 뭐야? 도대체 왜 사용하는거야?

    2022.06.19 by 개발하는 정복자

  • [알고리즘] 카운팅 소트 (Counting Sort) 원리와 구현

    2022.06.17 by 개발하는 정복자

  • [☕️Java] StringBuilder 사용하는 이유와 사용법

    2022.06.16 by 개발하는 정복자

[JAVA] JAVA의 JVM vs 컴파일러 vs 인터프리터

컴파일이란? 우리가 이해하는 언어를 컴퓨터가 이해할 수 있는 언어로 변환하는 작업 컴파일이라고 한다. 우리는 프로그래밍 언어(C, java, python...)를 사용하고 컴퓨터는 0과 1로 이루어진 바이너리 코드(binary code)를 사용한다. 컴퓨터가 이해하는 언어를 라고 한다. 그래서 우리는 프로그래밍 언어를 바이너리 코드로 변환 시켜야할 필요가 있다. 이때 문제가 생긴다. 🚨 CPU 제조사 마다 전부 다른 바이트 코드를 사용한다는 것이다! 지금부터 각 언어들의 컴파일 과정을 보면서 이 문제를 어떻게 대응했는지 살펴보자. Compilation 대표적인 언어로는 C가 있다. compilation은 플렛폼에 의존적이다. 소스 코드를 각기 다른 OS(윈도우, 맥, 리눅스...)에 맞게 전부 바이너리 ..

개발메모 2022. 7. 6. 19:51

[모던 자바 인 액션] 스트림의 중간연산과 최종연산 특징과 사용법

모던 자바 인 액션 - YES24 자바 1.0이 나온 이후 18년을 통틀어 가장 큰 변화가 자바 8 이후 이어지고 있다. 자바 8 이후 모던 자바를 이용하면 기존의 자바 코드 모두 그대로 쓸 수 있으며, 새로운 기능과 문법, 디자인 패턴 www.yes24.com 스트림 연산 List menu = Dish.getDishes(); List names = menu.stream() // 요리 리스트에서 스트림 얻기 .filter(dish -> dish.getCalories() > 300) // 중간 연산 .map(Dish::getName) // 중간 연산 .limit(3) // 중간 연산 .collect(Collectors.toList());// 스트림을 리스트로 변환 위 예제를 두 가지 연산으로 구분해 보겠다..

Java/Modern Java in Action 2022. 6. 28. 20:36

[모던 자바 인 액션] 🏞 스트림? 그게 뭐야? 도대체 왜 사용하는거야?

모던 자바 인 액션 - YES24 자바 1.0이 나온 이후 18년을 통틀어 가장 큰 변화가 자바 8 이후 이어지고 있다. 자바 8 이후 모던 자바를 이용하면 기존의 자바 코드 모두 그대로 쓸 수 있으며, 새로운 기능과 문법, 디자인 패턴 www.yes24.com 👉🏾 스트림이란 무엇인가? 스트림은 자바 8 API에 새로 추가된 기능. 선언형(즉, 데이터를 처리하는 임시 구현 코드 대신 질의로 표현할 수 있다)으로 컬렉션 데이터를 처리할 수 있다. 멀티스레드 코드를 구현하지 않아도 데이터를 투명하게 병렬로 처리할 수 있다. 간단하게 이야기해서 컬렉션 반복을 멋지게 처리하는 기능 👉🏾 스트림 유무에 따른 코드 차이 💻 저칼로리의 요리명을 반환하고 칼로리순으로 정렬하는 코드를 스트림 없이 기존의 방법으로, 스..

Java/Modern Java in Action 2022. 6. 19. 15:59

[알고리즘] 카운팅 소트 (Counting Sort) 원리와 구현

👉🏾 원리 🌼 주어진 값들 사이의 범위가 작을수록 빠른 알고리즘이다. 주어진 배열이 있다. 미리 count라는 배열을 생성한다. 그리고 주어진 배열의 길이만큼 for loop를 돌면서 count 배열의 주어진 값 번째 자리를 1 더해준다. 그후 count 배열을 0부터 주어진 배열의 끝 인덱스까지 loop를 돌면서 count 배열의 n번째 자리에 저장된 수만큼 반복해서 출력해주면 된다. 잘 이해가 안간다면 코드로 보자! 👉🏾 문제점 ⚠️ 주어진 값들 사이의 범위가 작을수록 빠른 알고리즘이지만 만약 주어진 값들이 [1,1000000, ...] 이라면 1과 1000000 사이의 의미 없는 999999개의 인덱스들을 전부 탐색해야 하기 때문에 주어진 값 사이의 범위가 클수록 느리다. 👉🏾 구현 💻 import..

알고리즘 2022. 6. 17. 21:33

[☕️Java] StringBuilder 사용하는 이유와 사용법

StringBuilder 란? 그냥 문자열을 더하는 method가 있는 클레스 "+" 가 있는데 왜 StringBuilder를 사용할까? String str1 = "Hello"; String str2 = "world"; System.out.println(str1 + ' ' + str2); 위의 + 연산자는 String을 합치면서 기존의 str1 과 str2의 메모리 해제하고 새로운 메모리에 str1 + str2 를 할당한다. 매번 연산을 실행하면 메모리 해제와 할당이 반복되기 때문에 성능저하에 영향을 줄 수 밖에 없다. String str1 = "Hello"; String str2 = "world"; // 객체 생성 StringBuilder sb = new StringBuilder(); // 문자열 연결..

Java 2022. 6. 16. 11:15

추가 정보

인기글

최신글

페이징

이전
1 2
다음
TISTORY
개발하는 정복자 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바