분류 전체보기 476

[Go] GO 언어 개발 환경 세팅 GO + VSCODE + GIT

modu-print.tistory.com/279 [1일1GO/0001] Go 프로그래밍 환경구성 오래전부터 프로그래밍에 관심을 가지는 분들에게 강좌 같은 걸 해볼까 하고 고민을 하긴 했습니다만. 유튜브나 블로그등에 좋은 강좌들은 꽤 많은지라 원론적인 부분 빼고 2~3년 전부터 매우 modu-print.tistory.com 다른 사이트에서 알려주는 대로 했다가 비주얼 스튜디오코드를 몇번을 지웠다가 다시깔았다. 위 블로그에 나와있는걸로 하니까 잘된다. 감사합니다.

Go lang 2021.01.06

[Java] 자바 클래스 로딩 절차

클래스 로딩 절차 1) JRE 라이브러리 폴더에서 클래스를 찾는다. 2) 없으면, CLASSPATH 환경 변수에 지정된 폴더에서 클래스를 찾는다. 3) 찾았으면, 그 클래스 파일이 올바른 바이트코드인지 검증한다. 4) 올바른 바이트코드라면, Method Area 영역으로 파일을 로딩한다. 5) 클래스 블록이 있으면 순서대로 그 블록을 실행한다. 6) 클래스 안에 static block (스태틱 블록)들이 있으면 순서대로 그 블록을 실행한다.

Java lang 2021.01.06

[Java] 자바 static 블록, 인스턴스 블록이란 무엇인가?

uoonleen.tistory.com/6 [Java] 스태틱 블록 (static block), 인스턴스 블록 (instance block), 생성자 [Java] 자바 스태틱 블록 (static block), 인스턴스 블록 (instance block), 생성자 1. static block (스태틱 블록) -클래스가 로딩되고 클래스 변수가 준비된 후 자동으로 실행되는 블록 - 한 클래스 안에 여러.. uoonleen.tistory.com easy16.tistory.com/161 static 블록의 활용 static 블록은 객체가 생성되거나, 클래스 참조가 발생하는 경우 한번 호출 된다. (static 메소드 또는 static변수 참조) 초기화 블럭(initialization block) 1, 클래스 초기화..

Java lang 2021.01.06

[Java] 제너릭 메소드의 선언부에 대해

제너릭 메소드의 선언부에 대해 https://devlog-wjdrbs96.tistory.com/201 [Java] 제너릭 메소드(Generic Method)란? 제너릭 메소드 제네릭 메소드는 메소드의 선언 부에 적은 제네릭으로 리턴 타입, 파라미터의 타입이 정해지는 메소드이다. 제너릭에 대한 예시를 보면서 이해해보자. public class Student { static T nam devlog-wjdrbs96.tistory.com https://atoz-develop.tistory.com/entry/JAVA-%EC%A0%9C%EB%84%A4%EB%A6%ADGenerics-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%99%80-%EB%A9%94%EC%86%8C%EB%93%9C JAVA 제네릭(G..

Java lang 2021.01.06

[Java] 유틸리티 클래스란 무엇인가?

유틸리티 클래스란 무엇인가? 어려운 개념은 없고 그냥 용어이다. 유틸리티 클래스는 인스턴스 메서드와 인스턴스 변수를 일절 제공하지 않고 정적 메서드와 변수만을 제공하는 클래스를 뜻한다. 클래스 본래의 목적인 '데이터와 데이터 처리를 위한 로직의 캡슐화' 를 실행하는 것이 아니라 '비슷한 기능의 메서드와 상수를 모아서 캡슐화' 한 것이 유틸리티 클래스이다. 설명이 너무 짧아서 static에 대해서 조금 더 언급하겠다. static을 사용하는 이유는 공유 때문이다. static 을 사용하면 새로 생성되는게 아니라 항상 같은 곳의 메모리 주소를 향하기 때문에 static 변수의 경우는 그 값이 공유가 가능하다. static method는 어떤 개념일까? static method는 메서드의 앞부분에 static..

Java lang 2021.01.06

[Java] 정적 팩토리 메서드란 무엇인가?

정적 팩토리 메서드란 무엇인가? https://johngrib.github.io/wiki/static-factory-method-pattern/ 정적 팩토리 메서드(static factory method) static 메서드로 객체 생성을 캡슐화한다 johngrib.github.io https://velog.io/@ljinsk3/%EC%A0%95%EC%A0%81-%ED%8C%A9%ED%86%A0%EB%A6%AC-%EB%A9%94%EC%84%9C%EB%93%9C%EB%8A%94-%EC%99%9C-%EC%82%AC%EC%9A%A9%ED%95%A0%EA%B9%8C 정적 팩토리 메서드는 왜 사용할까? 정적 팩토리 메서드를 들어본 적이 있는가? 프로그래밍을 시작한 지 얼마 안된 사람도 정적 팩토리 메서드라는 단어..

Java lang 2021.01.06

[Java] 자바의 NPE문제와 Optional에 대해서

www.daleseo.com/java8-optional-before/ 자바8 Optional 1부: 빠져나올 수 없는 null 처리의 늪 Engineering Blog by Dale Seo www.daleseo.com www.daleseo.com/java8-optional-after/ 자바8 Optional 2부: null을 대하는 새로운 방법 Engineering Blog by Dale Seo www.daleseo.com www.daleseo.com/java8-optional-effective/ 자바8 Optional 3부: Optional을 Optional답게 Engineering Blog by Dale Seo www.daleseo.com

Java lang 2021.01.06

[Java] 스레드에서 등장하는 원자성의 보장이란 무엇인가?

멀티 쓰레드(multi-thread) 기반의 프로그래밍을 하게 되면 중요한 것이 바로 원자성의 보장이다. 그렇다면 원자성이 무엇인가? 원자성이란 여러개의 쓰레드가 있을 때 특정 시점에 어떤 메소드를 두개 이상의 쓰레드가 동시에 호출 못한다는 것이다. 간단한 예를 들어보자. class Job implements Runnable { public void run() { while(true) { go(); stop(); } } public void go() { /* 매우 중요한 작업이다 */ } public void stop() { /* 그냥 일반적인 작업이다. */ } } 위의 Job 클래스를 보면 run()메소드에서 go()와 stop()메소드를 무한 호출하고 있다. 그런데 여기에서 go()메소드가 아주 중..

Java lang 2021.01.05

[Java] 공유객체와 volatile 키워드

공유객체란 무엇일까? 공유객체는 하나의 객체를 여러 개의 Thread가 사용한다는 의미이다. volatile은 무엇일까? volatile은 해당 키워드로 선언된 변수를 컴파일러의 최적화 대상에서 제외시킨다는 의미이다. 그래서 값이 변경되는 즉시 변수에 적용시킨다. 그런데 하나의 Thread가 아닌 여러 Thread가 Write하는 상황에서는 적합하지 않다고 한다. Java에서 volatile은 Java 변수를 Main Memory에 저장하겠다는 것을 명시하는 키워드이다. 그래서 변수의 값을 읽을때 CPU 캐시에 저장된 값이 아니라 Main Memory에서 읽게 되는 것이다. 그리고 마찬가지로 변수의 값을 쓸때도 Main Memory에까지 작성하는 것이다. 왜 volatile 키워드가 필요할까? volat..

Java lang 2021.01.05
반응형