Community

๐Ÿ•Š๏ธ 99%์˜ Java ๊ฐœ๋ฐœ์ž๋“ค์ด ์ €์ง€๋ฅด๋Š” 5๊ฐ€์ง€ ์‹ค์ˆ˜

๋Œ€๋ถ€๋ถ„์˜ ์ฝ”๋”ฉ ์‹ค์ˆ˜๋“ค์€ ๊ต‰์žฅํžˆ ๊ณ ์ฐจ์›์ ์ธ ์ง€์‹์„ ๋ชฐ๋ผ์„œ ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ์‚ฌ์‹ค์€ ๊ธฐ๋ณธ์ ์ธ ์ง€์‹๋“ค์„ ๊ฐ„๊ณผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ผ์–ด๋‚˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ํ—ˆ๋‹คํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” ๋งŽ์€ Java ๊ฐœ๋ฐœ์ž๋“ค์ด ์ฝ”๋”ฉ์„ ํ•˜๋ฉด์„œ ์ €์ง€๋ฅด๋Š” ์‹ค์ˆ˜๋“ค์— ๋Œ€ํ•ด ๋ฒˆ์—ญํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๊ณผ์—ฐ ๋‚˜๋Š” ์ด๋Ÿฌํ•œ ์‹ค์ˆ˜๋“ค์„ ์ €์ง€๋ฅธ ์ ์ด ์—†๋Š”์ง€ ์ž˜ ์ƒ๊ฐํ•ด ๋ด…์‹œ๋‹ค. 1๏ธโƒฃ ๊ฐ์ฒด ๋น„๊ต์— Objects.equals ์‚ฌ์šฉ Objects.equals()๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์˜ˆ์ƒํ•˜๋˜ ๊ฒƒ๊ณผ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ์˜๋„์— ๋งž์ถ”์–ด ๋ฉ”์„œ๋“œ๋ฅผ ์žฌ์ •์˜ ํ•œ๋‹ค๋ฉด ๋ฒ„๊ทธ๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2๏ธโƒฃ ์ž˜๋ชป๋œ date ํฌ๋งท 'YYYY-MM-dd' ํฌ๋งท์ด ์•„๋‹Œ 'yyyy-MM-dd' ํฌ๋งท์„ ์‚ฌ์šฉํ•ฉ์‹œ๋‹ค. (์‹ค์ˆ˜ ์ฃผ์˜!) 3๏ธโƒฃ ThreadPool์—์„œ ThreadLocal ์‚ฌ์šฉ *ThreadPool: ์Šค๋ ˆ๋“œ๋ฅผ ์ œํ•œ๋œ ๊ฐฏ์ˆ˜๋งŒํผ ์ •ํ•ด๋†“๊ณ  ์ž‘์—…ํ์— ๋“ค์–ด์˜ค๋Š” ์ž‘์—…๋“ค์„ ํ•˜๋‚˜์”ฉ ๋งก์•„์„œ ์ฒ˜๋ฆฌ *ThreadLocal: ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ์—์„œ๋งŒ ์ฝ๊ณ  ์“ฐ์—ฌ์งˆ ์ˆ˜ ์žˆ๋Š” ๋ณ€์ˆ˜ ThreadPool ์•ˆ์—์„œ ThreadLocal์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด, ์กฐ์‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์ƒํ•˜์ง€ ๋ชปํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ์š”. 4๏ธโƒฃ ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์—†์• ๊ธฐ ์œ„ํ•ด HashSet ์‚ฌ์šฉ *HashSet: ๊ฐ์ฒด๋ฅผ ์ค‘๋ณต ํ•ด์„œ ์ €์žฅํ•  ์ˆ˜ ์—†๋Š” ์ž๋ฃŒ๊ตฌ์กฐ Set์˜ ๊ตฌํ˜„์ฒด ์ฝ”๋”ฉ์„ ํ•  ๋•Œ, ์ค‘๋ณต ์ œ๊ฑฐ๋ฅผ ํ•ด์•ผ ํ•  ์ผ์ด ๊ฐ€๋” ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋งŽ์€ ๋ถ„๋“ค์ด ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ HashSet์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ (์ €๋„ ๊ทธ๋ ‡๊ณ ), equals ๋ฉ”์„œ๋“œ๋ฅผ ๋”ฐ๋กœ ์žฌ์ •์˜ ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ์˜๋„ํ•œ ๋ฐ”์™€ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 5๏ธโƒฃ ThreadPool ์•ˆ์—์„œ ์˜ˆ์™ธ ๋ฐœ์ƒ ThreadPool ์•ˆ์—์„œ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด, ํ•ด๋‹น ์˜ˆ์™ธ๋Š” RuntimeException์„ ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ  ๋จนํ˜€์ง‘๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋‚˜์ค‘์— ์ž˜๋ชป๋œ ๊ฒฐ๊ณผ์˜ ์›์ธ์„ ์ฐพ๊ณ  ์‹ถ์–ด๋„, ํ™•์ธํ•˜๊ธฐ ํž˜๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿฃ ์‹ค์ˆ˜๋ฅผ ํ•˜์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•ฉ์‹œ๋‹ค. ๐Ÿฃ ๊ทธ๋Ÿฌ๋‚˜ ๋•Œ๋กœ๋Š” ์ง์ ‘ ๊ฒช์œผ๋ฉด ๋” ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค