Session

Part1

Java version ๋ณ„ ํŠน์ง•

  • 8

  • 11 : lambda

Java์˜ ์žฅ์  ๋ฐ ํŠน์ง•

  • os level์ด ์•„๋‹ˆ๋ผ JVM ์œ„์—์„œ ๋Œ์•„๊ฐ ( php๋Š” os์— ์˜์กด์ ์ด๋ผ ๋ฐฐํฌ๋ฌธ์ œ๊ฐ€ ์ƒ๊น€ )

  • Java ๋ฐฐํฌ ํŒŒ์ผ jar

  • JVM option ์„ค์ •

  • arifact

  • JFrog

  • Java๋Š” type ๊ฒ€์‚ฌ ์•ˆ์ „ : (python๊ณผ js์™€์˜ ์ฐจ์ด)

Visual VM

  • ์„ฑ๋Šฅ์ด๋‚˜ ํŠธ๋ž˜ํ”ฝ ๊ด€๋ฆฌ

์˜์กด์„ฑ ๊ด€๋ฆฌ ๋„๊ตฌ

  • gradle (ํ˜„์žฌ 6์ ๋Œ€)

  • maven

  • MVN repository, jcenter centrul

  • pip

  • npm

Log4j ์ด์Šˆ

๊ผญ ์•Œ์•„์•ผํ•˜๋Š” Java libraries

  • Google Guava : circular

  • Apach commons

  • Jackson

  • Google gson

  • SLF4J

  • Log4j 2 : 3๊ฐ€์ง€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์žˆ์Œ . core, api, log4j

  • Apache HTTPComponents : blocking/nonblocking = ๋น„๋™๊ธฐ/๋™๊ธฐ ์ฒ˜๋ฆฌ

  • Lombok : getter, setter

  • JAXB

  • Mockito : unit test๋ฅผ ์œ„ํ•œ

  • AssertJ

  • Hibernate : ORM

  • Junit

GC (๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ)

g1, gc : ์„ฑ๋Šฅ์— ์žˆ์–ด ์ค‘์š”ํ•œ ๋ฌธ์ œ์ž„

ORM, query

  • ORM vs SQL Mapper vs JDBC

  • SQL : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค function ์‚ฌ์šฉํ• ๋•Œ. ๋ถ„์„ ๋ฐ ๋ฆฌํฌํŠธ ์šฉ ์ฟผ๋ฆฌ ๋‚ ๋ฆด๋•Œ ์‚ฌ์šฉ

  • query plan, query ํŠœ๋‹

  • join

    • database ์ฟผ๋ฆฌ๊ฐ€ ๋Š๋ ค์ง

    • merge join, nested join, hash join

  • nested : json, array๋กœ ์ „๋‹ฌ

  • driving table, driven table

  • query explain : mysql, bigquery

  • work bench

Databse ์—ฌ๋Ÿฌ๊ฐœ ์—ฐ๊ฒฐ ๋ฐ ๋™์‹œ์„ฑ ๊ด€๋ฆฌ

Blocking = synchonous, non-blocking = asynchonous

JDK, JRE

IntelliJ

break point ์ฐ์œผ๋ฉด์„œ ์ปดํŒŒ์ผ

Restful API

  • api/v1/${somthing}

  • directory๊ฐ™์€ ๊ฐœ๋…

Namespace

Query Scan

  • full scan, range scan

Prepared Statement

SELECT *
FROM PRODUCTS
WHERE (NAME=? OR โ€œ=?)
AND (PRICE=? OR โ€œ=?)

Serialization Object

Error message handling

Part2

closable

SLF4J

  • var/log/message ์— ์ €์žฅ๋จ

Interface, abstract

  • Interface์™€ abstract์œผ๋กœ ๊ณตํ†ต๋œ ๋ถ€๋ถ„์„ ๋นผ์„œ ์ž‘์„ฑ

  • ์ด์œ  -> ํ™•์žฅ์„ฑ

ResponseEntity

  • response ๋ฐ˜ํ™˜์€ ๊ณตํ†ต์ ์ธ ํฌ๋ฉง์œผ๋กœ

Error handling

  • exception ๋ณ„๋กœ ์ชผ๊ฐœ์•ผ ๋จ

  • global ํด๋”์— exception ํด๋”๋ฅผ ์ƒ์„ฑํ•ด์„œ ๊ณตํ†ต๋˜๋Š” ์˜ˆ์™ธ๋ฅผ ์ž‘์„ฑํ•ด๋†“๊ณ  ์‚ฌ์šฉ : https://docs.oracle.com/javaee/7/api/javax/ejb/DuplicateKeyException.html

  • enum type ์ •์˜ํ•ด์„œ ๋„ฃ์–ด์•ผํ•จ . ํƒ€์ž…์ฒดํฌ๋ฅผ ํ•ด์คŒ์œผ๋กœ์จ ์ƒ์‚ฐ์„ฑ ๋†’์—ฌ์คŒ

Avro

Java๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ Java์˜ ์žฅ์ ์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•ด์•ผ ํ•จ

Optional

  • get()

Pagination

web server, was

  • tomcat

  • nignx (reverse proxy, load balancing), apach web server

Try-with-resourses Statement

profiling tuning

  • ps -e | grep java

Increase open files limit for a non root user

Java collections

  • hash map, tree map, arraylist, linkedhashmap

java - heap memory ๊ด€๋ฆฌ

lambda in java

Java Annotations

  • PathVatiable ๊ฐ™์€ ์–ด๋…ธํ…Œ์ด์…˜ ์‚ฌ์šฉ

Access modifier

  • final

Rest.li

GC g1, gc tuning

jetty

Java Performance Tuning Tips

์ฐธ๊ณ 

Last updated