☆IT 개발 프로그램☆/JAVA 6

[Terminal] Mac에서 Home Brew로 JAVA 재설치하기

개요 개발을 하다 보면 사용하는 툴에 따라 Java 버전을 변경해주어야 하는 상황들이 찾아온다. 내가 이 포스팅을 하게 된 계기인 Sales Force Data Loader 최신 버전의 경우 JAVA 13버전의 설치를 요구한다. Eclipse 같은 IDE툴을 사용해 코딩하는 경우, 특정 자바 버전의 설치가 요구되기도 한다. 이를 위해 자바를 새로 설치하기 앞서 기존의 (구)자바를 삭제할 필요가 있다. 기존 JAVA 삭제 (예시: 9 버전) sudo rm -fr /Library/Java/JavaVirtualMachines/jdk-9.jdk/ sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin sudo rm -fr /Library/Preferen..

[개발자 면접 질문] JAVA 기초 질문 모음 10개

개요 개발 면접에서 단골로 나오는 자바 질문들 10가지를 뽑아 정리했습니다. 질문 원본은 링크를 참조하세요. 답변은 실제 면접처럼 서술형으로 작성하였습니다. Q1. 자바의 특징 Q2. 객체지향 언어의 장점과 정의 Q3. 선호하는 IDE Q4. 클래스란 Q5. 객체란 Q6. 생성자란 Q7. 지역변수, 인스턴스 변수 Q8. 오버라이딩, 오버로딩의 차이 Q9. Private, Public 접근 제어자의 차이 Q10. 추상클래스, 인터페이스의 차이 Q1. JAVA의 특징 - 자바는 객체 지향 프로그래밍 언어입니다. - JVM 위에서 실행되기 때문에, 플랫폼에 의존하지 않고 실행이 가능합니다. - 고성능입니다(High Performance). 바이트코드로 변환되어 실행되기 때문입니다. - 멀티 스레딩을 지원합니다..

[개발자 면접 질문] JAVA 기초 질문 모음 Q11~20 (2편)

개요 개발 면접에서 단골로 나오는 자바 질문 2편입니다. 1편은 이전 포스팅을 확인하세요. 2019/06/19 - [[IT] 공부하는 개발자/JAVA] - [개발자 면접 질문] JAVA 기초 질문 모음 10개hobby-collect.tistory.com/123?category=909335 [개발자 면접 질문] JAVA 기초 질문 모음 10개 개요 개발 면접에서 단골로 나오는 자바 질문들 10가지를 뽑아 정리했습니다. 질문 원본은 링크를 참조하세요. 답변은 실제 면접처럼 서술형으로 작성하였습니다. Q1. 자바의 특징 Q2. 객� hobby-collect.tistory.com 목차 Q11. 배열과 리스트 (Array and List) Q12. 스트링, 스트링버퍼, 스트링 빌더 (String, StringBu..

[JAVA 메모리 트러블 슈팅] 콘솔에서 JVM Heap 메모리 추적하기 : jstat, jmap

자바와 힙 메모리 관리 자바는 기본적으로 자바가상머신, JVM위에서 구동한다. 많은 프로그래밍 언어중에서 자바가 특히 편리한 이유중 하나로 JVM의 GC (Garbage collecter) 를 들 수 있다. 할당되었던 Heap 메모리가 코드에서 더 이상 사용하지 않게 되면, GC는 이 힙 메모리를 자동으로 개간하여 다시 재사용이 가능한 메모리로 돌려보내준다. GC가 힙 메모리를 개간하는 속도보다 사용되는 속도가 더 빠르면, 그 때는 에러가 발생한다. 메모리 에러가 발생할 때 대처법 OutOfMemoryError // 힙 메모리가 부족할 때 발생하는 메모리 에러 StackOverflowError // 스택 메모리가 부족할 때 발생하는 메모리 에러 1) 일단 코드가 비효율적으로 불필요한 메모리를 소모하고 있..

[디자인패턴] 자바 싱글톤 Vs 스프링 싱글톤 패턴의 차이점

싱글톤 패턴이란 정의 클래스의 오브젝트 개수를 제한시키는 방법론으로, 하나의 클래스당 한 개의 특정 오브젝트만 존재하도록 하는 것이다. 싱글톤 패턴을 구현하여 얻을 수 있는 이점으로는, 불필요한 메모리 누수를 방지한다. 공통된 오브젝트를 사용해야 하는 상황에서 특정한 하나의 오브젝트만 사용하게 해 준다. (예: DBConnectionPool) 자바 싱글톤 패턴 구현방법 1) 생성자를 private으로으로 선언: 외부에서 클래스의 오브젝트를 생성할 수 없게 된다. 2) 참조는 static으로 정의: 어느 영역에서든 접근이 가능하도록 된다 이렇게 하면 클래스가 classloader에 의해 단 한번만 인스턴스화 되는 것을 이용하여 구현한다. Thread Safety를 보장하는 구현법 1. getter 메소드의..

[JAVA Collections API] 자료구조 요약: 구조/성능/용도

개요 이 포스팅에서는 자바 Collections API로 표현되는 자료구조들의 성능에 대해서 이야기하고자 한다. 성능은 시간 복잡도(Time Complexity)를 기준으로 하며, 발생할 수 있는 최대 복잡도를 가리키는 Big-O 노테이션으로 정의한다. 1. 자료 구조 성능 요약 2. 리스트 3. 셋 4. 맵 자료 구조 성능 요약 평균값인 빅-세타-노테이션과 최악의 경우인 빅-오-노테이션을 혼용해 표현하고 있으나 보통은 빅-오-노테이션이 보편적으로 사용된다. 리스트 List 인터페이스는 Collection 인터페이스를 상속한다. 리스트자료 구조는 삽입 순서(Insertion order)가 유지되며, 동기화 미지원(Non synchronized) 이라는 공통점을 가진다. 또한 리스트는 중복 값을 포함할 수..