자바

· JAVA
0. Introduction 자바를 공부하면서 이제 막 졸업한 학부생이 기존 지식에서 벗어나 조금 더 잘 사용하기 위해 어떤 걸 공부하면 좋을지 개인적으로 생각해봤습니다. 어디까지나 개인의 경험과 생각으로 모두에게 적합하다고는 할 수 없습니다. 피드백은 댓글로 부탁드립니다. 1. 자바의 버전 학부생때는 개발을 하면서 자바의 버전에 크게 신경을 쓰지 않았습니다. 왜냐하면 책이나 교수님이 받으라는 버전만 받으면 되는 거였거든요. 근데 왜 그 버전을 사용해야 할까요? 그건 자바의 버전에 따라 책이나 수업에서 사용하는 API가 변하기 때문입니다. 즉 우리는 자바의 버전에 따라 더 좋은 API를 사용할 수 도 있습니다. 하지만 우리는 회사에서 일을 하죠. 자바의 버전은 정해져있고 그 버전에 맞춰서 개발을 해야 하..
저번 글에 이어서 계속해서 사용법을 알아보자 https://developer-youn.tistory.com/66 yFiles 2.5.0 사용기(1) 회사에서 생각보다 괴랄한 라이브러리를 사용하게 되었다. yFiles for Swing 2.5.0 버전인데 유료 라이브러리다. 공식 홈페이지 : https://www.yworks.com/products/yfiles yFiles product details Diagramming wi.. developer-youn.tistory.com 아마 앞에서 한 내용들을 잘 응용하면 노드가 20개 넘게 달린 그래프를 그렸을 수도 있다. 내가 그 그래프들의 정보를 모두 획득하려면 어떻게 해야할지 코드를 통해 알아보자. 방법이 2가지가 있는데 내가 가장 정감이 가는 방법 먼저 ..
· 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
이 글을 쓰면서 너무 중구난방 한 글을 작성하지 않나 하는 생각이 머릿속을 계속 접근하고 있습니다.. class 파일의 내부 정의 키워드를 넣지 않는 등 일부 당장 필요가 없다고 판단되는 부분들을 임의로 삭제한다고 삭제하였는데 과연 좋은 판단이었는지에 대해서는 더 생각해보고 이 글을 수정하겠습니다. 0. 들어가며 JVM은 Java Virtual Machine의 약자이다. Virtual Machine이라는 단어에 주목해야한다. VM이라는 건 프로그램을 실행하기 위해 물리적 머신(즉, 컴퓨터)과 유사한 머신을 소프트웨어로 구현한 것을 말한다고 할 수 있다. 요즈음에 와서는 JAVA의 목적성에서 변색된 개념(왜 변색되었다고 말하는지는 추후 조사하여 작성하도록 하겠다..)이긴 하지만 자바는 원래 WORA(Wri..
· JAVA
org.eclipse.ui.internal.console.IOConsolePartitioner 자바로 GUI프로그램(SWT, JFace, RCP)을 만들 때 IOConsole을 붙여 사용하는 경우가 있는데 해당 버퍼사이즈가 초과되면 OOM(Out Of Memory)가 나타난다. 이를 설정하기 위해 해당 클래스에는 setWaterMarks라는 함수가 있다. 해당 함수의 javadoc과 함수 형태는 다음과 같다. /** * Sets the text buffer size for this console. The high water mark indicates * the maximum number of characters stored in the buffer. The low water mark * indicates..
· JAVA
자바에서는 문자열 대소문자 변환에 대해 함수를 지원해줍니다. toUpperCase() javadoc에서 가장 첫 문장을 가져왔습니다. Converts all of the characters in this String to upper case using the rules of the default locale. String에 있는 모든 문자를 default locale의 규칙을 기반해 대문자로 변환해줍니다. 즉 모든 문자를 대문자로 바꿔준다는겁니다. toUpperCase함수의 반환값은 String입니다. 사용법은 다음과 같습니다. String testStr = "PeterJames"; String testStrUpperCase = testStr.toUpperCase(); testStrUpperCase에는 ..
· JAVA
blogs.sap.com/2019/10/07/does-32-bit-or-64-bit-jvm-matter-anymore/ Does 32-Bit or 64-Bit JVM matter anymore? | SAP Blogs 0 Likes 1,907 View 0 Comments blogs.sap.com 위 블로그에 정리가 잘 되어있다고 생각해 나름 요약하며 번역을 해 보았다. 일단 대부분 사람들은 64비트가 32비트보다 크다고 생각해서 64bit JVM의 성능이 32bit JVM보다 훨씬 성능이 좋다고 생각한다. 아쉽게도 64bit JVM이 32bit JVM보다 성능 저하를 보일 수 있다. 퍼포먼스에 대한 문제점이 있다면 왜 64bit JVM을 사용하는가? 32bit JVM 의 최대 메모리 공간은 4gb이다. 그..
· JAVA
1. 타임스탬프란? 특정 시간에 대해 일정한 포맷으로 기록을 한 문자열을 말한다. 일반적이라고 하면 애매하지만 YYYYMMDDHHmmss 포맷을 생각한다면 2019년 4월 18일 15시 30분 23초는 20190418153023 로 기록될 수 있다. 2. 그렇다면 자바에서는 어떻게? Date today = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddhhmmss"); String timeStamp = formatter.format(today); SimpleDateFormat의 생성자 파라미터에 원하는 포맷을 넣어준다. Oracle의 공식 문서에서 말하는 포맷은 다음과 같다. ※ HH는 24시, hh 는 12시로 나온다.
· JAVA
동일한 데이터 타입을 가진 것들은 모은 집합을 컬렉션이라 부른다. 컬렉션은 알아두면 정말 잘 쓰는 것들이고 그러기 때문에 기본적인 것들이다. 자료구조를 어느 정도 공부한 후 보면 이해가 빨리 된다. 자료구조를 쉽게 쓰라고 만들어 놓은 것들이기 때문에... 아래 표를 살펴보자. 출처 : https://www.javatpoint.com/collections-in-java이고 상당히 정리가 잘 되어있는 사이트이다. 자바에서 제공하는 컬렉션 프레임워크는 아래와 같은 구조를 가진다. 위 표를 말로 풀어 쓰면 아래와 같이 정리가 된다. Collection인터페이스는 Collection을 순회(탐색)하기 위한 Iterable 인터페이스를 상속받고 있다.(인터페이스가 인터페이스를 상속받는 경우는 구현이 아닌 상속으로 ..
· JAVA
SWT를 사용하여 GUI를 만들다 보면 마우스 스크롤 이벤트를 막아야할 때가 있습니다. 막기 위한 코드는 아래와 같습니다. swtObject.addListener(SWT.MouseVerticalWheel, new Listener() { @Override public void handleEvent(Event event) { // TODO Auto-generated method stub event.doit = false; } }); 막아야 하는 객체(swtObject)에 대해 리스너를 등록하고 막아야 하는 이벤트인 SWT.MouseVerticalWheel에 대해 설정해줍니다.
Berno
'자바' 태그의 글 목록