JAVA

· JAVA
apache 라이브러리 중 Executor가 있다. Shell이나 cmd 커맨드를 수행하기 위해 사용하는 외부 라이브러리인데 개발환경에서는 잘 되던 코드가 사내 임시 배포를 위해 portable로 export 하여 동작하던 중 문제가 발생하였다. 로그에 에러가 기록되지않아 겨우 문제의 지점을 찾았다. DefaultExecutor executor = new DefaultExecutor(); executor.setWatchdog(new ExecuteWatchdog(ExecuteWatchdog.INFINITE_TIMEOUT)); // 문제의 원인 혹시 다른 사람은 잘 동작한다고 할 수도 있는데 나는 저 executor로 임베디드 파이썬을 수행시켰다. watchdog은 프로세스가 일정시간동안 동작하지 않을 경우..
· JAVA/yFiles
회사에서 생각보다 괴랄한 라이브러리를 사용하게 되었다. 그래프를 보여주기 위해 사용하는 라이브러리로 다양한 구조로 데이터를 시각화할 수 있는 라이브러리다. yFiles for Swing 2.5.0 버전인데 유료 라이브러리다. 공식 홈페이지 : https://www.yworks.com/products/yfiles yFiles product details Diagramming with yFiles: Modern graph drawing libraries for creating, editing, viewing, and automatically arranging diagrams and networks. On nearly any platform or technology. www.yworks.com stackove..
· JAVA
이전에 작성했던 https://developer-youn.tistory.com/51 에 있던 Advanced 질문들을 공부하면서 간단하게나마 답변을 달아보았습니다. 역시 심화과정이라 그런지 확실하게 모르거나 애매한 부분들이 많아 10개의 항목을 간단하게 적는 것도 시간이 적잖게 들어갔습니다. 질문이나 피드백은 댓글로 부탁드립니다! Q1. 직렬화(Serialize)란 무엇인가? A. 자바 시스템에서 사용하는, JVM에 올려진 객체, 데이터를 외부에서 사용할 수 있도록 byte 형태로 데이터를 변환하는 행위입니다. Q2. Concurrent HashMap이란? A. HashMap은 thread-safe하지 않지만 ConcurrentHashMap은 thread-safe 합니다. Q3. ArrayList와 Li..
· JAVA
이전에 작성했던 자바 인터뷰 질문 - 기본기 파트를 마저 작성해보았습니다.(이전 글 : https://developer-youn.tistory.com/51)피드백은 댓글로 부탁드립니다. 11. Typecasting(형 변환)이 무엇인가요? 부모와 자식간의 상속으로 예시를 들어서 설명해주세요. A : 부모 클래스와 자식 클래스간의 형변환은 upcasting과 downcasting이 있을 수 있습니다. 자식 클래스에서 부모 클래스로의 형변환을 upcasting이라 합니다. 자식은 이미 부모 클래스의 모든 데이터를 가졌기 때문에 아무런 문제가 없습니다. 그러나 부모 클래스에서 자식 클래스로의 downcasting은 이미 자식 클래스가 부모 클래스보다 더 많은 데이터를 가지기 때문에 에러를 발생시킬 수 있습니다..
· JAVA
이번에 괜찮은 블로그 하나를 medium이 추천해줬습니다. https://ds73306.medium.com/must-know-java-interview-questions-7c7208a10669 Must know Java interview questions In this article we will see some of the must know and frequently asked java questions in interviews, This is a compilation with my personal… ds73306.medium.com 인터뷰를 떠나서 내 지식을 평가하는데 괜찮을 것 같고 모르는 부분들은 공부하면 상당히 도움이 될 것 같아 정리합니다. 피드백이나 문의는 댓글로 부탁드립니다. Q1. JDK..
· JAVA
나름 정리한다고 해봤는데 너무 어렵다.. 계속 보완을 해야한다. 가비지 컬렉터는 두 가지 전제 조건(Weak Generation Hypothesis)을 기반으로 만들어졌다 대부분의 객체는 금방 접근 불가능 상태(unreachable)가 된다. 오래된 객체에서 젊은 객체로의 참조는 아주 적게 존재한다. JVM의 종류가 많은 만큼 GC또한 다양한 벤더가 배포했다. 그래도 모든 GC는 다음 원칙을 지켜야한다. GC알고리즘은 반드시 모든 Grabage를 수집해야 한다. 아직 살아있는 객체는 절대 수집해서는 안된다. 아직 살아있는 객체를 수집하면 Segmentation Fault가 일어나거나 프로그램 데이터가 조용하게 망가진다. Segmentation Fault Segfault로 줄여서 말하기도 한다. 프로그램이..
· JAVA
- 피드백이나 문의는 댓글 부탁드립니다. 0. 이 글을 작성하기 시작한 이유 회사에서 인턴을 하시는 분이 나에게 질문을 했다. "JAVA에서 string을 보통 string str = "abc"; 이런 식으로 표현하는데 분명 레퍼런스 타입이면서 new()로 표현을 안 하면 메모리에서 언제 제거될까요? 이 방법이 메모리에 적합한 방법일까요?" 전에 StringBuilder에 대해 간단하게 글을 작성한 적이 있었다.(https://developer-youn.tistory.com/14) 근데 new()로 하는 것과 ""로 하는 것에는 정확히 어떤 차이가 있을까 1. 과거 기억 소환 일단 기억을 더듬어보자. new 키워드를 통해 객체를 생성하면 heap영역에 할당이 되고 heap 영역에 존재하는 것들은 GC의 ..
· JAVA
접근제어자는 4가지가 있다. default public protected private 1. default 필드나 메서드에 접근제어자를 지정해주지 않는 경우 내부적으로 default 접근제어자를 지정해준다. default 접근제어자로 지정된 필드, 메서드는 해당 패키지 내에서 자유롭게 접근이 가능하다. 2. public 어감 그대로 어디서든 자유롭게 접근할 수 있다. 3. protected 해당 패키지와 해당 클래스를 상속받은 다른 패키지 내 클래스에서도 접근할 수 있다. 4. private 해당 클래스를 제외하고는 어디서도 접근할 수 없다. 아래 그림과 함께 보면 이해가 조금 더 쉬울 수 있다. 이제 의문이 들기 시작한다. 왜 코드를 다른 곳에서 못쓰게 막아야 할까? 이 의문에 대한 내 생각을 간단하게..
· JAVA
Java로 프로그래밍하는 경우 IDE의 선택지가 좀 있는 편인데 저는 Eclipse를 사용합니다. 사람들은 그 무거운 거 왜 쓰냐 차라리 IntelliJ 쓰지 라고 하는데 회사에서도 이걸로 개발 읍읍 적응되고 단축키도 알아가니 생각보다 좋습니다. 무튼 Eclipse 시리즈의 첫 글로 디버깅에 대해 이야기를 해보고자 합니다. 학부 때 학교에서 잘 안 알려주는 것 중 하나가 디버깅입니다. 맨날 디버깅하라고 하는데 알려주지는 않더라고요. 그래서 정말 간단한 정도로만 여기에 사용법 정도로 올릴테니 반드시 읽어주셨으면 좋겠습니다. 근데 디버깅이 뭔지 모를 수 있어요. 저도 정의는 잘 몰라요.. 꺼무.. 아니 나무위키에서 설명된 글을 옮겨봤습니다. 디버그(Debug)는 프로그래밍 과정 중에 발생하는 오류나 비정상적..
· JAVA
GC관련 혹은 JVM 관련해서 살펴볼 때 -XX:+~~~ 와 같은 문장을 본 적이 있을 것이다. 이게 도대체 뭔지 궁금해서 검색을 해보았더니 JAVA Hotspot VM에서 사용하는 Option설정 예약어였다. 아래 내용은 오라클에서 제공하는 Hotspot VM의 vmoptions 페이지에서 일부를 옮겨와 번역하였다. -XX란? 원문 - Options that begin with -X are non-standard (not guaranteed to be supported on all VM implementations), and are subject to change without notice in subsequent releases of the JDK. - Options that are specified..
Berno
'JAVA' 카테고리의 글 목록 (5 Page)