BE/Java

· BE/Java
이 포스팅에서 작성하는 내용은 EFFECTIVE JAVA(이펙티브자바) 에서 발췌하였습니다. 아이템 2. 생성자에 매개변수가 많다면 빌더를 고려하라. 빌더를 사용하기 전의 방법 1) 점층적 생성자 패턴 필수 매개변수만 받는 생성자, 필수 매개변수와 선택 매개변수 1개를 받는 생성자, 필수 매개변수와 선택 매개변수 2개를 받는 생성자, ... 과 같이 매개변수를 달리하여 생성자 사용하는 방법. → 매개변수의 갯수가 많아지면 관리하기 어려워 진다. (가독성 저하, 매개변수의 갯수, 순서 실수 등) public class Human{ private String name;// 필수값 private int age; private String email; // 생성자 1 public Human(String name..
· BE/Java
들어가기에 앞서... 필자는 자바 웹 개발자로 근무한지 2년 차인데 자바에 대해서 더욱 효율적으로 사용하고 싶어 해당 서적을 구매하였다. 공부한 내용은 블로그에 포스팅하며 정리하는 식으로 진행할 예정이다. Q. 이펙티브자바를 선택한 이유? A. 워낙 유명한 책 중 하나이며, 자바 개발자라면 필수 서적이라는 주변 개발자 지인들의 강력한 추천으로 구매하게 되었다. 이 포스팅에서 작성하는 내용은 EFFECTIVE JAVA(이펙티브자바) 에서 발췌하였습니다. 아이템 1. 생성자 대신 정적 팩토리 메서드를 고려하라. 자바에서 객체를 생성할 때 public 생성자를 이용하는 방법도 있지만 정적 메서드 팩토리를 이용하면 더욱 효율적으로 사용할 수 있다. 물론, 정적 팩토리 메서드에도 단점은 존재한다. - 정적 팩토리..
· BE/Java
이전 포스팅에서 CustomUsernamePasswordAuthenticationFilter를 생성하여 JSON으로도 로그인을 받을 수 있게 하였다. (참고 : https://ajdahrdl.tistory.com/260) 그런데, postman을 이용해 테스트 하는 도중 UsernamePasswordAuthenticationFilter를 타지 않는 현상을 발견했다. 확인을 해보니 cors가 비활성화가 되어 있었다. cors비활성화를 풀고 설정을 추가해서 정상작동을 확인하였다. 이거 하나때문에 몇 일을 삽질했었다...;; 결론 : cors설정을 해서 제대로 통신될 수 있도록 하자. (소스는 위의 링크에 있습니다.)
· BE/Java
안녕하세요 이번 포스팅에서는 간단하면서도 모르면 헤맬 수 있는 내용을 적어보겠습니다. export > runnable jar file 을 하려고 하면 [Launch configuration]목록에 없는 경우가 있습니다. 그럴 때는, 해당 프로젝트의 main() Java 파일에서 Java Application으로 실행을 한 번 해줘야 합니다. 그리고, 다시 확인하면 목록에 main()이 들어있는 Java 파일이 나타납니다. 참고 블로그 : https://iwbtbitj.tistory.com/61
· BE/Java
회사 운영중인 솔루션에서 특정 데이터의 인쇄 기능(Jasper Reports)이 작동되지 않는다고 해서 확인해봤다. 원인으로는, 데이터에 포함되어있는 유니코드 문자 때문이다. 문자열을 XML 형식으로 파싱 할 때 유니코드 문자가 포함되면 오류가 발생한다고 한다. 그러므로 XML로 파싱하기 전에 아래와 같이 유니코드 문자를 지워주는 로직을 추가하여 해결했다. xmlString = xmlString.replaceAll("[^\\u0009\\u000A\\u000D\\u0020-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFF]+", ""); 참고 블로그 : https://server0.tistory.com/1
· BE/Java
abstract = 추상 추상메소드 = 빈껍데기 ex) public abstract String getName();
· BE/Java
안녕하세요. 이번 포스팅에서는 Java에서 메모리가 할당되는 영역인 Stack과 Heap에 대해서 다뤄보겠습니다. 프로그래밍 언어에서 변수, 객체가 선언되면 해당 변수는 운영체제의 메모리를 받아서 사용합니다. Java에서는 JVM이라는 기능이 이 역할을 하고 있습니다. JVM OS의 메모리 영역에 접근해서 Java의 메모리를 관리하는 가상의 프로그램 GC(Garbage Collector) Java에서 메모리 관리를 해주는 기능 메모리 영역에서 사용되지 않는 영역을 탐지해서 할당받은 메모리를 해제해줌 Java의 메모리 영역 Stack - 정적으로 할당된 메모리 영역 - 기본 자료형의 변수, 지역 변수가 Stack 메모리에 저장되며, 값도 같이 Stack 메모리에 저장 - Object를 가리키는 변수는 St..
· BE/Java
Java에서 전역변수를 선언할 때 일반적으로 static을 붙여야 사용이 가능하기 때문에 전역변수에 많이 사용한다. 하지만, 단순히 전역변수를 선언할 때 사용하는 것이 아닌 static의 정확한 의미와 사용방법을 알아보자. 1. Static static은 정적인, 고정된 이라는 뜻을 가지고 있으며, 변수와 메소드에 static을 사용하여 정적변수와 정적 메소드로 만들 수 있다.이를 정적 멤버(정적변수와 정적메소드)라고 한다. 2. 정적 멤버 객체들은 Heap 영역에 할당되지만, static으로 선언한 정적 멤버들은 static 영역을 할당받는다. 1) Static - 주로 클래스들이 할당받는 영역 - GC(Garbage Collector) 가 관여하지 않는 영역 - 모든 객체가 메모리를 공유 2) Hea..
멍목
'BE/Java' 카테고리의 글 목록 (15 Page)