🌟
Happy
Day 🚀
자바 라이브러리, base 모듈, 리플렉션, 어노테이션 등 정리
·
Learn/이것이 자바다
모든 클래스의 원형: Objectjava.lang.Object  매서드 종류boolean equals(Object obj) : 객체의 주소를 비교하여 결과를 리턴int hashCode(): 객체의 해시 코드를 리턴String toString(): 객체의 문자 정보를 리턴 일반적으로 equals() 매서드와 toString() 매서드는 재정의 되어 있는 경우가 꽤 있다.  객체의 주소가 다르더라도 핵심값만 같다면 같다고 판단하는게 옳을 경우에는 재정의를 해준다. toString()도 마찬가지 일반적인 Object면 이상한 클래스명 뱉는데, 이상 클래스명 말고 확실하게 클래스만의이름이나 정보를 출력하는게 옳은 경우라면 재정의 해줘야지.Integer나 String은 전부 재정의되어 의도에 맞게 편하게 사용할 ..
배열: 실패율 | 방문 길이
·
Learn/코딩 테스트 합격자 되기: 자바 편
실패율 -> 1차 실패https://school.programmers.co.kr/learn/courses/30/lessons/42889?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [실패 코드]/*[문제나누어 생각하기]실패율을 직접 구하고 저장할 필요가 없는 문제-> 아니다 실패율이 그저 카운트가 아니구나..실패율을 각각 구하는 공식 부터 세워야 겠구나그 실패율을 가지고 크기별 정렬을 하긴 할건데 그 실패율 정렬가지고 스테이지를 어떻게 환산하여 반환하지?2중 배열을 ㅈ나 노가다 돌려?[예외 생각 하기]딱히 없어 보임[입력 크기]스테이지 길이 = 200000 = nlogn =s..
자바로 코딩테스트 준비 (2) : 원시타입-참조타입 / 컬렉션 / 기괴한 매서드
·
Learn/코딩 테스트 합격자 되기: 자바 편
Primitive vs Reference자바는 객체지향 언어임. 모든게 객체임. 스레드도 객체고, 함수도 객체에 구현되어 있고, 변수에 저장하는 타입도 객체임. 그런 객체는 class 소스파일이 따로 있음. java.lang 에 구현되어 있다던가 하는거임.  하지만 이런 객체 설계도를 가지고 인스턴스를 만들어 사용하는게 아니라 다이렉트로 바로 정의 없이 사용가능한 특수한 애들이 있음. 그게 Primitive Data Type 원시 데이터 타입임. 그럼 얘네는 뭘 알고 뭘 믿고 누가 어떻게 사용하는건데? JVM이 해석하고 JVM이 알아서 씀. main() 함수를 시작하라! 라는 매서드를 따로 만든것도 아닌데 JVM이 프로세스를 돌리자마자 첫빠따 메인스레드가 만들어져 돌아가고 바로 main()함수를 찾아 실..
배열: 두 개 뽑아서 더하기 / 모의고사 / 행렬의 곱셈
·
Learn/코딩 테스트 합격자 되기: 자바 편
배열 잡 기술 //1. 중복 제거 Integer[] result = Arrays.stream(arr).boxed().distinct().toArray(Integer[] :: new); Arrays.sort(result, Collections.reverseOrder()); // 2 내림차순 정렬 // int형 배열로 변경 후 반환 System.out.println(Arrays.stream(result).mapToInt(Integer::intValue).toArray());두 개 뽑아서 더하기https://school.programmers.co.kr/learn/courses/30/lessons/68644 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 ..
자바로 코딩테스트 준비 (1) : 학습법, 효율적인 준비법, 알고리즘 효율 분석
·
Learn/코딩 테스트 합격자 되기: 자바 편
학습법기본골자: 이론 학습 -> 연습 문제 -> 모의 테스트 프로그래머스 활용이 학습에 좋음남의 풀이를 보며 접근방식 개안, 대신 숏코딩은 걸러,내 테스트 케이스를 바로 추가하여 테스트 해볼수 있음 : 테스트 케이스 작성만으로도 이해도 향상아는 것과 모르는 것을 명확히 하라안풀릴때 그냥 답지를 본다? -> XXX 내가 어디까지 알고 어디까지 모르는지 알 방법이 없어.나만의 답 추적 노트를 작성하고 나서 답지를 본다 -> ㅇㅇ 내가 어디까지 아는건지는 체크가 가능하니까시험보듯긴장감 + 단시간 집중력꾸준하게벼락치기가 의미 없는 문제해결능력, 그저 드립따 외우는게 아니니까요약정리나만의 언어로 요약하는건 문제해결 과정을 복습하는 최고의 방법효율적인 준비법 언어선택: 자신있는 언어, 자신있어 지고 싶은 언어문제 ..
[이것이 자바다]chapter14 확인문제
·
Learn/이것이 자바다
1. 스레드에 대한 설명 중 틀린 것은?자바 앱은 메인 스레드가 main매서드를 실행시킨다 -> ㅇㅇ작업 스레드 클래스는 Thread 클래스를 상속해서 만들 수 있다 -> ㅇㅇRunnable 객체는 스레드가 실행해야 할 코드를 가지고 있는 객체라고 볼 수 있다. -> ㅇㅇ스레드 실행을 시작하려면 run매서드를 호출해야 한다. -> xx start매서드를 호출하는거지. run()매서드는 그저 start()매서드에 의해 runnable상태가 되었을때 무슨 작업을 할지 구현한 거고, start() 매서드로 시작하는게 맞는거야 스레드는 상태를 컨트롤 하는거니까 2. 동영상과 음악을 재생하기 위해 두 가지 스레드를 실행하려고 합니다. 밑줄 친 부분에 적당한 코드를 작성public class Ex02_ThreadE..
멀티 스레드, 메인 스레드, 스레드 상태, 스레드 동기화, 데몬 스레드, 스레드풀
·
Learn/이것이 자바다
멀티 스레드, 멀티 프로세스스레드: 작업 흐름프로세스: 실행중인 프로그램 멀티 스레드: 프로세스 내에 여러 작업 흐름멀티 프로세스: 컴퓨터 내 여러 프로그램메인 스레드, 작업 스레드프로그램의 시작 지점인 main 함수가 메인스레드 런 코드의 구현체이다? -> XXX하지만 비슷하다 -> ㅇㅇㅇ main()은 메인스레드가 실행될때 진입점 코드..run()은 작업 스레드가 실행될때 진입점 코드.. 왜 다른가? 음.. 일단 메인스레드와 작업스레드는 이름만 스레드이지 완전 다른 종자라고 생각하는게 편함. 애초에 Thread 클래스를 상속하는 코드가 있는것도 아니고 JVM에 의해 그저 진입하고 모든 동작이 끝나면 return되어 끝나버리는게 메인 스레드의 숙명이니까. 마치 쥐랑 땃쥐?스레드 상태 , 그리고 컨트롤 ..