일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- pycharm
- web 사진
- mglearn
- web
- postorder
- java역사
- inorder
- web 용어
- 데이터전문기관
- discrete_scatter
- CES 2O21 참여
- 자료구조
- classification
- cudnn
- KNeighborsClassifier
- 웹 용어
- paragraph
- bccard
- 결합전문기관
- vscode
- broscoding
- web 개발
- 머신러닝
- 재귀함수
- html
- tensorflow
- CES 2O21 참가
- 대이터
- C언어
- Keras
- Today
- Total
목록[IT]/java (101)
bro's coding
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Pt70u/btq0BEcBdSM/zrTY7Udcg0OpYtl0yDh3SK/img.jpg)
Nested Class : 중첩 클래스 (or Inner class) 클래스 내에 클래스를 정의 주로 Inner class에서 Outer class의 private member에 직접 접근하여 편리하게 사용 Inner class의 객체 생성은 반드시 Outer class 객체 생성을 통해서만 가능 package step0; /* * Nested Class : 중첩 클래스 (or Inner class) * 클래스 내에 클래스를 정의 * 주로 Inner class에서 Outer class의 private member에 직접 접근하여 편리하게 사용 * * Inner class의 객체 생성은 반드시 Outer class 객체 생성을 통해서만 가능 */ class Outer { private String pass..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wWMBB/btq0ulYMeiL/WPwuViHkXipUbiUcckHuk0/img.jpg)
package step4; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class EchoServer { public void go() throws IOException { // 서버에 연결하여 통신하기 위해 Socket을 생성 ServerSocket serverSocket = null; PrintWriter pw = null; BufferedReader br = null; String clientIp = null; Socket..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bIJZKo/btq0kDrYojR/gSkw6Zfk9MuNU9yVVnxdx1/img.jpg)
Network java 기반의 TCP/IP 네트워크 프로그래밍 java.net.* 패키지에 주요 클래스들이 있음( Socket, ServerSocket ) Protocol : 프로토콜 (약속), 통신규약 TCP/IP : 인터넷 상의 통신 규약 TCP( Transmission Control Protocol) : 전송 제어 프로토콜 신뢰성이 높음 > 데이터 전달 보증 IP(Internet Protocol) : ip address(전화번호와 유사)로 호스트를 지정 > localhost(자신의 호스트) : 127.0.0.1 > 실제 ip 예) 221.150.136.4 DNS( Domain Name Service): www.naver.com > ip와 연결되는 Domain Name ip를 사용자들이 일일히 기억하..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/blA4Qg/btq0nOzoFvZ/Y2UgVvLeBIkiHQVpMfmekk/img.jpg)
currentTimeMillis 자바에서는 시간 정보를 System.currentTimeMillis() 메서드를 이용함 반환되는 값은 long 타입이고 세계표준시로 1970년 1월 1일 0시 0분 기준으로 몇 밀리세컨드가 흘렀는 지 기록한 값 > 유닉스 시간이라고도 함 package step10; import java.text.SimpleDateFormat; /* * 유일한 파일명을 만들기 위해 시간 정보를 이용하는 예제 * * 자바에서는 시간 정보를 System.currentTimeMillis() 메서드를 이용함 * 반환되는 값은 long 타입이고 세계표준시로 1970년 1월 1일 0시 0분 기준으로 * 몇 밀리세컨드가 흘렀는 지 기록한 값 > 유닉스 시간이라고도 함 */ public class Tes..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cHzaCP/btq0jOlXiaj/lk1WSqJoy0kMSc4uj7qf2K/img.jpg)
Deamon Thread 백그라운드에서 실행되는 스레드 자신을 실행시킨 스레드가 종료되면 함께 종료됨 ex) thread.setDaemon(true); 워드 작업 실행시 백그라운드에서 주기적으로 백업을 하도록 구현하고 이 백업 스레드를 setDeamon(true)로 처리하면 워드 프로그램 종료시 함께 종료됨 Deamon Thread를 사용하지 않은 경우 package step8; /* * Daemon Thread 테스트 * 1. Word Thread * 2. Backup Thread * * Word Thread 시작시 Backup Thread가 시작하도록 구성 * Word Thread가 작업을 종료할 때 * Backup Thread도 작업을 종료하도록 * 처리하는 프로그램 구성 */ class BackU..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/z2shq/btq0iA9priV/ozv5tsKUukjWRFY0pt6tg0/img.jpg)
Thread scheduling 우선순위 방식 우선순위(priority)가 높으면 스케줄링이 될 가능성이 높아짐 스레드 우선 순위는 1~10 default:5 1이 가장 낮은 우선 순위, 10이 가장 높은 우선 순위 package step7; /* * 자바 스레드 스케줄링은 우선 순위 방식 * 이를 확인해보기 위해 * 테스트 스레드를 20개 생성하고 start * 그중 하나를 우선순위를 10(가장 높은)으로 할당 * 결과 확인 */ class Worker implements Runnable { public void run() { String name = Thread.currentThread().getName(); int priority = Thread.currentThread().getPriority()..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/JCecO/btq0iYaKTyi/cHK7lVZxOqUaLvz4OrtdQ0/img.jpg)
Thread.sleep(2000) // 2초간 중단되었다가 수행을 재개 package step5; /* * 멀티 스레드 테스트 (동영상 플레이어 가정) * 동영상 플레이어 프로세스 * 세부적 실행단위 * 1. 영상 스레드 * 2. 음향 스레드 * 가 멀티 스레딩 되어야함 */ class VideoWorker implements Runnable { @Override public void run() { System.out.println("**영상작업 Thread시작**"); try { video(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { System.out.pri..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/MrMwB/btq0g1TbRjp/M4poK8t4lbMdQM24yJR9R0/img.jpg)
Thread 사전적 의미 실, 실이 여러개 모여 옷을 만든다 정의 프로세스 내의 세부적 실행단위 (프로세스 : 현재 실행중인 프로그램) ex) 동영상 플레이어 (Youtube 같은)를 실행 : 동영상 플레이어 프로세스 동영상 플레이어 프로세스의 세부적 실행단위는 영상서비스, 음향서비스, 자막서비스를 말함 이러한 프로세스 내의 세부적 실행단위를 Thread라고 하고 이를 동시에 진행되는 것을 Multi-Threading이라고 함 Thread 생성방법 2가지 1. extends Tread 2. implements Runnable implements Runnable 권장 : java는 단일 상속이므로 implements Runable을 사용해야 다른 상속받을 수 있기 때문 Thread 동작원리( start( ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/C8XFx/btq0iBMZ7U1/aHQXO53XWz6cFramCPZke0/img.jpg)
package step8; import java.io.File; import java.io.IOException; public class TestFileMove { public static void main(String[] args) { File f1 = new File("C:\\4. kosta215\\iotest\\rocky.txt"); try { // iotest 디렉토리에 파일생성 System.out.println("create: " + f1.createNewFile()); boolean flag =f1.renameTo(new File("C:\\4. kosta215\\iotest3\\rocky.txt")); System.out.println("move file: "+flag); } catch (IO..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vmTML/btq0bxdnv0M/qKiqSrQINXROG94B0uGM2k/img.jpg)
transient package step6; import java.io.Serializable; public class Account implements Serializable { private static final long serialVersionUID = -6327719185686084355L; private String name; private int money; // password 직렬화 제외 // transient keyword : 직렬화 대상에서 제외 private transient String password; public Account(String name, int money, String password) { super(); this.name = name; this.money = mo..