BufferedReader, StringTokenizer 는 문자열로 활용하기 위하여 사용. BufferedReader를 사용하는 것이 Scanner를 사용하는 것보다 빠르다.
BufferedReader는 문자열에 최적화 되어 있음.

BufferedReader
readLine() 입력값으로 들어온 데이터를 한줄로 읽어서 String으로 바꾸는 메소드 /단, 무조건 한줄만 읽는다

close() 입력작없이 끝나면 close 로 입력스트림을 닫고 사용하던 자원을 해제
+ 추가적으로 BufferedReader를 사용하려면 예외처리를 해주어야한다 IOException throws처리 

BufferedWriter
write() 출력할 내용 담기
flush() 버퍼를 비워내는 동시에 콘솔에 출력 /write()만 사용한다고 콘솔에 출력되는게 아니라, 반드시 flush를 써줘야햐 한다
close() 출력이 끝나면  close로 스트림을 닫음

StringTokenizer
BufferedReader는 잘라서 배열과 같이 인덱스를 사용하여 접근하여 사용.
StringTokenizer는 공백이 있다면 뒤에 문자열이 공백 자리를 땡겨 채우도록 한다.
StringTokenizer가 BufferedReader보다 빠르게 사용될 수 있다.
문자열을 자르게 위해 split을 사용할땐, split은 정규식을 기반으로 자르는 로직으로서 내부는 복잡하다. 그에 비해 StringTokenizer의 nextToken()메소드는 단순히 공백 자리를 땡겨 채우는 것이다. 그렇기 때문에 속도 차이가 날 수 밖에 없다.
정규식이나 인덱스 접근과 같은 처리가 필요없다면 StringTokenizer를 사용하는 것이 효율적이

'Back Dev > JAVA' 카테고리의 다른 글

Static (정적변수와 메소드)  (0) 2021.08.06
JAVA환경에서 CMD 명령어 실행  (0) 2020.11.05
날짜비교  (0) 2020.03.31
JAVA 문자열비교  (0) 2019.07.26
파일확장자 추출(부제: 문자열자르기)  (0) 2019.07.04

static 변수

1. 항상 값이 변하지 않는 경우 메모리 이점이 있음

 > 변수에 Static을 선언하면 JAVA는 메모리 할당을 한번만 할당하여 메모리 사용에 이점이있음

 

* 선언한 변수의 값이 변경되지 않길 원한다면 static 앞에 final을 선언하면 됨

  > final 선언시 선언한 값을 변경하지 못하게됨, final 선언된 값을 변경 할 경우 예외발생

 

2. 공유의 개념 (변수값 공유) 

   대부분 변수값을 공유하고자 static을 이용

 

static 메소드

 static 메소드 안에서는 인스턴스 변수 접근이 불가능

단, static변수일 경우 static메소드에서 접근이 가능

 

[응용] Singleton pattern (싱글톤 패턴)

단 하나의 객체만을 생성하게 강제하는 패턴 

 

'Back Dev > JAVA' 카테고리의 다른 글

BufferedReader, StringTokenizer 정리  (0) 2021.12.01
JAVA환경에서 CMD 명령어 실행  (0) 2020.11.05
날짜비교  (0) 2020.03.31
JAVA 문자열비교  (0) 2019.07.26
파일확장자 추출(부제: 문자열자르기)  (0) 2019.07.04
try {
			InputStream is;
			is = Runtime.getRuntime().exec( 파일경로 ).getInputStream();
			BufferedReader br = new BufferedReader(new InputStreamReader(is, "MS949"));
			
			result = 1;
			
			br.close();
			is.close();
		} catch (IOException e) {
			e.printStackTrace();
		}

 

'Back Dev > JAVA' 카테고리의 다른 글

BufferedReader, StringTokenizer 정리  (0) 2021.12.01
Static (정적변수와 메소드)  (0) 2021.08.06
날짜비교  (0) 2020.03.31
JAVA 문자열비교  (0) 2019.07.26
파일확장자 추출(부제: 문자열자르기)  (0) 2019.07.04

참고 : https://computersj.tistory.com/entry/JAVA-%EB%82%A0%EC%A7%9C-%EB%B9%84%EA%B5%90-date-compare

'Back Dev > JAVA' 카테고리의 다른 글

Static (정적변수와 메소드)  (0) 2021.08.06
JAVA환경에서 CMD 명령어 실행  (0) 2020.11.05
JAVA 문자열비교  (0) 2019.07.26
파일확장자 추출(부제: 문자열자르기)  (0) 2019.07.04
Paging 개념원리  (0) 2017.12.07

String a == String b  << 문자열을 비교하는것이아니라 a, b 의 주소값을 비교하는것

 

문자열을 비교하기위해선 .equals 메소드사용하는것을 권장

ex) a.equals(b)

JAVA 파일확장자 추출 split (X), Substring(O)

 

ex) 

substring(fileOrgNm.lastIndexOf(".")+1,fileOrgNm.length());

'Back Dev > JAVA' 카테고리의 다른 글

JAVA환경에서 CMD 명령어 실행  (0) 2020.11.05
날짜비교  (0) 2020.03.31
JAVA 문자열비교  (0) 2019.07.26
Paging 개념원리  (0) 2017.12.07
추상클래스와 추상메소드 (feat. 추상클래스와 인터페이스차이점)  (0) 2017.12.06

페이징에 대한 원리에 대해  좋은 설명으로 정리한 게시글이있어 공유해드립니다.



https://okky.kr/article/282819  페이징(Paging)에 대한 이해 - (1) 페이지 번호를 생성하자.

https://okky.kr/article/282926  페이징(Paging)에 대한 이해 - (2) ROW NUMBER 을 이용한 게시물 가져오기.

https://okky.kr/article/283315  페이징(Paging)에 대한 이해 - (3) LIMIT 와 TOP 을 이용한 게시물 가져오기.





출처 

 https://zepinos.blogspot.kr 



새로운 이슈 해결관련하여 작업도중 오랜만에 과장님의 질문시간

"추상메소드"가 뭐지?  


아.. 이럴때마다 매번 머릿속이 하얗다

못다한 대답을 티스토리를 통하여 개념정리시간을 가져보자.



추상클래스 (Abstract Class)

-  객체가 아니라 타입으로만 존재하고 추상 메소드를 가지는 존재 (메소드 몸체만 존재한다?)

 

추상 클래스는 객체 생성은 안 되고 부모 클래스로만 존재하는 클래스를 의미.   

(추상클래스는 객체를 못 만들 뿐, 상속의 기능은 그대로 있음)


(: 추상클래스의 용도

  1. 객체를 생성하지 않으나 변수 선언 용도로 사용

  2. 상속의 고유 기능인 하위 클래스에 같은 데이터와 기능을 가지도록 물려주는 기능


 

추상메소드 (Abstract Method)

- 하위에서 '반드시 오버라이드하라'는 강제성을 가지는 메소드

- 추상메소드가 있으면, 그 클래스는 반드시! 추상 클래스가 되어야 한다.
(추상메소드의 실체가 없으므로 호출 시, 정상적인 결과값이 나올수 없게 됨)





___________________________________

17.12.11 관련글 링크추가


 

본인보다 더 잘 추상클래스에 대해 정리하여 설명하신거 같다는 생각이 들어서 링크로 대신하여 공유합니다.

 

  - 추상클래스와 추상메소드 http://sungwoon.tistory.com/58 

  - 추상클래스와 인터페이스 http://alecture.blogspot.kr/2011/05/abstract-class-interface.html




출처: [프피렉]열혈강의 객체중심 Java 

'Back Dev > JAVA' 카테고리의 다른 글

JAVA환경에서 CMD 명령어 실행  (0) 2020.11.05
날짜비교  (0) 2020.03.31
JAVA 문자열비교  (0) 2019.07.26
파일확장자 추출(부제: 문자열자르기)  (0) 2019.07.04
Paging 개념원리  (0) 2017.12.07

+ Recent posts