본문 바로가기

Java18

[JAVA]12. 자바의 실행과정과 JVM 자바의 실행 과정 개발자가 java언어로 코딩한 파일을 컴파일러(javac)를 이용하여 바이트 코드인(.class)파일로 변환해준다. 변환한 클래스 파일을 클래스 로더(Class Loader)를 이용하여 JVM에 로딩시켜준다. 그 후, JVM의 Execution engine을 통해 클래스 파일을 해석합니다. 해석된 바이트 코드를 가지고 최종적으로 Runtime Data Areas에 배치되어 프로그램이 실행됩니다. JVM(Java Virtual Machine)? 각 OS마다 따로 코드를 작성해야 하는 번거로움 없이, 플랫폼에 독립적일 수 있게 만들어주는 자바 가상 머신이다. JVM의 구성요소? 1. Class Loader (클래스 로더) JVM내로 클래스 파일을 로드하고, 링크를 통해 배치하는 작업을 수행.. 2022. 3. 27.
[JAVA]11. 객체지향 프로그래밍(OOP)의 SOLID 5대원칙? 객체지향 프로그래밍(OOP : Object-Oriented Programming)이란? 현실의 사물들을 객체로 보고 프로그래밍 하는 기법이며, 5원칙이 존재한다.[SOLID] 단일 책임 원칙(SRP) : 클래스는 단 하나의 목적을 가져야하며, 변경 이유도 단 하나 여야만 한다. 개방 폐쇄 원칙(OCP) : 클래스는 확장에는 열려 있고, 변경에는 닫혀있어야만 한다. 리스코프 치환 원칙(LSP) : 상위 타입의 객체를 하위타입의 객체로 변경하여도 일관되게 동작 하여야 한다. 인터페이스 분리 원칙(ISP) : 목적과 관심에 맞게 인터페이스를 적절하게 분리해 주어야 한다. 의존 역전 원칙 (DIP) : 추상화에 의지하고, 구체화(구현클래스)에 의지 하면 안된다. A. 단일 책임 원칙(SRP)? 클래스는 단 하나.. 2022. 3. 11.
[웹 크롤링] Jsoup? Jsoup? 자바로 만들어진 HTML 파서 이며 쉽고 강력한 기능을 제공한다. URL, 파일, 문자열을 소스로 하여 html을 파싱 가능 DOM 구조를 추적하거나 익숙한 CSS선택자를 사용하여 데이터를 찾아 추출 가능 문서내의 HTML요소, 속성, 텍스트 조작 가능 사용자가 입력한 데이터로부터 XSS(Cross-Site Script) 공격을 방지하기 위해서 안전한 화이트 리스트 방식으로 지정된 태그만 남기고 제거 가능 +XSS? 사용자 입력 값에 대한 필터링이 제대로 이루어지지 않을 경우, 공격자가 입력이 가능한 폼에 악의적인 스크립트를 삽입하여 해당 스크립트가 희생자 측에서 동작하도록 하여 악의적인 행위를 수행하는 취약점 Jsoup Document https://jsoup.org/ jsoup: Java.. 2022. 2. 22.
[JAVA]10. 컬렉션 구조 (Set과 Map) A. Set인터페이스를 상속받는 클래스들 1) HashSet - HashSet은 저장 영역에 객체 덩어리를 순서 없이 담는 형태로 요소를 저장하는 클래스이다. - 중복데이터를 허용하지 않기 때문에, 동일한 객체가 이미 존재하면 추가는 실패하며 결과는 false로 반환한다. - HashSet은 TreeSet과 달리 정렬 기능이 없다! 2) TreeSet - TreeSet클래스는 역시 중복된 데이터는 허용하지 않지만 정렬 기능이 추가된 형태이다. - 범위 검색 작업에 효과적이다. - TreeSet은 요소를 추가시 작은 값이 왼쪽, 큰 값이 오른쪽에 추가되며 정렬된다. B. Map인터페이스를 상속받는 클래스들 1) HashTable - HashMap과 HashTable은 ArrayList와 Vector의 동기.. 2021. 8. 14.
반응형