일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Git
- Spring Batch
- elasticsearch
- redis
- 맛집
- Gradle
- springboot
- Spring Boot
- java
- ReactJS
- it
- AWS
- Spring
- laravel
- Design Patterns
- 요리
- jenkins
- jsp
- linux
- php
- Web Server
- MySQL
- devops
- tool
- Oracle
- JVM
- javascript
- IntelliJ
- db
- ubuntu
- Today
- Total
목록Java & Kotlin/Java (107)
아무거나
[JAVA 스레드] 멀티 프로세스 : 컴퓨터가 여러 가지 일을 동시에 하고 있는 것을 뜻함. 스레드(멀티스레드) : 위에서 말한 하나의 프로세스에서 다시 여러 가지 일을 하는 것을 뜻 합니다. 예를 들어 파일을 전송하면서 채팅을 하고 있다. 동일한 채팅프로그램에서 파일전송과 채팅을 동시에 하고 있는 것 입니다. 채팅 프로그램 프로세스 -> 파일전송 스레드 -> 채팅 스레드 JAVA는 기본적으로 멀티스레드를 지원 하고 있습니다. 스레드는 두 가지 형태로 존재 합니다. 방식1) 객체 하나를 n개의 스레가 공유 하는 방식 스레드0 -> 스레드1 -> 객체0 스레드2 -> 방식2) 객체 하나당 하나의 스레드가 존재하는 방식이다. 스레드0 -> 객체0 스레드1 -> 객체1 스레드2 -> 객체2 # 멀티 스레드 문..
[입출력(I/O)] I/O란 입력(input)과 출력(Output)을 뜻합니다. 컴퓨터한테 입력하는 것은 input이며, 컴퓨터가 어떤 것을 출력하는 것을 output이라고 합니다. input : 파일 데이터를 읽는다, 키보드의 데이터를 읽는다, 네트워크상의 데이터를 읽는다. output : 파일에 데이터를 쓴다, 모니터에 데이터를 쓴다(출력), 네트워크상에 데이터를 쓴다(전송) [InputStream, Reader & OutputStream, Writer] # InputStream, OutputStream : 1byte 단위 (실제로 많이 쓰임) -> 이미지, 동영상등의 데이터에 주로 사용 # Reader, Writer : 2byte 단위 -> 문자열에 주로 사용 1. InputStream - Inpu..
[JAVA Collections] 컬렉션이란, 우리말로 쉽게 말해서 자료구조 입니다. 더 쉽게 말하면 배열입니다. 어려운 자료구조형의 내부를 공부할 필요 없이 그냥 편하게 사용하면 된다. JAVA에서는 다양한 자료구조형을 제공하고 있다. 다양한 자료구조형이 제공되는 이유는 데이터의 성질에 따라서 데이터를 관리(정리)해야 하는 방식이 다르기 때문입니다. 여기서 한가지 중요한 것은 자료구조형안에서는 객체의 레퍼런스만을 관리한다. 1. List계열 컬렉션 클래스 -> 자료구조중 아마도 가장 많이 사용되고 쉽게 사용할 수 있는 자료구조형이 List계열이 아닐까 합니다. List는 배열과 비슷하지만, 배열의 단점을 보완 하였습니다. List는 처음 만들 때 크기를 고정하지 않아도 됩니다. * arrayList랑 ..
[예외처리] 몇 달 동안 실험을 기울여 만들어 놓은 프로젝트가 단순한 어떤 이유로 작동을 하지 않는다면 문제가 됩니다. 그러므로 예외의 필요서이 필요한데 그것은 어느 한 부분에서 예외가 발생하더라도 계속해서 프로그램이 동작되도록 하는데 목적이 있습니다. 1. try ~ catch try { // 문제가 발생할 수 있는 로직을 기술 } catch (Exception e) { // Try{}안에서 문제가 발생했을 때 대처방안을 기술 } * catch문에 예외처리를 여러 개 할 수 도 있다. try { } catch (ArrayIndexOutOfBoundsException a) { } catch (NumberFormatException n) { } catch (Exception e) { } * 또한 try ~..
[StringTokenizer 클래스] 문자열을 분할 할 때 사용하는 대표적인 클래스 ex) 문자열 나누는데 최고다 import java.util.StringTokenizer; public class TokenizerMain { public static void main(String[] args) { String str1 = "오늘 날씨는 춥고, 눈이 많이 오고 있습니다."; String str2 = "2014/12/25"; System.out.println(str1); System.out.println(str2) // 2번째 매개변수 없이 그냥 해당 문자열로 넣어주면 띄어쓰기를 기준으로해서 문자열을 분할시켜준다. StringTokenizer tokenizer1 = new StringTokenizer(s..
[Timer 클래스] 시간을 컨트롤하는 기능 Timer, TimerTask 클래스 - Timer객체는 이정한 시간이 되면, TimerTask객체가 작동 된다. 단, TimerTask클래스는 추상클래스 입니다. 따라서 TimerTask클래스를 상속받는 클래스를 만들어서 사용해야 한다. [Main.java] public class MainClass { public static void main(String[] args) throws InterruptedException { TimerEx ex = new TimerEx(); } } [TimerEx.java] import java.util.Timer; import java.util.TimerTask; public class TimerEx { public Time..
[Wrapper 클래스] Wrapper클래스는 기초데이터를 객체데이터로 변화시키는 클래스 - 기초데이터 : 기초데이터는 데이터가 직접 메모리에 들어가는 방식 - 객체데이터 : 데이터가 갖고있는 메모리의 주소값을 가리키는 주소값이 들어가있다. ex) Integer integer = new Integer(234); int i = integer.intValue(); System.out.println(i); // 234 기초데이터 | 객체데이터 byte | Byte short | Short int | Integer long | Long double | Double float | Float boolean | Boolean char | Character
[Scanner 및 Sysout] 1. Scanner : 무엇인가를 얻어 올 때 사용. -> 키보드에서 타이핑 하는 문자열 또는 입출력 프로그래밍에서 문자열을 읽어올 때 사용. ex) Scanner scanner = new Scanner(System.in); [예제] (1) next() : next()는 개행문자, 공백은 무시하고 문자를 입력받습니다. ex) Scanner s = new Scanner("\n\ntest\nhoho\n"); while (s.hasNext()) { System.out.println("출력: " + s.next()); } // // 출력: test // 출력: hoho (2) nextLine() : nextLine()은 한 줄 단위로 입력받기 때문에 개행문자도 한 줄로 인식한..
[Random 클래스] 개발을 할 때 가장 많이 쓰이는 기능 중에 하나는 아마도 랜덤 숫자를 구하는 작업 일 것 이다. 예전에는 Math.random()을 많이 사용하였으나, 요즘은 Random클래스를 많이 사용한다. 1. Math.random() : Random() 메소드는 double타입의 임의의 수를 발생한다. 가이드를 보면 static이고, 반환 타입이 double임을 확인 할 수 있다. 2. Random : Random 클래스는 Random random = new Random();이렇게 사용하자 -> 직접 객체를 생성하여 사용 ex) randdom.nextInt(100); // 0 ~ 100 사이의 난수를 발생
[Calendar api] 날짜와 시간을 표현할 때 많이 쓰이는 클래스이다. ex) Calendar calendar = Calendar.getInstance(); // new를 생성 못하는걸로 보아 싱글턴으로 만든것 같다. int year = calendar.get(Calendar.YEAR); // 년도 int month = calendar.get(Calendar.MONTH) + 1; // 월은 현실세계와 똑같이하려면 +1로 시작해야 똑같다(프로그램은 0부터 시작하기때문에) int day = calendar.get(Calendar.DAY_OF_MONTH); // 일 int hour = calendar.get(Calendar.HOUR_OF_DAY); // 시 int minute = calendar.get(..