본문 바로가기

language7

[JAVA] StringBuilder를 사용하는 이유 자바에서 문자열을 사용할 때 일반적으로 String을 사용합니다. String str = "문자열"; 변수 str의 값을 수정하려면, str = "수정된 문자열"; 이렇게 하면 수정된 것 처럼 보이지만 사실은 자바에서 String 객체는 수정이 불가능! 하기 때문에 새로운 String 객체를 만들어서 기존에 있는 값에 대입하고... 이게 계속 반복되기 때문에 메모리 낭비가 생기게 됩니다. 그래서 변경 가능한 StringBuilder 라는 클래스를 사용하여 한 객체로 문자열을 수정하고~ 삭제하고 등등이 가능해집니다! 다만 StringBuilder는 동기화를 지원하지 않기 때문에 멀티쓰레드 환경에서는 String이나 StringBuffer를 사용하는 것이 좋겠죠? 2022. 3. 9.
[JSP] "POST" 방식으로 보낸 데이터를 request.getParameter로 받아왔을 때 한글 깨짐 😡 DB에 insert하는 메서드를 테스트하고 있었는데, DB insert는 정상적으로 진행됐다. 그런데 select해보니 한글이 다 깨져있음...... DB문제인가? 아니 그렇다기엔 DB에서 insert할 땐 한글도 매우 잘 들어갔었다!! 그래서 client에서 던진 데이터를 request.getParameter로 찍어봤는데 저렇게 출력되는걸 확인... 열심히 구글링ㅎ😢 server.xml 설정도 바꿔보고, form 태그에 accept-charset = "UTF-8" 속성도 줘보고... 이클립스 설정에 UTF-8로 되어있는걸 확인했는데도 계속 한글이 깨졌다. 혹시나 해서 method를 GET으로 바꿔봤는데 매우 잘 됨..ㅎ 진작 GET으로 볼걸 아무튼 POST 방식으로 넘긴 데이터의 한글이 깨질 때는, r.. 2021. 8. 25.
[JAVA] 다형성 / instanceof 상속과 함께 🌸 자바의 꽃🌼 다형성입니다. 어떻게 보면 간단한 개념인데 또 하다보면 헷갈리는 개념이기 때문에 잘 이해하고 넘어가야겠습니다!! 1. 개념 -하나의 객체가 여러가지 타입을 가질 수 있는 것 -부모클래스 타입의 참조변수로 자식클래스 타입의 인스턴스를 참조할 수 있다. 예제 //부모 클래스 생성 class ParentClass { void print() { System.out.println("ParentClass의 print메서드"); } } //자식클래스가 부모클래스를 상속받음 class ChildClass extends ParentClass { void print() { System.out.println("ChildClass의 print메서드"); } void action() { System.. 2021. 8. 4.
[JAVA] Scanner 대신 Buffer를 사용해보자! BOJ에서 신나게 문제를 풀고 있던 나... 빠른 A+B라는 제목부터 의문을 가지게 되는 문제를 보게 된다. 빠른 A+B??? A+B면 A+B지, 빠른 A+B는 뭔데??? 🧐 왠지 모르게 앞으로 자주 볼 아이같으니 왜 저걸 사용하면 실행시간이 단축되는지! 알아보고 넘어가보자. Java에서 처음 입력하는 걸 배울 때, 100이면 100 Scanner를 사용했을 것이다. Scanner sc = new Scanner(); String text = sc.next(); 사용이 정말 간편하다. 그러나 Scanner의 경우 next()등의 메서드 내에서 여러가지 정규식을 검증하기 때문에 실행 속도가 느리다. 하지만 BufferedReader는 1. 정규식을 검증하지도 않고, 2. 문자를 입력받아 버퍼에서 한꺼번에 전.. 2021. 7. 30.