본문 바로가기

CS8

[JAVA] 기술 추가 🐒자바 기술면접 시 나올 수 있는 내용입니다.🐒 1. ==과 equals의 차이 : ==은 주소값 비교, equals는 값 비교 2. JDK과 JRE의 차이 : JVM안에 JRE와 JVM이 속해있음. JDK는 자바 개발 도구이고 JRE는 자바 실행 환경이다. 3.두 객체가 동이한 hashCode를 가지면 Eqnals는 서로 참이어야 한다. 4. 자바에서 final의 기능 : 초기값이 저장되면 최종값이 되므로 프로그램 실행 도중 수정할 수 없음. 5. 자바에서 Math.round(-1.5) : Math.round는 실수의 첫번째 자리를 반올림하는 기능이므로 -1 6. String은 기본 데이터 타입인가 : String은 참조 타입 즉 클래스임. 7.자바에서 문자열을 조작하는 클래스 : 1. charAt().. 2023. 8. 4.
알고리즘 - 플로이드-워셜(Floyd-Warshall) 알고리즘 알고리즘 - 플로이드-워셜(Floyd-Warshall) 알고리즘 📌 플로이드-워셜(Floyd-Warshall) 알고리즘이란? 모든 최단 경로를 구하는 알고리즘 다익스트라는 하나의 정점에서 다른 모든 정점까지의 최단 거리를 구하는 알고리즘(S.S.S.P - Single Source Shortest Path) 이었다면, 플로이드-워셜 알고리즘은 한 번 실행하여 모든 노드 간 최단 경로를 구할 수 있습니다. 플로이드-워셜 알고리즘은 다익스트라 알고리즘과는 다르게 음의 간선도 사용할 수 있다. 🔍 플로이드-워셜 알고리즘의 과정 모든 노드 간의 최단거리를 구해야 하므로 2차원 인접 행렬을 구성합니다. 알고리즘은 여러 라운드로 구성됩니다. 라운드마다 각 경로에서 새로운 중간 노드로 사용할 수 있는 노드를 선택하고,.. 2023. 8. 2.
JavaFx 소개 1. 소개 JavaFX는 Java로 리치 클라이언트 애플리케이션을 빌드하기 위한 라이브러리입니다. Java를 지원하는 거의 모든 장치에서 실행되는 GUI 응용 프로그램을 설계하기 위한 API를 제공합니다 . 이 사용방법(예제)에서는 몇 가지 주요 기능과 기능에 중점을 두고 다룹니다. 2. 자바FX API Java 8, 9 및 10에서는 JavaFX 라이브러리 작업을 시작하기 위해 추가 설정이 필요하지 않습니다. 프로젝트는 JDK 11부터 JDK에서 제거됩니다. 2.1. 건축학 JavaFX는 Prism으로 알려진 렌더링을 위해 하드웨어 가속 그래픽 파이프라인을 사용합니다 . 또한 그래픽 사용을 완전히 가속화하기 위해 내부적으로 DirectX 및 OpenGL을 사용하여 소프트웨어 또는 하드웨어 렌더링 메커니.. 2023. 8. 2.
Netty란? Netty란? 기존의 소켓 프로그래밍은 클라이언트가 접속하게 되면 스레드를 할당해야 하는데(1:1관계), 정말 많은 클라이언트가 접속을 하게 될 경우 그 숫자만큼 스레드를 생성해야 해서 리소스의 낭비로 이루어지고, 문맥 교환과 관련된 문제와 입력이나 출력 데이터에 관련한 무한 대기 현상이 발생하는 문제가 있었습니다. 이러한 네트워크 문제 때문에 개발된 방법이 자바의 NIO 방식(Non-Blocking Input Ouput)입니다. 핵심으로는 네트워크 리소스 사용률을 세부적으로 제어하는 Non-Blocking 호출이 포함되어 있는 것으로, 내부적으로 시스템의 이벤트 통지 API를 이용해 논 블록킹 소켓을 등록하면 해당 소켓의 정보를 확인할 수 있습니다. 즉 무한 대기 현상을 회피할 수 있게 되는 것이지요... 2023. 8. 2.