์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ์ค๋ ๋
- i-type
- ํ ํฐ ๋ฒ์ค
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ์ฝ๋ฉํ ์คํธ์ค๋น
- leetcode
- ์ค๋ฅ์ ์ด
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- ์ค๋ฅ๊ฒ์ถ
- xv6
- mariadb
- git merge
- ํ๋ ์ ๊ตฌ์กฐ
- 99ํด๋ฝ
- ์ค๋ธ์
- ์ฃผ๊ธฐ์ ํธ
- ํ๋ก์ด๋์์
- tcp ํ๋กํ ์ฝ
- til
- ์์๋ฒํธ
- ๋ฐ์ดํฐ ์ ์ก
- tcp ์ธ๊ทธ๋จผํธ
- ํญํด99
- reducible
- ์ฐ๋ถํฌdb
- ๊ฐ๋ฐ์์ทจ์
- IEEE 802
- ์๋น์ค ํ๋ฆฌ๋ฏธํฐ๋ธ
- ๋น์ฃผ๊ธฐ์ ํธ
- well known ํฌํธ
- Today
- Total
๋ชฉ๋กJava (24)
Unfazedโ๏ธ๐ฏ

1. ๋ฉํฐ์ค๋ ๋ฉ์ ๊ฐ๋ ๋ฉํฐ์ค๋ ๋ฉ์ ํ๋์ ํ๋ก๊ทธ๋จ ๋ด์์ ์ฌ๋ฌ ์์ ์ ๋์์ ์คํํ ์ ์๋๋ก ํ๋ ๊ธฐ๋ฒ์ด๋ค. Java์์๋ Thread ํด๋์ค์ Runnable ์ธํฐํ์ด์ค๋ฅผ ์ด์ฉํด ๋ฉํฐ์ค๋ ๋๋ฅผ ๊ตฌํํ ์ ์๋ค.์ค๋ ๋๋ฅผ ํ์ฉํ๋ฉด CPU ์์์ ๋ณด๋ค ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ์ฌ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ฐ ์๋ต์ฑ์ ๋์ผ ์ ์๋ค.2. ์๋ก์ด ์ค๋ ๋ ์์ฑํ๊ธฐJava์์ ์๋ก์ด ์ค๋ ๋๋ฅผ ์์ฑํ๋ ค๋ฉด ๋จผ์ Thread ๊ฐ์ฒด๋ฅผ ์์ฑํด์ผ ํ๋ค. ์์ฑ์์ Runnable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ๊ฐ์ฒด๋ฅผ ์ ๋ฌํ๊ณ , Runnable ์ธํฐํ์ด์ค์ run() ๋ฉ์๋์ ์ค๋ ๋๊ฐ ์คํํ ๋ก์ง์ ์์ฑํ ์ ์๋ค.Thread thread = new Thread(new Runnable() { @Override public void run() { ..

HashSet์ Java Collections Framework์ ํต์ฌ ๊ตฌ์ฑ ์์ ์ค ํ๋๋ก, ์ค๋ณต์ ํ์ฉํ์ง ์๋ ์งํฉ(Set) ์๋ฃ๊ตฌ์กฐ๋ฅผ ๊ตฌํํ๋ค. 1. HashSet์ ์ฃผ์ ํน์ง์ค๋ณต ์์๋ฅผ ํ์ฉํ์ง ์์ : ๋ฐ์ดํฐ ๋๋ฑ์ฑ ํ์ธ์ ์ํ equals(), hashCode() ๋ฉ์๋ ํ์์์๋ฅผ ๋ณด์ฅํ์ง ์์ : ์ธ๋ฑ์ค๊ฐ ๋งค๊ฐ ๋ณ์๋ก ๋์ด๊ฐ๋ ๋ฉ์๋(get(int index), indexOf(Object o) ๋ฑ)์ด ์์null ์์ ํ์ฉ ๋น๋๊ธฐ(non-synchronized) ๊ตฌํO(1) ์๊ฐ ๋ณต์ก๋์ ๊ธฐ๋ณธ ์ฐ์ฐ2. ๋ด๋ถ ๊ตฌ์กฐ 2-1) ์ฃผ์ ํ๋์์ ์ฝ๋์์ ๋ณผ ์ ์๋ฏ์ด HashSet์ ๋ด๋ถ์ ์ผ๋ก HashMap์ ์ฌ์ฉํ์ฌ ๊ตฌํํ๋ค.HashSet์ ์์๋ค์ HashMap์ key๋ก ์ ์ฅํ๋ค.๋ชจ๋ ๊ฐ์ ๋..

Java 8์์ ๋์ ๋ Stream API๋ ์ปฌ๋ ์ ์ ์ฒ๋ฆฌํ๋ ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค. ๊ทธ ์ค์์๋ map()๊ณผ flatMap() ๋ฉ์๋๋ ๋ฐ์ดํฐ ๋ณํ๊ณผ ์ฒ๋ฆฌ์ ์์ด ํต์ฌ์ ์ธ ์ญํ ์ ํ๋ค. 1. map() Stream map( Function mapper // R : ์ถ๋ ฅ ํ์ (์๋ก์ด ์คํธ๋ฆผ์ ์์ ํ์ ))map() ๋ฉ์๋๋ ์คํธ๋ฆผ์ ๊ฐ ์์๋ฅผ ๋ค๋ฅธ ์์๋ก ๋ณํํ๋ 1:1 ๋งคํ์ ์ํํ๋ค. ์ ๋ ฅ ์์ ํ๋๋น ์ ํํ ํ๋์ ์ถ๋ ฅ ์์๊ฐ ์์ฑ๋๋ค.์ฃผ์ ํน์ง๊ฐ ์์๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ๋ณํ์คํธ๋ฆผ์ ์์ ๊ฐ์ ์ ์ง (one-to-one)์๋ณธ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ณด์กด๋ฐํ ํ์ : Stream (R์ ๋ณํ๋ ํ์ )์์ ์ฝ๋// ๋ฌธ์์ด ๊ธธ์ด ๋ณํList words = Arrays.asList("Java", "Stre..
Java ๊ฐ๋ฐ์์ JAR(Java Archive) ํ์ผ์ Java ํด๋์ค ํ์ผ๊ณผ ๊ด๋ จ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ํ๋์ ํ์ผ๋ก ๋ฌถ์ด ๋ฐฐํฌํ ์ ์๊ฒ ํด์ฃผ๋ ํ์์ ์ธ ์์๋ค. ํ๋์ IDE๋ Maven, Gradle ๊ฐ์ ๋น๋ ๋๊ตฌ๋ค์ด JAR ์์ฑ์ ์๋ํํด ์ฃผ์ง๋ง, JAR ์์ฑ ์๋ ํ๋ก์ธ์ค๋ฅผ ์ดํดํ๋ ๊ฒ์ Java์ ํจํค์ง ์์คํ ์ ์ดํดํ๊ธฐ ์ํด ์ค์ํ๋ค. JDK(Java Development Kit) ์ค์น ํ์JDK - ์ปดํ์ผ์ ์ํ javac์ jar ํ์ผ ์์ฑ์ ์ํ jar ๊ฐ์ ํ์ ๋๊ตฌ๋ค์ด ํฌํจ๋์ด ์๋ค. JAR ํ์ผ์ ์๋ฐ ๋ฐํ์์ด ํจ์จ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌ(deploy)ํ ์ ์๋ ์๋จ์ผ๋ก ์ค๊ณ๋์๋ค. ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑํ๋ ํด๋์ค์ ๊ด๋ จ ๋ฆฌ์์ค๋ค์ ๋จ์ผ ํ์ผ๋ก ๋ฌถ์ด ์์ถ๋ ํํ์ธ JAR ํ์ผ์..
1. ๋ฉ์๋ ์๊ทธ๋์ฒ ๋ถ์public V merge( K key, // ๋งต์์ ์ฌ์ฉํ ํค V value, // ์๋ก์ด ๊ฐ (null์ด ์๋์ด์ผ ํจ) BiFunction remappingFunction)2. ๋์ ์๋๋ฆฌ์คA. ํค๊ฐ ์๊ฑฐ๋ ๊ฐ์ด null์ธ ๊ฒฝ์ฐ: Map map = new HashMap();// ํค "A"๊ฐ ์์ ๋map.merge("A", 1, Integer::sum); // ๊ทธ๋ฅ {"A"=1} ์ ์ฅ B. ํค๊ฐ ์ด๋ฏธ ์กด์ฌํ๋ ๊ฒฝ์ฐ:Map map = new HashMap();map.put("A",5);// ํค "A"๊ฐ ์ด๋ฏธ ์์ ๋map.merge("A",1,Integer::sum); // {..
์๋ฐ์์ ๋ฐฐ์ด์ ๋ค๋ฃฐ ๋ ๊ธฐ๋ณธํ(Primitive Type)๊ณผ ์ฐธ์กฐํ(Reference Type)์ ์ด๊ธฐํ ๋ฐฉ์์๋ ์ค์ํ ์ฐจ์ด๊ฐ ์๋ค. ์ด๋ฒ ํฌ์คํธ์์ ์ด ์ฐจ์ด์ ์ ์์ธํ ์์๋ณด๊ณ , ์ค์ ์ฝ๋์์ ์ด๋ป๊ฒ ์ ์ฉ๋๋์ง ์ดํด๋ณด๋ ค๊ณ ํ๋ค.1. ๋ฐฐ์ด์ ๊ธฐ๋ณธ ์ด๊ธฐํ1.1 ๊ธฐ๋ณธํ ๋ฐฐ์ด(Primitive Type)๊ธฐ๋ณธํ ๋ฐฐ์ด์ ์์ฑํ๋ฉด ๊ฐ ์์๋ ํด๋น ํ์ ์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์๋ ์ด๊ธฐํ๋๋ค.int[] arr = new int[5];System.out.println(arr[0]); // ์ถ๋ ฅ: 0arr[0] = 10; // ๋ฐ๋ก ๊ฐ ๋์ ๊ฐ๋ฅ ๊ฐ ๊ธฐ๋ณธํ ํ์ ๋ณ ์ด๊ธฐ๊ฐbyte -> 0short -> 0int -> 0long -> 0Lfloat -> 0.0fdouble -> 0.0dbool..

Android ์ฑ ๊ฐ๋ฐ์ค ๋ฌธ์์ด์ ์ง์์ ์ผ๋ก ์ฐ๊ฒฐํด์ผ ํ๋ ๋ฉ์๋๋ฅผ ๊ตฌํํ์๊ณ , ๋จ์ํ String์ ์ฌ์ฉํ์ง๋ง ์ด๊ฒ์ด ์๊ฐ๋ณด๋ค ํฐ ์ฑ๋ฅ ์ ํ๋ฅผ ์ผ์ผํฌ ์ ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค.String๊ณผ StringBuilder์ ์ฐจ์ด์ ์ ์ดํด๋ณด๊ณ , ์ ๋ฐ๋ณต์ ์ธ ๋ฌธ์์ด ์ฐ๊ฒฐ ์์ ์์ StringBuilder๋ฅผ ์ฌ์ฉํด์ผ ํ๋์ง ์์๋ณด๋ ค๊ณ ํ๋ค. String์ ํน์ฑ => Immutable(๋ถ๋ณ)Java์์ String์ ๋ถ๋ณ ๊ฐ์ฒด์ด๋ค. ์ฆ, ํ๋ฒ ์์ฑ๋ String ๊ฐ์ฒด์ ๋ด์ฉ์ ์ ๋ ๋ณ๊ฒฝ๋ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค. String์์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ฌธ์์ด ์ฐ๊ฒฐ์ด ์ด๋ป๊ฒ ๋์ํ๋์ง ์ดํด๋ณด์.String str = "hello";str = str + "world";์์ ๊ฐ๋จํ ์ฝ๋์์ ์ค์ ๋ก ๋ฐ์ํ๋ ์ผ์ ์๋์ ..
Java ๊ฐ๋ฐ์ ํ๋ค ๋ณด๋ฉด ๋ฌธ์์ด์ด ๋น์ด์๋์ง ๋๋ ๊ณต๋ฐฑ๋ง ํฌํจํ๊ณ ์๋์ง ํ์ธํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์์ฃผ ์๋ค. ์ด๋ฐ ์ํฉ์์ ์ด๋ค ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ์ฅ ํจ์จ์ ์ผ์ง String.isEmpty()์ String.isBlank() ๋ฉ์๋์ ์ฌ์ฉ์ ๊ถ์ฅํ๋ ์ด์ ์ ๋ํด ์์๋ณด๋ ค๊ณ ํ๋ค. ๋ฌธ์ : ๋นํจ์จ์ ์ธ ๋ฌธ์์ด ๊ธธ์ด ์ฒดํฌํ์ ๋ฌธ์์ด์ด ๋น์ด์๋์ง ํ์ธํ ๋ ๋ณ ์๊ฐ์์ด isEmpty, length()๋ฅผ ํผ์ฉํ๋ฉฐ ์ฝ๋ฉ์ ํ๋ค.if (string.length() == 0) if (string.length() > 0) if (string.trim().length() == 0) if (string.trim().length() > 0) ์ด๋ฌํ ๋ฐฉ์์ ์๋์ ํ์ง๋ง ์๋์ ๊ฐ์ ๋ฌธ์ ๊ฐ ์๋ค.ใน์ฝ๋๊ฐ ๋ถํ์ํ๊ฒ ๊ธธ์ด์ง๋ค.t..
Java์์ ์ปฌ๋ ์ ์ ๋ฐฐ์ด๋ก ๋ณํํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์๋ ํฌ๊ฒ toArray(new T[0])์ toArray(new T[size])๋ก ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค. ๋ ๋ฐฉ๋ฒ ๋ชจ๋ ์ปฌ๋ ์ ์ ๋ชจ๋ ์์๋ฅผ ๋ฐฐ์ด๋ก ๋ฐํํ๋ค. ๊ทธ๋ฌ๋ ์ฑ๋ฅ๋ฉด์์ ์ฐจ์ด๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ์ด๋ค ๋ฐฉ๋ฒ์ด ๋ ๊ถ์ฅ๋๋์ง ์์๋ณด๋ ค๊ณ ํ๋ค. ์ฑ๋ฅ ๋น๊ต ๋ฐ ๋ถ์ JMH(Java Microbenchmark Harness)๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ JDK ๋ฒ์ ์์ ๋ค์ํ ์ปฌ๋ ์ ํฌ๊ธฐ์ ๋ํด ์ด ๋ ๋ฐฉ๋ฒ์ ์ฑ๋ฅ์ ์ธก์ ํ ์ํฐํด์ด ์์ด ํต์ฌ๋ง ์์ฝํด๋ณด๋ คํ๋ค. ์ฑ๋ฅ ์ธก์ ๊ฒฐ๊ณผ, toArray(new T[0]) ๋ฐฉ๋ฒ์ด toArray(new T[size]) ๋ฐฉ๋ฒ๋ณด๋ค ์ผ๊ด๋๊ฒ ๋ ๋น ๋ฅธ ์ฑ๋ฅ์ ๋ณด์๋ค. ์ด๋ ๋ฐฐ์ด ์ด๊ธฐํ ๊ณผ์ ์์์ ์ฐจ์ด ๋๋ฌธ์ธ๋ฐ, toArray(new T[0])๋..
public String repeatโ(int count) Returns a string whose value is the concatenation of this string repeated count times. If this string is empty or count is zero then the empty string is returned. Parameters:count - number of times to repeatReturns:A string composed of this string repeated count times or the empty string if this string is empty or count is zeroThrows:IllegalArgumentException - if..