본문 바로가기

Java/공부공부

(23)
[자바기초] JIT Compiler JVM (자바 가상 머신) 에서 사용되는 실행 엔진(Execution Engine)의 구성 요소 중 하나. 인터프리터와 함께 작동하여 자바 프로그램의 성능을 향상시킴. - 인터프리터 (Interpreter) 컴파일러에 의해 변환된 바이트 코드를 한줄씩 읽고 실행하는 역할을 하는 컴포넌트. => 초기실행 빠름 / 반복 작업이 많은 코드의 경우 성능이 떨어짐. - JIT Compiler (Just-In-Time Compiler) 인터프리터에 의해 해석된 바이트 코드를 런타임 중에 기계어로 번역하여 캐시에 저장하고, 이후에는 인터프리터를 거치지 않고 해당 부분을 직접 실행. . 즉, 프로그램 실행 중에 수행되는 코드의 실행패턴을 모니터링 하여, 자주 실행되는 코드 블록을 식별. 이 코드블럭을 기계어로 변환하여..
[자바기초] 컴포넌트와 모듈 * 컴포넌트 (Component) - 재사용 가능한, 독립적인 소프트웨어 단위 (각각 독립된 모듈) - 특정 기능을 수행하는 데 필요한 코드, 데이터, 인터페이스 등.. - 높은 응집도 / 낮은 결합도를 가져 다른 컴포넌트와 독립적으로 테스트 및 배포할 수 있어야 함. * 모듈 (Module) - 코드의 논리적이고 구성적인 부분. - 일반적으로 파일, 클래스, 함수 등과 같은 코드 구조를 지칭 - 코드를 논리적인 블록으로 나누어 구성하고, 재사용 가능하게 만들기 위한 목적. ex) 하나의 서버에서 세개의 클라이언트와 통신한다고 하면 --- Client 1 Server --- Client 2 --- Client 3 모듈의 갯수는 2개 (Server + Client) _ 실제 구현된 것 컴포넌트의 갯수는 4..
[자바기초] 자바의 자료구조 (컬렉션 프레임워크_Collection Framework) https://www.tcpschool.com/java/java_collectionFramework_concept 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.com * 컬렉션 프레임워크 (Collection Framework) 자바에서 데이터를 효과적으로 저장하고 관리하기 위한 표준화된 구조와 인터페이스의 집합. java.util 패키지에서 제공. https://phyho.tistory.com/64 [ 주요 인터페이스 ] 1. List 인터페이스 : 순서가 있는 데이터를 저장, 중복된 원소 허용. ArrayList, LinkedList, Vector, Stack, Queue 등 2. Set 인터페이스 : 순서가 없는 데..
[자바기초] 제네릭(Generic)에 대해서 * 제네릭 (Generic) 자바에서 컬렉션 클래스, 메서드, 인터페이스 등을 정의할 때 타입을 일반화하여 사용할 수 있도록 하는 기능. 클래스나 메서드를 정의할 떄 구체적인 데이터 타입을 미리 지정하지 않고, 나중에 사용 시(컴파일시점) 타입을 결정. => 코드의 재사용성을 높이고, 타입 안정성 확보. * 제네릭 타입 매개변수 (Type Parameter) 실제 타입으로 대체되기 전에 사용되는 것. ( placeholder 역할 ) - (Element) : 컬렉션에서 요소를 나타내는데 사용. - (Type) : 주로 클래스나 메서드에서 사용. - (Key, Value) : 주로 맵(Map)과 관련된 제네릭에서 사용. - (Unbounded Wildcard) : 모든 타입 나타내는 와일드카드, 주로 메서..
[자바기초] String Pool 에 대해서 자바에서 ' == ' 연산자는 두 객체의 메모리 주소를 비교한다. String str1 = new String("Hello"); String str2 = new String("Hello"); System.out.println(str1 == str2); // false 따라서 위처럼 각각 다른 객체인 str1과 str2를 비교하게 되면 결과값은 false가 나온다. 두 객체가 각각 다른 메모리 주소를 참조하고 있기 때문. 하지만, 동일한 문자열 리터럴을 사용하는 경우에는 String Pool에서 동일한 문자열이 공유된다. String str3 = "Hello"; String str4 = "Hello"; System.out.println(str3 == str4); // true 문자열 리터럴이 동일하기 때문..
[자바기초] 메인메소드 String[] args 에 대해서 자바 메인메소드 기본 형태 public static void main(String[] args) * main 메소드 Java 프로그램이 실행되는 지점(entry point). 프로그램이 시작될 때 가장 먼저 호출되는 메소드이며, 이 메소드를 통해 프로그램이 실행 * String[] args 메소드의 매개변수(parameter)로서, 문자열 배열. 프로그램이 실행될 때 커맨드 라인에서 전달되는 추가적인 인수들이 이 배열에 저장. * 이렇게 설계된 이유? - String[] args를 통해 배열 형태로 인수를 받으면, 사용자가 원하는 만큼의 인수를 전달할 수 있기 때문. - 문자열 배열로 정의되어 있기 때문에, 어떤 타입의 인수라도 문자열로 변환할 수 있음. - 많은 프로그래밍 언어에서 커맨드 라인에서 실행..
[게시판 만들기 복습] user -> Controller -> Service -> DAO -> mybatis -> DB [ Controller ] @RequestMapping (value = " ", method = RequestMethod. ~ ) value : 요청받을 url을 설정 method : 어떤 요청으로 받을지 정의 GET, POST, HEAD, OPTIONS, PUT,DELETE, TRACE @Controller public class IndexController { @RequestMapping(value = "/main", method = RequestMethod.GET)// /main 이라는 요청이 들어온다면 public String main(){// main() 메소드를 실행시켜 ... return "mai..