You are using an outdated browser. Please upgrade your browser to improve your experience.

데스크탑 App의 특징

네트워크 App의 특징

was(web application server) : App이 서버에서 실행되는것. 우리의 목적지

메소드는 일단 뽑아도 됨. 걱정하지말고 리팩토링하자

스태틱으로 해도 되지만 향후 확장 가능성을 염두하고 인스턴스로 만든다.

http 프로토콜은 stateless방식으로 동작한다.

Thread : 실

프로그램은 하나의 실과같이 연결되어있다.

메인과 독자적으로 스레드가 실행된다.

서버프로그래밍은 무조건 멀티스레딩 해줘야한다. 무조건!

10 / 6

regular expression : 정규표현식

문자열을 다루는것은 워낙 기본이다보니 선배 프로그래머들이 먼저 문자열을 다루는 코드를 만들어놨음.

정규표현식을 볼 줄 알면 문자열을 다루기 쉬워진다.(주민번호 뒷자리를 별표로 만들기, 휴대전화 입력할대 대쉬를 입력하느냐 마느냐 같은)

정규표현식 - 손에 잡히는 10분 정규 표현식 또는 책 아무거나

슬라이드 쉐어 인터넷 사이트

Thread

동시처리 (concurrent 프로그램 = 병행프로그램)

multi-tasking : 동시에 여러 작업을 실행

구현방법

CPU scheduing : 여라개의 프로세스를 동시에 실행하기 위해 cpu사용을 관리하는 방법

  1. Round-Robin : 각 프로세스에 균등한 실행시간을 부여하는 것
    • Windows OS
  2. Priority + Aging
    • 우선순위가 높은 프로세스에 CPU사용권한을 더 많이 배분한다.(더 자주실행된다.)
    • 단 우선순위가 낮아서 실행이 연기될 때 마다 우선순위 레벨(age)을 높여서 결국 실행하게 하는 방법
    • Linux, macOS, Unix

멀티태스킹 : 한정된 자원(cpu)을 사용하여 CPU스케줄링 알고리즘(문제해결방법)에 따라 여러개의 프로세스(APP)를 동시에 실행하는 것!

JVM은 운영체제의 도움을 받아 실행할뿐이다. cpu스케쥴은 운영체제가 관리함!!

폴더안에 폴더/파일이 있을 수 있듯이 스레드 안에 다른 스레드 그룹이 있을 수 있다.

recursive : 재귀