본문 바로가기
반응형

개발관련/JAVA8

JAVA) 메모리 누수 OutOfMemory: MetaSpace Cafe24 Jsp Tomcat을 사용하던 중 OutOfMemory오류가 발생하였는데, [톰캣이 설치된 경로]/tomcat/bin/catalina.sh 파일에 아래와 같은 옵션을 추가해 주었더니 해결되었다. JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+DisableExplicitGC" Reference 메타스페이스에 대한 설명 https://obv-cloud.com/41 Java - Metaspace란? Metaspace란? Metaspace는 Java .. 2023. 9. 5.
JAVA) Apache Poi 엑셀다운로드 - 페이지 레이아웃 설정하기 안녕하세요 오놀은 엑셀다운로드시 페이지 레이아웃을 설정하는 방법에 대해 알아보겠습니다. /* * 엑셀파일을 읽어서 workbook생성 * 신규파일을 생성하고싶다면 워크북 생성자에 파일객체를 넣지 않아도 됩니다. */ File file = new File("[엑셀파일의 경로를 입력해주세요.]"); XSSFWorkbook workbook = new XSSFWorkbook(file); Sheet sheet = workbook.createSheet(); //용지 여백설정 sheet.setMargin(PageMargin.TOP, 1.9); sheet.setMargin(PageMargin.BOTTOM, 1.9); sheet.setMargin(PageMargin.LEFT, 1.2); sheet.setMargin(Pa.. 2023. 8. 3.
JAVA) 프록시 & HTTPS 언어 : java 안녕하세요. 얼마전, WAS서버에서 프록시를 태워, 타사의 API서버로 연결하는데 있어 많은 어려움을 겪었었는데요, 딱 맞는 해답을 찾을 수 없어서 많은 고생을 했던 기억이 납니다.(불과 몇일전) 그 과정에서 제가 알게된 내용에 대해 말씀을 드리려고 합니다. 먼저 HTTPS의 기초, 프록시란 무엇인지에 대해 설명을 드리고, 문제 상황과 해결방법에 대해 말씀드리겠습니다. HTTPS와 HTTP는 무엇이 다를까요? HTTP는 HyperText Transfer Protocol의 약어입니다. HTML문서를 주고받는 통신 방식이라는 의미입니다. HTTPS는 Secure가 붙은것으로, 보안이 적용된 통신방식이라고 할 수 있겠네요. 보안을 유지하기 위해서 HTTPS는 추가적인 설정이 필요합니다. 가장.. 2021. 11. 15.
JAVA) apache poi - SXSSF NullPointer Exception 오류 해결방법 환경 AWS (리눅스, 도커) SPRING BOOT JAVA 1.8 문제상황 apache poi를 사용하던 중, 대용량 엑셀 다운로드를 구현할 필요가 있어, XSSF에서 SXSSF로 변경하였다. 그런데, 갑자기 발생하는 NullPointerException때문에 고생했다.. Workbook workbook = new SXSSFWorkbook(SXSSFWorkbook.DEFAULT_WINDOW_SIZE); sheet = workbook.createSheet("시트이름"); 두번째라인을 실행하면서 에러가 발생했다. 개발할 때는 윈도우에서 개발했기 때문에 별문제 없이 돌아갔지만, AWS에서 사용하고 있는 docker에서는 폰트 파일이 없어서 발생했다. XSSF를 사용했을 때는 문제가 발생하지 않았지만, SXS.. 2021. 8. 2.
JAVA) apache poi, 엑셀 파일 생성 및 다운로드 하기 안녕하세요. 이번 프로젝트에서는 유난히도 엑셀관련한 작업을 많이 하게 되었습니다. 그래서 준비한 포스팅! 이번에는 엑셀로 데이터를 출력하거나 엑셀 데이터를 읽을 때 사용할 수 있는 라이브러리인 poi에 대해 포스팅 하는 시간을 가져보겠습니다! 자세한 사항은 apache poi 공식사이트를 확인해주세요. Apache POI - the Java API for Microsoft Documents Apache POI - the Java API for Microsoft Documents Project News 20 January 2021 - POI 5.0.0 available The Apache POI team is pleased to announce the release of 5.0.0. This release.. 2021. 6. 26.
JAVA) 배포란 무엇이고 어떻게 할까? jar? war? java를 사용하여 구현한 프로그램을 알맞은 형태로 변환하여 환경에 맞게 설정해야 만든 프로젝트를 실행시킬 수 있는데, 이 일을 배포라고 한다. 이 배포를 통해서 소중한 프로그램을 세상에 알릴 수 있다. 그렇다면 배포는어떻게 하는 것일까? 1. 프로젝트 추출 방법(Export) jar는 java archive의 줄임말이며, war는 web Application archive의 줄임말이다. archive는 압축일을 의미하므로 jar는 자바 압축파일, war는 웹 어플리케이션 압축파일이라고 할 수 있다. 자바 어플리케이션 추출 자바 어플리케이션은 java만 설치되어 있다면 실행할 수 있는 프로그램이다. 독립적으로 실행될 수 있으며, 데몬(백그라운드에서 자동 수행되는 작업을 수행하는 프로그램)이 이에 해당한다.. 2020. 7. 2.
JAVA) 디자인 패턴 Design Pattern 디자인 패턴을 사용하는 이유 프로그램을 개발하는 과정에서 빈번하게 발생하는 디자인상의 문제를 정리해서, 상황에 따라 간편하게 적용해서 사용할 수 있는 패턴 형태로 만든 것이다. 디자인 패턴의 종류 - Strategy pattern 교환가능한 행동을 캡슐화하고 위임을 통해서 어떤 행동을 사용할지 결정한다. - Observer pattern 상태가 변경되면 다른 객체들에게 연락을 돌릴 수 있게 한다. - Decorator pattern 객체를 감싸서 새로운 행동을 제공한다. - Factory pattern 생성할 구상 클래스를 서브 클래스에서 결정한다. - ? AbstractFactory pattern 클라이언트에서 구상 클래스를 지정하지 않으면서도 일군의 객체를 생성할 수 있도록 한다. - Singlton.. 2019. 11. 26.
JAVA) 자바의 작동 원리 이클립스 툴은 이용할 줄 알지만, 자바를 잘 모르신다구요? 자바를 처음 접하는데 자바가 무엇인지 모르겠다구요? 그렇다면 이번 포스팅이 도움이 될 것 같네요. 자바가 어떻게 소스코드를 실행하는지 과정에 대한 과정을, 너무 deep 하지 않게 설명해드리겠습니다! 자바는 '운영체제에 상관없이 사용될 수 있는 언어'라는 말을 들어보셨나요? 가상머신을 사용하여, 운영체제의 도움없이 자체적으로 메모리를 할당하여 프로그램이 운영될수 있도록 합니다. 또한 바이트 코드를 만든 뒤 프로그램을 실행하기 때문에 여러 운영체제에서도 사용이 될 수 있는데요 그 이유는 무엇일까요? 자바의 작동원리를 간단하게 말씀드리겠습니다. java compiler는 소스파일을 컴파일하여 바이트코드로 변환시켜줍니다. 그리고 자바 가상머신은 필요한.. 2019. 7. 15.
반응형