๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ—ฃ Language/JAVA์— ํ•ด๋‹นํ•˜๋Š” ๊ธ€๋“ค

22 Articles matched
๋ชฉ๋ก์ด ์—†์Šต๋‹ˆ๋‹ค.
Java ํž™๋คํ”„ ๋ถ„์„ (Out of memoryํ˜„์ƒ์ด ์•„๋‹Œ ์ˆ˜๋™๋ถ„์„) ์–ด..? ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ..? ์„œ๋ฒ„ ์šด์˜ ์ค‘์— ๊ฐ„ํ—์ ์œผ๋กœ ์ ‘์† ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์šฐ๋ฆฌ ์„œ๋ฒ„์—๋Š” scouter๋กœ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•ด๋†“์•˜์—ˆ๊ณ  ์ด์ƒ ์ฆ์ƒ์ด ์žˆ์œผ๋ฉด ์‚ฌ๋‚ด slack์— ํŠน์ • ์ฑ„๋„๋กœ ์•Œ๋ฆผ์ด ์˜ค๊ฒŒ ํ•ด๋‘์—ˆ๋‹ค. ๋ฉฐ์น  ์ „๋ถ€ํ„ฐ ์„œ๋ฒ„์˜ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•˜๋‹ค๋Š” ์•Œ๋ฆผ์ด ์˜ค๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ์—…๋ฌด๋“ค์ด ๋ฐ€๋ ค ์žˆ์–ด์„œ ์‹ ๊ฒฝ์“ฐ์ง€ ๋ชปํ–ˆ๋‹ค. ์ƒํ™ฉ ๋ฐœ์ƒ!! ๋น„์ƒ!! ๊ทธ๋Ÿฐ๋ฐ ์–ด์ œ๋ถ€ํ„ฐ ํŠน์ • ์‚ฌ์ดํŠธ์— ์ ‘์†์ด ๊ฐ„ํ—์ ์œผ๋กœ ์•ˆ๋œ๋‹ค๋Š” ๋ฌธ์˜๊ฐ€ ๋“ค์–ด์™”๋‹ค. ํ™•์ธ์„ ์•ˆํ•  ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์ด ๋˜์—ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์•„ํŒŒ์น˜ ์›น์„œ๋ฒ„๋ฅผ ์•ž์— ๋‘๊ณ  ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ๊ทธ ๋’ค์—๋Š” Tomcat WAS๋ฅผ ์ด์ค‘ํ™”ํ•ด๋†“์•˜๊ณ  ์ด ์ค‘์— ํ•œ ์„œ๋ฒ„์—์„œ๋งŒ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•ด์ ธ ์žˆ์—ˆ๋‹ค. ๋ฌผ๋ก  ๋‚˜๋จธ์ง€ ํ•œ ์„œ๋ฒ„๋„ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋งŽ์ด ์˜ฌ๋ผ์™€์žˆ๊ธฐ๋Š” ๋งˆ์ฐฌ๊ฐ€์ง€์˜€๋‹ค. ์šฐ์„  tomcat์„ ..
[Java] jmap ์‚ฌ์šฉํ•˜์—ฌ JVM ์ƒํƒœ ํ™•์ธ Java ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•˜๊ณ  ์„œ๋ฒ„ ์œ ์ง€๋ฅผ ํ•˜๋Š” ๊ฒฝ์šฐ์— JVM์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ด์•ผํ•˜๋Š” ์ƒํ™ฉ์ด ์ข…์ข… ๋ฐœ์ƒํ•œ๋‹ค. ์ด ๋•Œ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ํŒจํ‚ค์ง€ ์„ค์น˜ ์—†์ด ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์ด ๋ฐ”๋กœ jmap์„ ํ™œ์šฉํ•˜์—ฌ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™์ด ๊ฐ„๋‹จํ•˜๋‹ค. (Java ๋ฒ„์ „๋ณ„๋กœ ์กฐ๊ธˆ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค) java 11 ์ด์ „ ๋ฒ„์ „ $ jmap --heap java 11 ํฌํ•จ ์ดํ›„ ๋ฒ„์ „ $ jhsdb jmap --heap --pid * jhsdb ๊ด€๋ จ ๋ฌธ์„œ๋Š” ์˜ค๋ผํด ๋ฌธ์„œ ์ฐธ์กฐ: https://docs.oracle.com/javase/9/tools/jhsdb.htm#JSWOR-GUID-0345CAEB-71CE-4D71-97FE-AA53A4AB028E ์‹คํ–‰ ๊ฒฐ๊ณผ (jdk 11 ๋ฒ„์ „ ๊ธฐ์ค€) $ jhsdb jmap ..
[JAVA] split ๋นˆ๊ฐ’ ์ฒ˜๋ฆฌ ๋ฌธ์ œ์ƒํ™ฉ Java ์„œ๋ธ”๋ฆฟ ๋กœ์ง์—์„œ splitํ•˜๋Š” ๋กœ์ง์ด ์žˆ์—ˆ๋Š”๋ฐ ์•„๋ž˜์™€ ๊ฐ™์€ ์ƒํ™ฉ์—์„œ ์˜๋„์น˜ ์•Š์€ ๋™์ž‘์ด ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. String data = "1,2,3,,,"; String[] split_data = data.split(","); System.out.println("split length : " + split_data.length); for (String str : split_data) { System.out.println(str); } ์œ„์˜ ๋กœ์ง์„ ๋Œ๋ ค๋ณด์•˜์„ ๋•Œ ์˜ˆ์ƒ๋˜๋Š” ์ถœ๋ ฅ๊ฐ’์€ ์•„๋ž˜์™€ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. split length : 6 1 2 3 ์›๋ž˜ ์˜ˆ์ƒํ–ˆ๋˜ ์ถœ๋ ฅ ๋‚ด์šฉ ํ•˜์ง€๋งŒ ์˜ˆ์ƒ๊ณผ๋Š” ๋‹ฌ๋ฆฌ ์•„๋ž˜์™€ ๊ฐ™์ด ์ถœ๋ ฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. split length : 3 1 2 3 Java์—์„œ split๋ฉ”์„œ๋“œ์˜ ๊ธฐ๋ณธ๋™์ž‘์€ ..
[JAVA] Arrays.asList java.lang.UnsupportedOperationException ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค๊ฐ€ ์›๋ณธ ๋ฐฐ์—ด๋ฅผ ๋ณต์‚ฌํ•œ ํ›„์— ๋ณต์‚ฌ๋œ ๋ฐฐ์—ด์•ˆ์— ์ถ”๊ฐ€ํ•ด์•ผํ•˜๋Š” ์ƒํ™ฉ์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค. ๋‹จ์ˆœํ•œ ์ž‘์—…์ด์ง€๋งŒ ์ฒ˜์Œ์— ์–ด๋–ป๊ฒŒ ์ž˜๋ผ์„œ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•ด์•ผํ• ์ง€ ๋ญ”๊ฐ€ ์‰ฌ์šด ๋ฐฉ๋ฒ•์€ ์—†์„์ง€ ์ƒ๊ฐํ•˜๋ฉฐ ์ฐพ์•„๋ณด๋‹ค๊ฐ€ Arrays.asList๋ผ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๊ณ  ์ด๋ฅผ ํ†ตํ•ด ๋ฐฐ์—ด์„ ๋ฆฌ์ŠคํŠธ๋กœ ๋ณ€๊ฒฝ(casting)ํ•˜์—ฌ add ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด์„œ ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•ด๋ณด๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ œ๋ชฉ๊ณผ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๊ณ  ๋˜ ๋‹ค์‹œ ๊ตฌ๊ธ€๋ง์„ ํ•˜๋‹ค๋ณด๋‹ˆ ๋ฐœ๊ฒฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. Arrays.asList๋กœ ์ƒ์„ฑ๋œ List๊ฐ์ฒด๋Š” immutableํ•œ ๊ฐ์ฒด์ด๋ฏ€๋กœ add ๋˜๋Š” remove๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค. immutableํ•˜๋‹ค๋Š”๊ฒŒ ์ฒ˜์Œ์—๋Š” ๋ฌด์Šจ ์˜๋ฏธ์ธ์ง€ ์™€๋‹ฟ์ง€ ์•Š์•„์„œ ์˜์–ด ๋‹จ์–ด๋ฅผ ์ฐพ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค. immutableํ•˜๋‹ค๋Š”๊ฒƒ์€ ๋ณ€ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์˜๋ฏธ์ด๊ณ  Arrays..
[JAVA] java.security.cert.CertificateException: No name matching some_name found Problem public class UrlConnectionTest { public static void main(String[] args) throws Exception { URL url = new URL("http://example.com"); URLConnection conn = url.openConnection(); InputStream in = conn.getInputStream(); // occur error } } Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching some_name found at com.sun.net.ssl.internal.ssl.Al..
[JAVA] ์ŠคํŠธ๋ฆผ(Stream) 1. ์ŠคํŠธ๋ฆผ(Stream)? ๋งŽ์€ ์ˆ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ for๋ฌธ์ด๋‚˜ Iterator๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์™”๋‹ค. ๋˜ํ•œ ๋ฐ์ดํ„ฐ์˜ ํ˜•ํƒœ๋งˆ๋‹ค ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ๋‹ค๋ค„์•ผ ํ–ˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด, ๋ฐ์ดํ„ฐ์˜ ์ •๋ ฌ์„ ์˜ˆ๋กœ ๋“ค์ž๋ฉด ์ปฌ๋ ‰์…˜ ํด๋ž˜์Šค ์ค‘ List๋ฅผ ์ •๋ ฌํ•  ๋•Œ์—๋Š” Collections.sort()๋ฅผ, ๋ฐฐ์—ด์„ ์ •๋ ฌํ•  ๋•Œ๋Š” Arrays.sort()๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ–ˆ๋‹ค. ๊ฐ™์€ ๊ธฐ๋Šฅ์ด๊ณ  ๊ฐ™์€ ๋ฉ”์„œ๋“œ์ž„์—๋„ ๋‹ค๋ฅด๊ฒŒ ํ˜ธ์ถœ์„ ํ•ด์•ผ๋งŒ ํ–ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ๋“ค์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ๊ฒƒ์ด ๋ฐ”๋กœ ์ž๋ฐ” 8๋ถ€ํ„ฐ ๋“ฑ์žฅํ•œ ์ŠคํŠธ๋ฆผ(Stream)์ด๋‹ค. ์–ด๋–ค ๋ฐ์ดํ„ฐ์ด๋“  ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ ๊ฒƒ์ด๋‹ค. ์ŠคํŠธ๋ฆผ์„ ์ด์šฉํ•˜๋ฉด, ๋ฐฐ์—ด์ด๋‚˜ ์ปฌ๋ ‰์…˜๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํŒŒ์ผ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋„ ๋ชจ๋‘ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’์•„์ง„๋‹ค. ์˜ˆ์ œ๋ฅผ ๋ณด๋ฉด..
[JAVA] ์ปฌ๋ ‰์…˜ ํด๋ž˜์Šค (Map) ์ปฌ๋ ‰์…˜ ํด๋ž˜์Šค HashMap HashMap๊ณผ Hashtable์˜ ๊ด€๊ณ„๋Š” ArrayList์™€ Vector์˜ ๊ด€๊ณ„์™€ ๊ฐ™์•„์„œ Hashtable๋ณด๋‹ค๋Š” ์ƒˆ๋กœ์šด ๋ฒ„์ „์ธ HashMap์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค. ๋‘˜๋‹ค Map์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†๋ฐ›์•„ ๊ตฌํ˜„๋˜์–ด ๋ฐ์ดํ„ฐ๋ฅผ ํ‚ค์™€ ๊ฐ’์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ํฐ ํŠน์ง•์œผ๋กœ๋Š” ํ‚ค(Key)๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•  ๋•Œ ๊ตฌ๋ถ„์ž๋กœ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ์ทจํ•˜๋Š”๋ฐ ์ด๋Š” ๋ฆฌ์ŠคํŠธ ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ฐ™์€ ์ž๋ฃŒ๊ตฌ์กฐ๋ณด๋‹ค ํƒ์ƒ‰์— ์žˆ์–ด์„œ ๋” ๋†’์€ ํšจ์œจ์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฑ…์—๋Š” HashMap์— ๋Œ€ํ•ด์„œ๋งŒ ์„ค๋ช…์ด ๋˜์–ด ์žˆ๋Š”๋ฐ ๋‘˜์˜ ์ฐจ์ด์ ์„ ๊ฐ„๋‹จํžˆ ์‚ดํŽด๋ณด๊ณ  ๋„˜์–ด๊ฐ€์ž, HashMap๊ณผ Hashtable์˜ ์ฐจ์ด ๋‘˜์˜ ์ฐจ์ด์ ์œผ๋กœ ๋™๊ธฐํ™”๋ฅผ ๋“ค ์ˆ˜ ์žˆ๋‹ค. HashMap์˜ ๊ฒฝ์šฐ ๋™๊ธฐํ™”๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋ฐ˜๋ฉด ๋‹ค์ค‘ ์“ฐ๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ Has..
[JAVA] ๋žŒ๋‹ค์‹ (Lambda Expression) ์ž๋ฐ”๊ฐ€ 1996๋…„์— ์ฒ˜์Œ ๋“ฑ์žฅํ•œ ์ดํ›„๋กœ ๋‘ ๋ฒˆ์˜ ํฐ ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ, ํ•œ๋ฒˆ์€ JDK 1.5๋ถ€ํ„ฐ ์ถ”๊ฐ€๋œ ์ง€๋„ค๋ฆญ์Šค(generics)์˜ ๋“ฑ์žฅ์ด๊ณ , ๋˜ ํ•œ ๋ฒˆ์€ JDK 1.8๋ถ€ํ„ฐ ์ถ”๊ฐ€๋œ ๋žŒ๋‹ค์‹(lambda expression)์˜ ๋“ฑ์žฅ์ด๋‹ค. ์ด ๋‘ ๊ฐ€์ง€ ์ƒˆ๋กœ์šด ๋ณ€ํ™”์— ์˜ํ•ด ์ž๋ฐ”๋Š” ๋” ์ด์ƒ ์˜ˆ์ „์˜ ์ž๋ฐ”๊ฐ€ ์•„๋‹ˆ๊ฒŒ ๋˜์—ˆ๋‹ค. ํŠนํžˆ JDK 1.8๋ถ€ํ„ฐ ๋“ฑ์žฅํ•œ ๋žŒ๋‹ค์‹์œผ๋กœ ์ธํ•ด ์ž๋ฐ”๋Š” ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด์ธ ๋™์‹œ์— ํ•จ์ˆ˜ํ˜• ์–ธ์–ด๊ฐ€ ๋˜์—ˆ๋‹ค. ๋žŒ๋‹ค์‹์ด๋ž€? ๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ ๋ฉ”์„œ๋“œ๋ฅผ ํ•˜๋‚˜์˜ ์‹(expression)์œผ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์ด๋‹ค. ํ•จ์ˆ˜๋ฅผ ๊ฐ„๋žตํ•˜๋ฉด์„œ๋„ ๋ช…ํ™•ํ•œ ์‹์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. ์ด์ „์— ๋‚ด๋ถ€ ํด๋ž˜์Šค๋ฅผ ์ •๋ฆฌํ•˜๋ฉด์„œ ์ต๋ช… ํ•จ์ˆ˜(anonymous function) ์–ธ๊ธ‰ํ•  ๋•Œ ๊ฐ™์ด ๊ฐ€๋ณ๊ฒŒ ์‚ดํŽด๋ดค๋“ฏ์ด ๋žŒ๋‹ค์‹๋„ ์ต๋ช…ํ•จ์ˆ˜์ด๋‹ค. ๋ฉ”์„œ๋“œ๋ฅผ ๋žŒ๋‹ค์‹์œผ๋กœ ..