개발일지349 동기화(synchronized) 개발일지/자바 2022. 9. 20. Thread.sleep 활용 개발일지/자바 2022. 9. 19. Thread란? (쓰레드 생성 및 활용법 2) 쓰레드를 생성하는 방법은 2가지가 있다. 첫번째 방법 : 1. Thread 클래스를 상속받는 방법 두번째 방법 : 2. Runnable 인터페이스를 구현하는 방법 두번째 방법 인터페이스를 구현을 해서 쓰레드를 생성해보자 쓰레드를 상속을 안받고 Runnable를 구현을 해준다. 그럼 추상메소드인 run()을 오버라이드를 해주면서 일반메소드로 재정의를 해주자! 그럼 쓰레드를 활용할 준비가 된것이다. 그럼 이제 힙 메모리에 MyFrame1을 초기화를 해준다 그리고나서 Thread를 힙 메모리에 올려서 초기화를 해주자 그럼 초기화된 Myframe1을 매개변수로 넣어준다. 그럼 쓰레드가 생성이 된 것이다. 그럼 쓰레드 t1변수에 접근해서 start()메소드를 호출해주면 run()메소드가 동작한다. 개발일지/자바 2022. 9. 19. Thread란? (쓰레드 생성 및 활용법 1) porcess : 프로그램이 실행이 되면 OS로부터 메모리를 할당 받아 프로세스 상태가 됨 thread : 하나의 프로세스에는 하나 이상에 thread를 가지게 되고, 실제 작업을 수행하는 단위는 thread이다. multi threading(멀티 쓰레딩) 이란 여러 쓰레드가 동시에 수행되는 프로그래밍, 여러 작업이 동시에 실행되는 효과를 만들어 낼 수 있다. thread는 각각 자신만에 변수, 메서드 즉 작업 공간에 가진다. 즉 자기자신에 context를 가진다. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!중요!!!!!!!!!!!!!!!!!!!!!!!!!!! 멀티 쓰래딩프로그램시 주의점 각 thread 사이에서 공유하는 자원이 있을 수 있다. 여러 쓰레드가 자원을 공유하여 작업이 수행되는 경우.. 개발일지/자바 2022. 9. 19. Git - gitHub 연결 (Push, pull 활용) https://github.com/ GitHub: Where the world builds software GitHub is where over 83 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat... github.com 나의 gitHub로 Push하기 로그인부터!!! 맨오른쪽에 프로필로 들어간다. Your repository로 들어간다. repository를 새로 생성을 한다 저장소의 이름을 쓰고 누구든 저장소에 접근할수있게금 공개(Publi.. 개발일지/Git 2022. 9. 18. git 사용법 - (init,Commit, add 활용) 우리가 Git 을 사용해야 하는 이유? ▶ 소스코드나 작업물을 관리할 때 편리하기 때문이다. Git 이란? ● Git은 분산형 버전관리 시스템 입니다. (Distributed Version Control System) 버전 관리 시스템이란? (Version Control System) ● VCS은 사용자 프로젝트에 포함된 파일의 변경 내역을 추적할 수 있도록 하는 도구 또는 방법론입니다 Git의 관리 방식 2가지가 있다 ▶ 기존 버전 관리 시스템은 중앙 서버에 소스코드와 history를 직접 저장하는 방식 -- 중앙집중식 버전관리 (중앙집중식 번전관리를 사용하는 회사 입사하지말자) ▶ 분산 버전 관리 시스템은 여러 개발 PC와 저장소에 분산해서 저장하는 방식 -- 분산형 버전관리 Git 과 GitHub .. 개발일지/Git 2022. 9. 18. Git 프로그램 설치 https://git-scm.com/download/win Git - Downloading Package Download for Windows Click here to download the latest (2.37.3) 32-bit version of Git for Windows. This is the most recent maintained build. It was released 18 days ago, on 2022-08-30. Other Git for Windows downloads Standalone Installer 32-bit Git for Win git-scm.com 따로 설정하는 부분없이 전부다 수락 해주고 설치하면된다. 정상 설치 완료 확인!!!! 개발일지/설치 및 셋팅 2022. 9. 17. 이미지 움직이기, 이동범위 제한(KeyAdapter, Jpanel 활용) - 2 package blogpractice; import java.awt.Graphics; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.swing.JPanel; public class KeyEventListener2 extends JFrame { boolean flag = true; final int FRAME_WIDTH = 500; // 프레임 가로 사이즈 fi.. 개발일지/자바 2022. 9. 17. 이미지 움직이기, 이동범위 제한(keyListener, Jpanel 활용) - 1 package blogpractice; import java.awt.Graphics; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.swing.JPanel; public class KeyBordEventListener1 extends JFrame implements KeyListener{ boolean flag = true; final int FRAME_WI.. 개발일지/자바 2022. 9. 17. 마우스 리스너 (어댑터 활용) MouseAdapter 사용법 * 1. 클래스 내에서만 사용하기때문 private를 사용하여 내부클래스를 만들어준다. * 2. MouseAdapter라는 추상클래스를 상속받아준다 (추상클래스, 인터페이스는 객체 생성(new) 를 할수가없다) * 3. 내부클래스에 추상클래스를 상속을 받아준다(내부클래스는 new 가능) 이제는 new해서 MouseAdapter(추상클래스 new안됨)에 접근이 가능하다 * 4. MouseAdapter는 MouseListener인터페이스를 구현하고있다. 그러기때문에 MouseListener까지 접근가능 * 5. 일반 내부클래스인 MyMouseListener를 new를 해줘서 오버라이드를 해준다. * 6. 그럼 MouseListener인터페이스에서 원하는 기능만 오버라이드를 해줄.. 개발일지/자바 2022. 9. 17. 마우스 리스너 (MouseListener) - 2 (익명, 구현 클래스) package blogpractice; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JFrame; import javax.swing.JLabel; public class MouseEventListener2 extends JFrame { JLabel label; final int LABEL_WIDTH = 100; // 라벨의 가로 크기 final int LABEL_HEIGHT = 100; // 라벨의 세로 크기 int xPosition = 100; int yPosition = 100; public MouseEventListener2() { initData(); setInitLayout(); .. 개발일지/자바 2022. 9. 17. 마우스 리스너 (MouseListener) - 1 package blogpractice; import java.awt.Rectangle; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JFrame; import javax.swing.JLabel; // 마우스 리스너 : public class MouseEventListener1 extends JFrame implements MouseListener{ JLabel jLabel; final int LABEL_WIDTH = 100; // 라벨의 가로 크기 final int LABEL_HEIGHT = 100; // 라벨의 세로 크기 int xPosition = 100; int yPosition = .. 개발일지/자바 2022. 9. 17. 이전 1 ··· 23 24 25 26 27 28 29 30 다음