반응형

JAVA 19

태태개발일지 - 김영한의 실전 자바 - 고급편

멀티태스킹과 멀티 프로세싱 멀티태스킹프로그램의 실행  프로그램을 구성하는 코드를 순서대로 CPU에서 연산(실행)하는 일이다.  코어가 하나있어도, 실행 시간을 분할하여 마치 동시에 실행되는 것 처럼 하는 기법을 시분할 기법이라고한다.: 실제로 동시에 실행되는게 아니라 일정한 원리를 통해서 번갈아가 면서 실행한다.이것을 운영체제가 결정하는(스케줄링) 이라고 한다. 멀티프로세싱 코어가 여러개일때?cpu안에는 실제 연산을 처리할 수 있는 코어라는 것이있다.tip. 요즘은 cpu안에 2개이상의 코어가 들어가있다. 2개가 일정한 원리를 가지고 수행하면 더 빠르다. 멀티 프로세싱:cpu를 사용하여 동시에 여러가지 작업을 수행.하드웨어 기반으로 성능 향상다중 코어 프로세서를 사용하는 현대 컴퓨터 시스템  멀티 테스킹..

JAVA 2025.01.30

태태개발일지 - 레코드

레코드토비의 스프링을 수강하는데 레코드를 사용하여 궁금해서 서칭해봤다.  자바에서 레코드란?  불변객체이다.  불변객체를 만들 때1. getter()2. setter()3. 생성자4. toString 두가지의 속성만 가지는 클래스를 생성하려고 해도,  너무나 많은 코드가 필요하다 이를 Boilerplate Code 가 많다. 라고한다.  Boilerplate Code과거 신문사에서 신문마다 강철로 찍어내는 것을 뜻하고 (자주 반복되는 코드)를 의미힌다. 레코드 사용이유 필드값 추가시 보일러코드 수정이 일어난다. 레코드 사용예시선언동시에 사용할 필드값을 사용해야한다.정적필드는 사용가능. public record Person(String name, int age) {} 데이터를 get 할 때. person...

JAVA 2024.12.25

태태개발일지 - equals and hashcode 동시 재정의?

동등성 & 동일성자바에서 객체를 비교할 때는 equals() 메서드와 == 연산자를 사용한다.equals 메서드는 동등성 , == 연산자는 동일성을 의미한다. 쉽게 이야기하자면,equals : 객체의 값을 비교하는 것==:  객체의 실제 레퍼런스를 비교하여 동일한 객체인지 확인하는 것 ex)Test test = new Test("1");Test test2 = new Test("1"); equals 메서드를 재정의한 test1.equals(test2) // true test1 = test2 // false 이게 무슨 이야기인지 봐보자면,equals는 값을 비교했기 때문에 동등하다. 그래서 true가 나온것이고,== 는 객체의 레퍼런스를 비교했기 서로다른 객체이기 때문에   동일하지 않다.  라는 결과가 나..

JAVA 2024.12.05

태태개발일지 - Exception

예외처리 *throw로 예외를 발생시킬 수 있다. **thorws는 밖으로 예외를 던진다는 뜻* 체크예외특징: 1. 예외가 일어났을 때 throws 로 예외를 넘기거나 처리를 해주어야 한다.         2.{try catch}를 통해서 예외를 처리할 수 있다. 예외를 처리하지않고 계속 밖으로 예외를 던지다보면 runtimeExpetion이 뜬다. 그러면 프로그램이 멈추게된다.중간 로직에 예외를 잡지않아도 컴파일 에러가 뜨게 된다. 장단점:          장점: 꼭 예외를 잡아야만 하기 때문에 개발자가 실수로 넘겨도 확인할 수 있다.         단점: 일일이 싹다 잡아줘야하기 때문에 복잡하다. 예시) extends Exception 언체크 예외 특징 : 1. 예외를 잡아서 처리하지 않아도 thro..

JAVA 2024.10.14

Java 중급 - 영한쌤

Java 모든 클래스가 Object를 상혹하는 이유. -> 공통적인 부분 해결 -> 다형성 기본 구현 Object제공 기능 - toString() -> 객체 정보 - equals() -> 객체의 같음을 비교한다. - getClass() -> 객체의 클래스 정보를 제공하는 etc .. 사람마다 Object에 대한 기본 기능을 따로따로 구현하게 된다면 정말 많은 기능이 나올 것 이므로, 조금 단순화하고 공통화 시킨 것으로 말한다. -> 핵심이유. 다형성의 기본 구현 - Object는 모든 클래스의 부모 클래스이다. 즉 모든 객체를 참조할 수 있는 것이다. 모든 java 객체는 Object 타입으로 처리되기 떄문에. 다양한 타입의 객체를 통합적으로 처리할 수 있게한다. public class ObjectPol..

JAVA 2024.03.31

태태개발일지(JAVA 상속)

요즘은 퇴근 길에 인프런 강의중 김영한 선생님의 Java 기본 강의를 듣고있다. 자바에 대한 완벽한 심화 강의는 아니지만, 그래도 JAVA를 앞으로 계속 사용할 거라 돈을 주고 구매한 후 쭉 듣는데 상속 부분에서 머리에 넣어야 할 부분이 생긴 것 같아서 글로 작성한다. https://www.inflearn.com/course/%EA%B9%80%EC%98%81%ED%95%9C%EC%9D%98-%EC%8B%A4%EC%A0%84-%EC%9E%90%EB%B0%94-%EA%B8%B0%EB%B3%B8%ED%8E%B8 학습 페이지 www.inflearn.com 상속의 개념. 상속 : 비슷한 속성을 가진 객체들의 부모를 만들어서 중복된 코드를 제거하고, 재사용성을 늘린다. 기존에 인지하던 상속? 사실 상속에 대해서 공..

JAVA 2024.01.09

태태개발일지(Legucy jdk설정)

spiring legucy프로젝트에서 다양한 jdk버전을 사용할 기회가 생겨서 서칭을 해보다 좋은 방법을 알게 되어서 이렇게 글로 남긴다. 1. 기본적인 jdk 설정방법: Google에 원하는 jdk 버전을 입력한 후 다운로드를 받는다.  2. 고급시스템 설정에 들어가서 환경 변수에 들어간다. JAVA_HOME이라는 변수를 만들고 대표 JDK가 있는 경로를 설정한다.ex) C:\Program Files\Java\jdk1.8.0_202 그런 후 시스템 변수에서 Path를 찾아서 %JAVA_HOME%\bin이것을 입력해 준다.  여기까지는 동일하다. 하지만 여기서 편하게 하기위해서 새로운 방법을 사용할 것이다. 시스템 환경 변수에 이러한 경로를 설정한다.Path에서 편집을 누른후. C:\Program Fil..

JAVA 2023.12.05

태태개발일지(멀티스레딩 java)

멀티스레딩을 위한 간단한 운영체제 지식 형편없는 응답성: - 요청을 했는데 응답이 오지 않는 경우 ex) 만일 한 사람이 대량으로 구매하려는 상황이면 다른 사람은 그것을 기다려야하낟. 멀티스레딩은 이것을 해결해 줄 수 있다. - 멀티테스킹 병행성 : 동시에 여러가지 어플리케이션이 실행되고 있다고 느끼는 것. 성능면: 코어가 하나라도 여러가지의 어플리케이션이 실행되고있다는 것을 느낄 수 있어 좋다. (기계의 대수를 줄일 수 있다) 스레딩: 동작방식 - 컴퓨터를 키면 (운영체제) 라는 프로그램이 디스크 메모리에 로딩된다. -> 하드웨어 cpu 우리와의 상호작용을 조절한다. 사용자가 어플리케이션을 실행하면 운영체제는 디스크에 있던 프로그램을 메모리로 가져와 프로그램의 인스턴스를 생성한다. 이를(프로세스라고한다..

JAVA 2023.10.18

게임 플레이하기-oop프로그래밍

이 게임을 설명하고자 하면. 1. 게임이 시작된다. 🎲🎮 2.유닛의 정보를 입력한다. 3. 상대의 유닛 정보를 입력한다. 4.유닛의 레벨을 판별해 높은 유닛부터 공격한다 ---> 추가 요소 5.방어력과 공격력을 따져서 체력이 먼저 0아래로 내려가는 사람이 지는 것이다. 🔥 ---> 실행 배경이 되는 program이다. package com.codestates.seb.lol_program; public class LOL_Program { public static void main(String[] args) { //TODO: //시스템 시작 info System.out.println("[안내] TRPG 스타크래프트 시작합니다."); System.out.println("[안내] 자신의 유닛 정보를 입력해 주세..

JAVA 2023.02.24
반응형