while(1) work();
반응형
article thumbnail
이상하고 아름다운 JAVA 퀴즈 4
언어/JAVA 2023. 3. 13. 15:04

문제A class Q4 { static { System.out.println("1"); } public static void main(String[] args) { System.out.println("2"); } static class SubQ4 { static { System.out.println("3"); } } } 출력값은 무엇인가? 문제 B class Q4 { static { System.out.println("1"); } public static void main(String[] args) { System.out.println("2"); SubQ4.value++; } static class SubQ4 { private static int value = 123; static { System.out..

article thumbnail
이상하고 아름다운 JAVA 퀴즈 3
언어/JAVA 2023. 3. 13. 01:30

문제 class Q3 { public static void main(String[] args) { Integer a = 200; Integer b = 200; System.out.println(a == b); Integer c = 100; Integer d = 100; System.out.println(c == d); } } 출력값은 무엇인가? (1) true true (2) false false (3) true false (4) false true (5) 런타임 에러 (6) 컴파일 에러 정답 답은 4번. false true 이다. Integer은 객체 래퍼(wrapper) 타입이기 때문에 두 객체는 동등성(equality)은 일치하지만 동일성(identity)은 달라야 할 것 처럼 보인다. 따라서 fa..

article thumbnail
이상하고 아름다운 JAVA 퀴즈 2
언어/JAVA 2023. 3. 13. 01:12

문제 class Q2 { static long value; public static void main(String[] args) { Runnable r = () -> { for (int i = 0; i < 100000; i++) value++; }; Thread t1 = new Thread(r); Thread t2 = new Thread(r); t1.start(); t2.start(); t1.join(); t2.join(); //작업 종료 대기 System.out.println("value = " + value); } } 출력된 값은 200000인가? 정답 아니다. 200000에 한참 못미치는 값이 출력된다. 꼬리 문제 그럼, 문제 1( https://engine-it.tistory.com/179 ) 처..

article thumbnail
이상하고 아름다운 JAVA 퀴즈 1
언어/JAVA 2023. 3. 13. 00:37

문제 class Q1 { static long value = 123456789123456789L; public static void main(String[] args) { Thread t1 = new Thread(() -> { long cnt = 0; while (true) { value = (cnt++ % 2 == 0) ? 987654321987654321L : 123456789123456789L; } }); Thread t2 = new Thread(() ->{ while (true) { long v = value; if (v != 987654321987654321L && v != 123456789123456789L) { //여기 System.out.println("Something wrong.. va..

SOLID 원칙과 구체적인 예시
언어/JAVA 2023. 3. 9. 18:46

개요 아래 내용은 Chat GPT가 작성한 내용입니다. 따라서 잘못된 내용이 있을 수 있습니다....가 아니라 많네요 보니까 ^^; Chat GPT 테스트 겸 그대로 업로드합니다 SOLID 원칙 단일 책임 원칙 (Single Responsibility Principle) : 모든 클래스는 하나의 책임만 가져야 합니다. 이는 클래스를 변경할 때 다른 기능에 영향을 미치지 않도록 하는 것을 의미합니다. 개방 폐쇄 원칙 (Open-Closed Principle) : 소프트웨어 개체(클래스, 모듈, 함수 등)는 확장에 대해 열려 있어야 하고 변경에 대해서는 닫혀 있어야 합니다. 즉, 기존 코드를 변경하지 않고 새로운 기능을 추가할 수 있어야 합니다. 리스코프 치환 원칙 (Liskov Substitution Pr..

Spring Security JWT 인증 잘 정리된 블로그
언어/JAVA 2022. 12. 20. 20:19

https://bcp0109.tistory.com/301 Spring Security 와 JWT 겉핥기 Introduction 이 글에서는 Spring Boot + JWT + Security 를 사용해서 회원가입/로그인 로직을 구현했습니다. JWT 와 Spring Security 코드는 인프런 Spring Boot JWT Tutorial (정은구) 강의를 수강하면서 만들고 제 스타 bcp0109.tistory.com

VSCode Kotlin 프로젝트 셋팅
언어/JAVA 2022. 11. 22. 23:46

gradle init 을 통해 gradle project를 생성 후 build.gradle.kts import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { kotlin("jvm") version "1.6.21" } group = "com.example" version = "0.0.1-SNAPSHOT" java.sourceCompatibility = JavaVersion.VERSION_17 repositories { mavenCentral() } dependencies { } tasks.withType { kotlinOptions { freeCompilerArgs = listOf("-Xjsr305=strict") jvmTarget = "17" } ..

article thumbnail
대신증권 API JAVA에서 사용하기 (2)
언어/JAVA 2022. 2. 25. 16:16

이제 지난 글에서 변환한 class들을 가지고 코드를 작성하면 된다. 대신증권은 타 증권사와 다르게 API 문서(비공식)도 상당히 잘 만들어져 있고, API 담당자에게 질문글을 올리면 보통 하루 내에 답변까지 달아준다. API에 대한 정보가 많기 때문에 크게 어렵지 않게 어지간한 기능들을 다 구현할 수 있기 때문에 본 글에서는 복잡한 기능들을 구현하는데 초점을 맞추기 보다는 JAVA에서 돌아가는 기본적인 코드를 구현하는데 집중하고자 한다. 주의할점은 반드시 JAVA를 관리자 권한으로 실행시켜야 하며 JAVA의 버전은 32bit이어야 한다는 것이다. 이는 파이썬으로 대신증권 API를 사용할때도 마찬가지였는데, 이를 몰라 한참을 해맸던 기억이 있다. JDK 9부터는 64bit만 지원하는 것으로 알고 있어서 ..

반응형

검색 태그