본문 바로가기 메뉴 바로가기

Jun's TID

프로필사진

Jun's TID

Jun's TID
검색하기 폼 Mountain View
  • 분류 전체보기 (509)
    • 정보관리기술사 (0)
      • Network (0)
    • Mobile (158)
      • Android (71)
      • Dart (5)
      • Flutter (9)
      • ios (38)
      • react-native (35)
    • WEB (110)
      • DynamicWeb (33)
      • 자바스크립트 (22)
      • CSS (4)
      • jQuery (21)
      • ajax (4)
      • JPA (2)
      • React (21)
      • Node (3)
    • Database (25)
    • [Python] (35)
      • 문자열 조작 (4)
      • 선형 자료구조 (7)
      • Machine learning (17)
    • [JAVA] (111)
      • Spring-Boot (12)
      • Spring (47)
      • JExcel (3)
      • BeakJoon (4)
      • Programmers (23)
      • JAVA (8)
      • Algorithms (8)
      • Mybatis (6)
    • Network (12)
    • Projects (9)
    • Support (10)
    • 프로젝트 분석 (4)
    • English (8)
    • Life (2)
      • 운동냥이 (0)
      • 맛집냥이 (1)
      • 커피냥이 (0)
    • 정보보안기사 (2)
    • C++ (15)
      • 참고 (11)
      • 연습 문제 (4)
    • 누리 임보 일기 (7)
  • GUESTBOOK
  • TAG
  • RSS

[JAVA]/JAVA
<Thread> Thread의 단점과 Synchronized

이전에 포스팅한 join() 메서드에서도 언급했듯, Thread는 Main 메서드의 순서와는 별개로 실행된다는 것이 장점이자 단점이다. 즉, 실행 속도에 따라 원치 않는 결과를 얻을 수도 있는 것이다. 간단한 예시로 한 은행 계좌에 두 명의 사람이 각각 입금과 출금을 한다고 가정하고 코드를 짜 보자. ○Bank.java package com.choonham; public class Bank { private int money = 10000; //현재 잔액 초기 값 public Bank() { // TODO Auto-generated constructor stub } /* 입금 처리 메서드 */ public void MoneyIn(int save) { int m = this.money; try { Thre..

[JAVA]/JAVA 2021. 3. 31. 17:12
<Thread> Join()

스레드는 기본적으로 메인과 따로 작동을 하기 때문에 Main 안에 어떤 순서로 스레드를 놓아도 따로따로 실행이 된다. 그러나 특정 데이터 값의 연산이나 특정 작업을 각 스레드가 모두 종료된 뒤에 실행되게끔 만드려면, 각각의 스레드가 모두 종료될 때까지 대기하다 Main을 끝마쳐야 한다. 이럴 때 사용하는 메서드가 바로 join() 메서드이다. ARS로 모금을 진행하는 간단한 예제로 이해해보자. ○Account: package com.choonham; public class Account { //모금함 private int total = 0; public Account() { } public void deposit() { this.total = this.total + 1000; } public int ge..

[JAVA]/JAVA 2021. 3. 31. 12:12
<Thread> Priority 지정하기

각 스레드 객체를 생성한 뒤 어느 스레드를 우선으로 실행할 지 지정해줄 수 있다. 그러나, 예시에서 사용할 코드는 각각 스레드의 작업량이 그렇게 많지 않아서 뚜렷한 우선순위 차이를 보기는 힘들다. 그냥 priority 를 이렇게 지정하는구나...라고 생각하면 될 거 같다. ○PriorityThread: package com.choonham; public class PriorityThread extends Thread { public PriorityThread() { // TODO Auto-generated constructor stub } public void run() { int i = 0; System.out.println(this.getName() + "[우선권:" + this.getPriority..

[JAVA]/JAVA 2021. 3. 31. 11:50
<Thread> Sleep을 이용한 간단한 타이머 구현

주먹구구식으로 Spigot 플러그인을 제작할 때, 항상 Runnable 인터페이스를 잘 사용을 못해서, HashMap으로 스킬 쿨타임 들을 구현했던 기억이 난다. (뭐, 지금 생각해도 Map이 더 효율적인 방법이긴 하지만...ㅎ) 아무리 여러 블로그에 있는 포스팅들을 읽어봐도 Multi Threads 로 제 각각의 타이머를 만드는 개념이 이해가 잘 안 됐었다. 그래서 다루는 김에 간단히 1분을 세는 타이머를 구현한 방법을 적어볼까 한다. ○RunnableTest: package com.choonham; public class RunnableTest implements Runnable { int count = 0; int num = 0; boolean timeOut = false; public Runnab..

[JAVA]/JAVA 2021. 3. 31. 11:23
<Thread> Thread 겉핥기

Multi Thread를 구현하기 위한 run() 메소드는 Runnable 인터페이스가 가지고 있으며, 이 Runnable 인터페이스를 구현받은 Thread 클래스를 이용하여 구현할 수도 있다. 즉, 간단하게 구조를 보면.. run() 메서드: public interface Runnable{ public void run(); } Thread 클래스: public class Thread implements Runnable{ public Thread(){ } @Override public void run() { } } 위와 같이 구성되어 있으므로 Thread 클래스를 상속 받거나, Runnable 인터페이스를 구현 받는 방식으로 run() 메서드를 구현할 수 있다는 것이다. ThreadClass를 상속 받는..

[JAVA]/JAVA 2021. 3. 30. 18:04
"웹 개발자 양성과정" 03.24 <Interface & Abstract Class>

상속: 주로 객체에 관련된 개념이며, 상속된 객체는 변수, 메서드, 상수 등을 가질 수 있다. 또한 메서드 재정의는 해도 되고 안해도 되는 선택 사항이다. extends는 중복이 불가능하다. 인터페이스: 주로 기능에 관련된 개념이며, 추상 메서드를 가지며, Implements 받는 객체 내에서 메서드 재정의는 필수 사항이다. Implements는 중복이 가능하다. Override 의 간단 예시: 추상 클래스: 일반 클래스와 인터페이스를 합친 개념이라고 생각하면 된다. 일반 클래스와 같이 생성자를 사용할 수 있지만, 추상 클래스는 다른 객체에서 new 로 인스턴스화 할 수 없다. 즉 일반 클래스의 부모로만 사용되는 클래스라고 볼 수 있다. 추상 클래스는 1. 공통된 필드와 메서드를 통일할 목적 2. 실체클..

[JAVA]/JAVA 2021. 3. 25. 17:08
"웹 개발자 양성과정" 03.23 <상속, 접근 제한자 & 문제 풀이>

상속 : 부모클래스(super class) 로 부터 모든 자원을 물려받는 개념 반드시 extends 키워드를 이용하여 상속받을 부모클래스를 지정. 단, 한번에 하나의 클래스만 상속받을 수 있다. 예) public class A{ } public class B{ } public class C extends A{ // 가능 } public class C extends A, B{ // 불가능 } public class D extends A{ // 가능 } public class E extends D{ // 가능 } 상속이 가능한 부모클래스의 변수 및 메서드 1. 부모와 자식이 같은 패키지에 존재 할 경우 public int a; char c; private 이 붙은 메서드나 변수는 상속 불가능 2. 부모와 자..

[JAVA]/JAVA 2021. 3. 25. 17:07
[JAVA] Comparable & Comparator

1. Comparable과 Comparator? 1) Comparable 인터페이스 - java.lang.compable 패키지에 있는 인터페이스 - 정렬 수행시 기본적으로 적용되는 정렬 기준을 정하는 메소드를 정의해놓는 인터페이스이다. 2) Comparator 클래스 - java.util.Comparator 패키지에 있는 클래스 - 기본 정렬 기준과 다른 기준을 정하여 정렬을 할 필요가 있을 때 사용 2. 사용 방법 1) Comparable 기본적인 Comparable 인터페이스의 사용 방법은 다음 코드와 같이 Comparable을 정렬이 필요한 클래스을 제네릭 타입으로 implements해주고, compareTo 메소드를 오버라이딩하여 정렬 기준을 스스로 정해주면 된다. Code: public cla..

[JAVA]/JAVA 2021. 3. 25. 17:06
이전 1 다음
이전 다음
최근에 올라온 글
최근에 달린 댓글
TAG
  • javascript
  • react-native
  • 인천 구월동 이탈리안 맛집
  • 맛집
  • redux-thunk
  • Async
  • AsyncStorage
  • redux
  • await
  • 이탈리안 레스토랑
  • Promise
  • 파니노구스토
  • 인천 구월동 맛집
  • react
  • 정보보안기사 #실기 #정리
more
Total
Today
Yesterday

Powered by Tistory / Designed by INJE

티스토리툴바