728x90

자바Java 18

[Java] DAO, DTO, VO 공부하기!!!

1. DAO (Data Access Object) DAO는 Data Access Object의 약자로, DB의 데이터에 접근하기 위한 객체를 가리킨다. DB에 접근하기 위한 로직을 분리하기 위해 사용한다. 직접 DB에 접근하여 data를 삽입, 삭제, 조회 등 조작할 수 있는 기능을 수행한다. MVC 패턴의 Model에서 이러한 일을 수행한다. 예시 @Repository public class UserDao { private JdbcTemplate jdbcTemplate; @Autowired public void setDataSource(DataSource dataSource){ this.jdbcTemplate = new JdbcTemplate(dataSource); } public long create..

자바Java 2024.01.07

Java 자바 배열 연습

오랜만에 강의 들으며 자바 배열 연습해보았다. import java.util.Arrays; public class 배열연습 { public static void main(String[] args) { // 배열 생성 int[] intArray3 = new int[3]; boolean[] boolArray = new boolean[3]; String[] stringArray2 = new String[3]; // 배열 선언 먼저! -> 나중에 초기화 int[] intArray2; intArray2 = new int[3]; // 생성한 배열을 '순회' -> 배열의 값을 하나씩 뽑아서 조회한다. // (1) 단건 조회 System.out.println(intArray3[1]); // (2) 다건 조회 // 배열..

자바Java 2023.11.24

Java 정처기에 자주 나오는 자바 비트 연산자

정보처리기사 시험에 자주 나오는 비트연산! Byte를 8등분 한게 Bit Bit는 0,1 둘중 하나의 값만 저장하는 컴퓨터가 표현(저장)가능한 작은 작은 단위 물론 이전에 배운대로 0,1 값으로 산술연살을 하거나, 비교연산을 할 수 있지만 연산을 통해 자리수를 옮길 수 도 음 이처럼 Bit의 자리수를 옮기는 것을 바로 비트 연산이라고 한다. '>'(오른쪽으로 자리수 옮기기) 0,1은 2진수 값이기 때문에 - 자리수를 왼쪽으로 옮기는 횟수만큼 2의 배수로 곱셈이 연산되는 것과 동일하다 - 자리수를 오른쪽으로 옮기는 횟수만큼 2의 배수로 나눗셈이 연산되는 것과 동일하다 0101을 10 (2배가 되었음) public class Main2 { public static void main(String[] args)..

자바Java 2023.11.23

Java (public, static, void , 매개변수 이해하기)

간단한 예제코드 및 설명 //[JDK] //역할1. 컴파일러 //역할2. JRE //역할3. JDB 디버깅 // 클래스 : .java를 class로 바꿀 때 기준이 됨 // public : 제어자, 메인클래스를 어디까지 접근하게 할꺼냐, publuc(어디서든 접근이 가능함) // Main클래스의 이름은 .java의 이름과 동일시 시켜주어야함 public class Main { // 메인 메소드 // 자바 프로젝트(앱)는 제일 먼저 클래스의 MAIN 메소드를 실행시킨다. // = JVM의 약속 // static: 이 프로그램이 시작될 때 무조건 실행되는 녀석임을 표현 // void: 메서드 출력값의 데이터 타입 -> 출력은 없다. // output // input // 매개변수 자리 : (String[] ..

자바Java 2023.11.22

Java 메모리영역, 클래스로더, 가비지 컬렉터

메모리 영역 Java데이터를 저장하는 영역 - 운영체제로 부터 JVM이 할당받은 메모리 영역 기본형 변수와 참조형변수의 주소값을 저장하는 부분은 Stack영역이고 참조형변수의 원본값은 Heap 영역에 저장한다. 클래스 로더 Java.class 바이트 코드를 메모리 영역에 담는 운반기 -JVM으로 class(바이트코드)를 불러와서 메모리에 저장함 가비지 컬렉터 Java 쓰레기 청소기 - 메모리 영역에서 안쓰는 데이터를 주기적으로 흡수해가는 청소기

자바Java 2023.11.22

Java Socket Client (TCP/IP) 소켓

TCP/IP 프로토콜을 사용하여 서버와 통신하는 클라이언트 프로그램을 작성하는 방법입니다. 클라이언트 소켓 API Socket 클래스는 소켓 클라이언트를 나타냅니다. 이 클래스를 사용해서 서버와의 연결 / 서버로 데이터 전송 / 서버에서 데이터 리딩 을 할 수 있습니다. 일반적인 통신의 단계는 Step 1. 클라이언트가 호스트 이름 / IP 주소 및 포트 번호로 지정된 서버에 대한 연결 시작 Step 2. OutputStream을 사용하여 서버에 데이터 전송 Step 3. InputStream을 사용하여 서버에서 데이터를 읽음 Step 4. 연결을 종료 Step 2와 Step 3은 통신의 성격에 따라 여러 번 반복 될 수 있습니다 Socket 클래스를 사용하여 Step1 ~ Step 4 까지의 단계를 살..

자바Java 2023.08.29

List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();

List은 자바 프로그래밍 언어에서 사용되는 데이터 구조입니다. 이를 이해하기 위해서는 몇 가지 개념을 이해해야 합니다. List: List는 자바 컬렉션 프레임워크의 인터페이스 중 하나로, 순서가 있는 객체의 모음을 나타냅니다. 중복된 요소를 허용합니다. 주요 구현체로는 ArrayList, LinkedList 등이 있습니다. HashMap: HashMap은 또 다른 자바 컬렉션 프레임워크의 클래스로, 키-값 쌍을 저장하는데 사용됩니다. 각 키는 유일해야 하며, 키를 기반으로 값을 검색하거나 저장합니다. String, Object: HashMap은 키와 값으로 모두 객체를 사용합니다. 여기서 키는 String 타입의 객체로 가정하고, 값은 Object 타입의 객체로 가정합니다. Object는 모든 자바 ..

자바Java 2023.08.29

Java GC 로그분석기

🔘 GC 로그 분석 접근 방식(3건) ✔️ 로그 분석 전용 GC 도구 사용: GCPlot 등 ✔️ GC 로그 통합 대시보드: Sematext Logs 등 ✔️ JVM 모니터링 도구와 연계: Sematext Cloud의 Sematext JVM Monitoring 1. GCViewer - Java 1.5 GC 로그 분석이 가능하고, 최신 Java 버전과 G1 GC를 지원 - 메모리 사용률 및 GC 프로세스 전반에 대한 포괄적인 정보를 제공 - OpenJDK 9 및 10에 대한 통합 로깅과 Java 8 지원 - 오픈 소스이며 개인 및 상업적 용도로 완전히 무료임 2. GCPlot - 로그 또는 lightweight한 에이전트를 사용하여 GC 작업을 분석하여 JVM 내부에서 일어나는 일에 대한 통찰력 있는 정보..

자바Java 2023.08.23

Jackson, GSON, JSON-SIMPLE

웹 서비스를 개발할 때, 대다수의 개발자가 마주치게 되는 것이 JSON 입니다. API의 개념이 도입되면서 클라이언트와 서버는 JSON 포멧으로 데이터를 주고받는게 일반적이며, 시스템 간 서버끼리 데이터를 주고 받을 때도 API 형식으로 데이터를 넘겨주는 경우가 있습니다. 백엔드에서는 Java Entity를 JSON 문자열로 변환하거나 JSON 문자열을 Java Entity로 편하게 변환하기 위해 라이브러리를 사용하는데, 대표적으로 Jackson, GSON, JSON-SIMPLE이 있습니다. 세 개의 라이브러리 중 어떤 라이브러리를 사용해야 할까요? 단순히 코드 짜기 편한 라이브러리를 선택한다면, 성능 상 이슈가 발생할 수 있습니다. 본인이 서비스하는 시스템의 특성에 따라 라이브러리를 선택할 것을 권장합..

자바Java 2023.06.02
728x90