자바는 여러가지 이유로 속도가 빠르지가 못하다.속도를 저하시키는 원인중에 하나가 객체지향언어라서 객체를 생성하느라 느리다.객체를 생성하며, 메모리에 새로운 공간을 할당하고 데이터를 넣는 속도가 몹시 느린 이유이다. 그래서 객체지향언어들은 속도개선을 위하여 노력을 하게 되는데.이것이 pooling, caching, clone 기법등이 있다. 일단 clone에 대해서 알아보도록 한다. 개념은 쉽게 그냥 객체를 복사하는 것인데, 이것이 두가지로 나누어지게 된다.Shallow, Deep 이렇게 나뉘게 된다. 1. Shallow copy- 객체를 복사하기는 하는데, 내부의 객체들까지는 복사하지 않는다.- 복사를 하더라도, 내부에서 객체들을 사용하고 있었다면, 전에 바라보던 메모리영역을 그대로 사용한다. 2. De..
Java에는 4가지의 접근 제한자가 있다. 보통 Public와 Private를 자주 사용하지만 알아두도록 하자. 1. 접근 제한자 허용 가능 범위 public > protected > default > private 2. 각 제한자 설명 - public : 클래스, 변수, 메소드, 생성자 등 모든 접근이 허용된다.보통. 상수(static final 변수), getter/setter등에 많이 사용된다. - default : default라 적으면 안되고, 아무것도 적지 말아야 하는것이다.같은 패키지에 있는 클래스, 변수, 메소드, 내부클래스에서 접근 가능하다. - protected : default와 같으나, 추가적으로 다른 패키지의 하위클래스에서도 상속 가능 - private : 같은 클래스에서만 접근이..
서버 개발자들은 nanoTime 사용하드라...그래서 궁금해서 찾아봤는데, 메서드 이름에서 보이는것처럼.그냥 그런 내용이다. System.currentTimeMillis();현재 시간을 ms로 리턴한다. (1/1,000초)측정기준은 1970년 1월 1일부터의 시간을 long type으로 리턴 System.nanoTime();현재 시간을 ns로 리턴한다. (1/1,000,000,000초)JDK5.0 부터 추가된 메서드이다.시간측정이 목적이므로, 당연히 오늘 날짜 보여주고 그러는데에는 사용하면 안된다.
항상 사용을 그냥 하였지만, 정리할것은 정리 좀...Java 1.4까지는 이렇다.String.replace(char oldChar, char newChar) / String.replaceAll(String regex, String replacement) Java 1.5에서 부터는 이렇게 변경되었다.String.replace(CharSequence target, CharSequence replacement) 그래서 둘이 똑같아졌다고 생각해도 되는데, 다른점은 다음과 같다.1. replace는 일반 문자만, replaceAll은 regex를 받아서 처리가 가능하다. 예)String text = "abc";text.replace("a.?c", "zz"); // 변화없음 : abctext.replace("a.?..
- Total
- Today
- Yesterday
- windows10
- Windows
- MySQL
- Kotlin
- SWIFT
- docker
- golang
- Xcode
- tomcat
- Linux
- CentOS
- intellij
- ubuntu
- go
- git
- nodejs
- enum
- cocoapods
- centos8
- ios
- Gradle
- Spring
- rxswift
- android
- php
- war
- Codable
- Python
- github
- Java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |