반응형

Java/자바 알아두면 좋은 내용 31

Future of JVM - 자바, 코틀린, 스칼라 그리고 JVM의 미래

인터넷에서 이곳저곳 탐방하다가 꽤 흥미로운 아티클들을 발견했다. 결론: 그냥 하던거 열심히 공부하자. '_^ https://medium.com/@frietziek/the-future-of-the-jvm-java-scala-and-kotlin-846c6f2f2491 The future of the JVM: Java, Scala and Kotlin I’ve been working with many different programming languages throughout my software engineer career, but Java was always there in the mix. medium.com https://betterprogramming.pub/a-new-future-for-java-b10..

Java의 Throwable에 대해서

1. Error클래스를 상속하는 예외 클래스 개발자가 해결할 수 없는 심각한 오류를 의미한다. 하드디스크에 물리적 오류가 생기거나, 혹은 가상머신이 오류가 발생했을 경우가 해당된다. 2. RuntimeException 클래스를 상속하는 예외 클래스 우리가 자주보는 예외클래스들이다. NPE라거나, ArrayIndexOutOfBoundsException같은 것들이 속한다. 3. Exception클래스만 상속하는 예외 클래스 가장 많은 것이 이곳에 속한다. 반드시 try catch로 잡아줘야 한다. 추가 팁: 직접정의하는 예외클래스는 모두 Exception클래스를 상속받아야만 한다.

자바 클래스 로딩 절차

클래스 로딩 절차 1) JRE 라이브러리 폴더에서 클래스를 찾는다. 2) 없으면, CLASSPATH 환경 변수에 지정된 폴더에서 클래스를 찾는다. 3) 찾았으면, 그 클래스 파일이 올바른 바이트코드인지 검증한다. 4) 올바른 바이트코드라면, Method Area 영역으로 파일을 로딩한다. 5) 클래스 블록이 있으면 순서대로 그 블록을 실행한다. 6) 클래스 안에 static block (스태틱 블록)들이 있으면 순서대로 그 블록을 실행한다.

자바 static 블록, 인스턴스 블록이란 무엇인가?

uoonleen.tistory.com/6 [Java] 스태틱 블록 (static block), 인스턴스 블록 (instance block), 생성자 [Java] 자바 스태틱 블록 (static block), 인스턴스 블록 (instance block), 생성자 1. static block (스태틱 블록) -클래스가 로딩되고 클래스 변수가 준비된 후 자동으로 실행되는 블록 - 한 클래스 안에 여러.. uoonleen.tistory.com easy16.tistory.com/161 static 블록의 활용 static 블록은 객체가 생성되거나, 클래스 참조가 발생하는 경우 한번 호출 된다. (static 메소드 또는 static변수 참조) 초기화 블럭(initialization block) 1, 클래스 초기화..

제너릭 메소드의 선언부에 대해

제너릭 메소드의 선언부에 대해 https://devlog-wjdrbs96.tistory.com/201 [Java] 제너릭 메소드(Generic Method)란? 제너릭 메소드 제네릭 메소드는 메소드의 선언 부에 적은 제네릭으로 리턴 타입, 파라미터의 타입이 정해지는 메소드이다. 제너릭에 대한 예시를 보면서 이해해보자. public class Student { static T nam devlog-wjdrbs96.tistory.com https://atoz-develop.tistory.com/entry/JAVA-%EC%A0%9C%EB%84%A4%EB%A6%ADGenerics-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%99%80-%EB%A9%94%EC%86%8C%EB%93%9C JAVA 제네릭(G..

유틸리티 클래스란 무엇인가?

유틸리티 클래스란 무엇인가? https://morningcoding.tistory.com/entry/Java15-%ED%81%B4%EB%9E%98%EC%8A%A4-%EB%B3%80%EC%88%98-%ED%81%B4%EB%9E%98%EC%8A%A4-%EB%A9%94%EC%84%9C%EB%93%9C%EC%99%80-%EC%9C%A0%ED%8B%B8%EB%A6%AC%ED%8B%B0-%ED%81%B4%EB%9E%98%EC%8A%A4 Java15 클래스 변수, 클래스 메서드와 유틸리티 클래스 일련번호를 부여하는 Id 클래스 생성 class Id를 생성. Id 인스턴스를 생성할 때마다 int형 변수 number이 증가. String형 변수: nickname, password, phoneNumber nickname과..

자바 헷갈리는 내용/ 접근제어자와 final 클래스와 메서드

접근제어자를 별도로 설정하지 않는다면 접근제어자가 없는 변수, 메소드는 default 접근제어자가 되어 해당 패키지 내에서만 접근이 가능하다. 접근제어자가 protected로 설정되었다면 protected가 붙은 변수, 메소드는 동일 패키지내의 클래스 또는 해당 클래스를 상속받은 외부 패키지의 클래스에서 접근이 가능하다. final 이라는 예약어가 붙은 클래스와 메소드는 상속과 오버라이드가 막히게 된다.

객체지향 디자인패턴

dailyheumsi.tistory.com/148?category=855210 [디자인 패턴 1편]. 디자인 패턴 개요 1. 디자인 패턴이란 디자인 패턴은 소프트웨어 공학론 안의 좋은 코드를 설계하기 위한 일종의 설계 디자인 방법론이다. 그렇다면 좋은 코드란 무엇인가? 좋은 코드란, 가독성, 간결함 등 여러 dailyheumsi.tistory.com 1편부터 시작해서 정말 잘 나와있다. SOLID 원칙이라는걸 블로그 돌아다니다가 간간히 보기만 했었는데, 이게 객체지향의 5대원칙이라니... 이런것도 모르고 상속,캡슐화,다형성만 알면 끝이라고 생각했다니... 디자인 패턴이 잘 설명되어 있다. jdm.kr/blog/235 프록시 패턴(Proxy Pattern) :: JDM's ..

객체지향 UML

blog.naver.com/PostView.nhn?blogId=1ilsang&logNo=221104669002&parentCategoryNo=&categoryNo=59&viewDate=&isShowPopularPosts=true&from=search Java 객체지향 디자인 패턴] 1. 객체지향 모델링 / UML, 클래스 다이어그램, 연관 관계, 일반화 관계, Java 객체지향 디자인 패턴] 1. 객체지향 모델링 / UML, 클래스 다이어그램, 연관 관계, 일반화 관계, ... blog.naver.com 재밌게 잘 정리되어 있다.

자바 리플렉션

medium.com/msolo021015/%EC%9E%90%EB%B0%94-reflection%EC%9D%B4%EB%9E%80-ee71caf7eec5 자바 Reflection이란? 많은 입문용 자바 서적에서 잘 다루지 않는 Reflection이라는 개념에 대해서 알아보려고 합니다. medium.com 책에서는 리플렉션을 잘 다루지 않는다. 사실 어느 경우에 사용하는지 아직도 감이 잘 안잡힌다. 다만 흥미로운 기능인 것은 맞는 것 같다. 위의 블로그에 아주 잘 설명되어 있다. 예시들도 이해하기 쉽다.

내 ip와 도메인 ip 가져오기. 자바 코드

package sec06.exam01_inetaddress; import java.net.InetAddress; import java.net.UnknownHostException; public class InetAddressExample { public static void main(String[] args) { try { InetAddress local = InetAddress.getLocalHost(); System.out.println("내 컴퓨터 ip 주소: "+ local.getHostAddress()); InetAddress[] iaArr = InetAddress.getAllByName("www.naver.com"); for(InetAddress remote: iaArr) { System.ou..

자바 네트워킹 socket 기본 코드 <서버./클라이언트>

클라이언트쪽 기본 코드 간단한 기본 예제이다. package sec07_exam02_data_read_write; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.InetSocketAddress; import java.net.Socket; public class ClientExample { public static void main(String[] args) { Socket socket = null; try { socket = new Socket(); System.out.println("[연결 요청]"); socket.connect(new InetSocketAddress("..

JVM의 메모리구조(가비지 컬렉션)/ 자바 메모리 구조

shs2810.tistory.com/5?category=670113 가비지 컬렉션(Garbage Collection)??? 자바 공부하면서, 앞에서도 메모리 구조 정리하면서 가비지, 가비지 이야기가 많은데,, 정확히 어떤 동작을 하는지, 어떤 것을 처리하는지 몰라서 찾아보았습니다. 1. 가비지 컬렉션 (Garbage Collec shs2810.tistory.com shs2810.tistory.com/4?category=670113 JVM 메모리 구조 JVM 메모리 구조는 어떤가... 1. JVM 메모리 구조 Method Area Heap Stack PC 레지스터 Native Method Stacks 1. Permanent Generation 2. New / Young Generation 3. Old Ge..

out of memory error ... 흔히 OOME에 대해

STACK 예외처리를 알아보던 중에 OUT OF MEMORY ERROR를 공부하게 되었는데, 아주 잘 정리된 블로그를 발견했다. JVM까지 연결시켜서 설명해주는데, 정말 내용이좋다. 참고로 자료구조와 함께 배우는 알고리즘 입문(자바편)의 136page의 코드에서 OOME에 대해 나온다. www.nextree.co.kr/p3878/ Java 프로그래밍: Out Of Memory 오류 Java로 소프트웨어를 개발하는 사람이라면 누구나 한번쯤 Out Of Memory Error(이하 OOME)를 만나 보았을 것이다. OOME의 경우 Java의 다른 Error와 다르게 원인과 대응을 하기가 쉽지는 않다. 경험에 비추어 www.nextree.co.kr

java 키워드 중 새로 배운것. assert, native, strictfp, volatile

자바 키워드를 나열해놓은 것을 따라 읽다가 처음 본게 있어서 적어본다. assert, native, strictfp, volatile 보통 널리 알려진 자바 기본 서적에서도 이걸 다루는 건 못봤다. 적어도 내가 읽은 책들에 한해서^^ native 같은 경우는 자바에서 다른 언어를 사용할 수 있게 만들어주는 키워드라고 한다. mommoo.tistory.com/71 여기에 진짜 잘 설명되어있음.. JVM은 만능이라고만 믿어왔는데, 운영체제에 깊게 접근하지 못해서 결국에는 운영체제에 깊은 접근이 가능한 언어를 사용하기 위해 JNI를 사용해서 native 키워드가 사용되는 것을 보면, 결국에 만능은 없는듯하다. JAVA - JNI 사용하기 오늘 포스팅은 Java JNI ( Java Native Interface..

반응형