일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 세그먼트 트리
- Redis
- DP
- 스프링
- 문자열
- 파이썬
- equals
- 위상정렬
- 다익스트라
- dfs
- disjoint set
- 자바
- dataframe
- ddd
- 포트앤어댑터 아키텍처
- spring security
- 백준
- UML
- pandas
- 알고리즘
- springboot
- BFS
- 헥사고날 아키텍처
- 비트마스크
- 데이터 flow
- 이펙티브 자바
- java
- JPA
- series
- docker
- Today
- Total
목록전체 글 (95)
코딩못하는사람
자바의 객체의 타입에는 Immutable 타입과 mutable타입이 있다. 객체들은 기본적으로 heap영역에 할당되고 stack영역에 래퍼런스 값을 갖는 참조 변수들로 접근 가능하다. immutable(불변) 객체 이름에서 알 수 있듯이 변경 불가능,바뀌지 않는 객체이다. immutable 객체의 종류에는 대표적으로 String, Boolean, Integer, Float, Long 등이 있다. (객체이므로 String을 제외하면 primitive의 래퍼타입이다). 이제 immutable 객체의 불변이라는 개념을 자세히 보자. new 연산자로 객체를 생성하면 heap영역에 객체가 생기고 래퍼런스 값을 가지는 변수가 stack에 생길 것이다. 불변 객체라는 것은 이 객체의 값을 heap 영역에서 바꿀 수 ..
Java Virtual Machine(JVM)이란? java와 운영체제(OS) 사이에서 중계자 역할을 해준다. 자바가 운영체제 종류,플랫폼에 관계없이 독립적으로 실행 가능하도록 해준다. 메모리 관리를 GC를 통해서 자동으로 해준다. 왜 JVM 메모리 구조를 알아야 할까? 메모리 설계가 잘되어 있는 프로그램에 비해 메모리 고려가 되지 않은 프로그램은 속도 저하 현상이나 튕김 등의 현상이 일어날 확률이 크다. 결과적으로, 같은 기능의 프로그램이라 하여도 메모리의 관리에 따라 성능이 차이가 나게 된다. 따라서 메모리 구조를 파악하고 한정된 메모리를 효율적으로 사용해야 한다. 자바 실행 과정 -Java Compiler: Java source(.java)파일을 바이트 코드로 바꿔 .class파일로 만들어 준다. ..
자바에서의 배열 정렬은 크게 3가지로 나눈다. 오름차순or 내림차순// 기본타입 or String타입이냐 //객체 배열이냐 1. 오름차순으로 배열하기. 1-1 기본타입 배열 오름차순으로 배열에는 java.util패키지의 Arrays클래스를 사용하면 된다. int [] a=new int []{4,3,2,1}로 선언했다고 하면. Arrays.sort(a)를 해주면 a배열 자체를 정렬된 배열로 바꿔준다. >>[1,2,3,4] 2-1 String타입 배열 String타입은 기본타입은 아니지만 오름차순에서는 같은 방법으로 쓰인다. 아스키코드의 순서에 따라 배열 해준다. String [] s=new String []{"bb","cc","aa"} 위와 같이 Arrays.sort(s)를 해주면 [aa, bb, cc]으..
StringBuilder란. API를 살펴보면 첫줄에 A mutable sequence of characters 라고 써있다. String은 immutable 한 객체로 값을 수정하면 새로운 객체를 만들어 내서 메모리를 잡아먹고 시간도 잡아먹게된다. 하지만 StringBuilder를 사용하게 되면 mutable한 sequence를 수정하는 것이므로 같은 주소에 값만 수정되는 개념이 되게되서 훨씬 빠르게 작동하게 되는 것이다. (메모장에 써 넣어 놓는다고 생각이 든다) 예를 들어 for문 10000번을 돌면서 10000줄의 문자열을 출력해야한다고 하면 System.out.println("정답")은 만번의 String을 선언하고 메모리를 잡아먹게 되지만 매번 StringBuilder에 sb.append("정..