일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 리눅스
- nest.js
- 코테
- Grafana
- react
- mysql
- 기록
- 생각로그
- til
- WIL
- CS
- array
- next.js
- 네트워크
- js
- 알고리즘
- 트러블슈팅
- javascript
- MongoDB
- 생각일기
- 피드백
- 자바스크립트
- Git
- 회고
- 생각정리
- mongo
- 주간회고
- Java
- mongoose
- typescript
- Today
- Total
목록개발 공부/JAVA (24)
코딩일상

멀티스레드 이슈 Permalink 자바의 메모리 구조는 위와 같이 CPU - RAM 아키텍처 기반으로 다음과 같이 동작합니다. CPU가 작업을 처리하기 위해 필요한 데이터를 RAM에서 읽어 CPU Cache Memory에 복제합니다. 작업을 처리한 뒤, 변경된 CPU Cache Memory 데이터를 RAM에 덮어씌웁니다.(RAM 쓰기 작업) CPU가 여러 개일 경우, 각 CPU 별 Cache Memory에 저장된 데이터가 달라 문제가 발생할 수 있습니다. 이런 문제는 가시성 문제와 동시 접근 문제 나뉩니다. 가시성 문제 Permalink 하나의 스레드에서 공유 자원(변수, 객체 등)을 수정한 결과가 다른 스레드에게 보이지 않을 경우 발생하는 문제입니다. public class Main { private ..
1. put(K key, V value) 키와 값을 맵에 저장 한다. 키가 존재하면 새값으로 대체된다. Map map = new HashMap(); map.put("apple", 50); map.put("banana", 30); 2.get(Object key) 지정된 키에 대응하는 값을 반환하다. 키가 없으면 null을 반환 int price = map.get("apple"); // 50 3.remove(Object key) 키와 그에 대응하는 값을 제거 map.remove("banana"); 4.cotainsKey(Object key) Map에 지정된 키가 존재하는지 여부를 반환 boolean hasApple = map.containsKey("apple"); // true 5.containsValue(..
System.out.print() 괄호 안에 전달된 내용을 그대로 출력합니다. 줄 바꿈이 이루어지지 않고 출력 내용이 그대로 이어져서 표시 System.out.print("Hello"); System.out.print(", World!"); // 출력: Hello, World! System.out.println() 괄호 안에 전달된 내용을 출력하고 줄을 바꿉니다. 따라서 다음 출력 내용은 새로운 줄에서 표시 System.out.println("Hello"); System.out.println("World!"); // 출력: // Hello // World! System.out.printf() 형식 지정자를 사용하여 텍스트를 형식화한 후 출력 % 기호와 서식 문자를 사용하여 변수나 값을 원하는 형식으로 출..
java.validation 어노테이션 @AssertTrue: 주석이 달린 부울 값이 참인지 확인합니다. @AssertTrue private boolean example; @AssertFalse: 주석이 달린 부울 값이 거짓인지 확인합니다. @AssertFalse private boolean example; @Min: 주석이 달린 요소가 숫자이고 해당 값이 지정된 최소값보다 크거나 같은지 확인합니다. @Min(0) private int example; @Max: 주석이 달린 요소가 숫자이고 해당 값이 지정된 최대값보다 작거나 같은지 확인합니다. @Max(100) private int example; @DecimalMin: 주석이 달린 요소가 십진수이고 해당 값이 지정된 최소값보다 크거나 같은지 확인합니다..

정리이유 몽고 DB TimeStamp를 다루다 Java Time Instant를 사용할 일이 생겼음 기존에 사용하던 LocalDateTime과는 무엇이 다른지 몰랐었고 그것을 알아보는 김에 LocalDateTime에대해서도 좀 더 구체적으로 파악하기위해 이 포스팅을 하게됢 1. Instant Instant는 UTC 시간대를 기준으로 타임라인의 특정 시점을 나타내는 Java 클래스입니다. 에포크(1970년 1월 1일, 00:00:00 UTC) 이후 나노초 단위로 측정된 고정밀 시간 표현을 제공 Instant는 시간 기반 계산을 수행하거나, 경과 시간을 측정하거나, 표준 시간대 또는 로컬 표현과 독립적인 타임스탬프로 작업해야 하는 시나리오에서 특히 유용합니다. 서버 응용 프로그램, 분산 시스템 및 시간에 민..

Java Collection 이란?? Java Collection은 Java에서 객체들의 그룹을 나타내고 조작하는 데 사용되는 클래스와 인터페이스의 집합을 말합니다. 이를 사용하면 객체 그룹을 하나의 개체로 저장, 검색 및 조작할 수 있습니다. Java Collection Framework(JCF)은 객체 그룹을 관리하는 데 일반적으로 재사용 가능한 기능을 제공하는 인터페이스, 클래스 및 알고리즘의 집합입니다. JCF에는 List, Set 및 Map과 같은 여러 인터페이스가 포함되어 있으며 각각 다른 속성과 동작을 갖습니다. 예를 들어 List는 중복 요소를 허용하는 순서가 있는 컬렉션입니다. Set은 중복을 허용하지 않는 비순서 컬렉션이며 Map은 키-값 쌍의 컬렉션으로 연관된 키에 기반하여 값을 검색..

작성하게 된 이유 프로그래머스에서 문제를 풀고 나면 다른 사람의 풀이를 볼 수 있는 데 거기서 대부분 stringBuilder라는 것을 사용하길래 뭐길래 다들 이렇게 사용한 지 궁금하여 정리하게 되었다. StringBuilder 예시 public static void main(String[] args) { StringBuilder sb = new StringBuilder(); // 요소 추가 sb.append("Hello"); System.out.println(sb);//Hello sb.append("World"); System.out.println(sb);//HelloWorld // 문자열 가져오기 String str = sb.toString(); System.out.println(str);//Hell..
완강이라는것을 해본지가 언제인지 기억도 가물가물한데, 정말 하게 되었다. 우선 이렇게 포기하지않고 완강하 나 스스로에게 칭찬을 해주고 싶으며, 수업을 정말 재밌고 이해 잘할수있게 만들어준 이고잉님에게도 감사를 드리고 싶다. 이수업을 마치고 나서 자바라는 언어를 어떻게 활용하고 나아가야할지 큰틀을 잡은 느낌이다. 엑셀을 처음배웠을때의 혁명과 같이 정말 이걸로 많은것들을 이루어낼수 있을거 같다는 생각이들었다. 이제 정말 좋은 도구를 배웠으니 이를 활용을할 방법들에 대해 생각해보고 적용해나아가보아야겠다. 나도 이렇게 개발이라는 첫발을 내딛게 된거 같아 기쁜마음을 기록하고자 이포스팅을 쓴다. System.out.println("Hi JAVA);
클래스란?? 클래스는 서로 연관되 변수와 매소드를 그룹핑한것이다. 거기에 이름을 붙인것이다. 역시 정리정돈의 상자이다. 인스턴스란?? 인스턴스는 하나의 클래스를 복제해서 서로 다른 데이터값과 서로같은 메소드를 가진 복제본을 만드는것이다. class Accounting{ public double valueOfsupply; public double vatRatio; public double expenseRate; public void print() { System.out.println("Value of supply :"+valueOfsupply); System.out.println("VAT :" +getVAT()); System.out.println("Total :" +getTotal()); System.o..
매소드는 서로 연관된 코드를 그룹핑해서 이름을 붙이 정리정돈의 상자이다. 매소드는 서로 연관된 코드를 그룹핑해서 이름을 붙인 정리정돈의 상자이다. 매소드 사용시에는 변수의 상태가 어떠한지 잘봐야한다. 지역 변수인지 전역변수인지를 말이다. 이를 잘 파악을 해야지 오류나 버그없이 잘 사용할수있다. 오늘의 코딩 public class AccountingMethodApp { public static double valueOfsupply; public static double vatRatio; public static double expenseRate; public static void main(String[] args) { valueOfsupply = 50000.0;//매소드를 이용해서 내용을 엄청나게 깔끔하게..