java
이 튜토리얼에서는 예제를 통해 Java에서 싱글톤 디자인 패턴을 구현하는 방법을 배웁니다.
Java에서 Singleton은 클래스가 하나의 객체만 가질 수 있도록 하는 디자인 패턴입니다.
싱글톤 클래스를 생성하려면 클래스는 다음 속성을 구현해야 합니다.
private
생성 클래스 외부에서 객체 생성을 제한하는 클래스 생성자.private
생성 단일 개체를 참조하는 클래스 유형의 속성입니다.public static
생성 우리가 생성한 객체를 생성하고 접근할 수 있게 해주는 메소드. 메소드 내에서 하나 이상의 객체를 생성하지 못하도록 제한하는 조건을 생성합니다.
class SingletonExample {
// private field that refers to the object
private static SingletonExample singleObject;
private SingletonExample() {
// constructor of the SingletonExample class
}
public static SingletonExample getInstance() {
// write code that allows us to create only one object
// access the object as per our need
}
}
위의 예에서
private static SingletonExample singleObject
- 클래스의 객체에 대한 참조.private SingletonExample()
- 클래스 외부에서 객체 생성을 제한하는 private 생성자.public static SingletonExample getInstance()
- 이 메서드는 클래스의 유일한 개체에 대한 참조를 반환합니다. 메소드 static 이후 , 클래스 이름을 사용하여 액세스할 수 있습니다.싱글톤은 데이터베이스로 작업하는 동안 사용할 수 있습니다. 모든 클라이언트에 대해 동일한 연결을 재사용하면서 데이터베이스에 액세스하기 위한 연결 풀을 만드는 데 사용할 수 있습니다. 예를 들어,
class Database {
private static Database dbObject;
private Database() {
}
public static Database getInstance() {
// create object if it's not already created
if(dbObject == null) {
dbObject = new Database();
}
// returns the singleton object
return dbObject;
}
public void getConnection() {
System.out.println("You are now connected to the database.");
}
}
class Main {
public static void main(String[] args) {
Database db1;
// refers to the only object of Database
db1= Database.getInstance();
db1.getConnection();
}
}
프로그램을 실행하면 다음과 같이 출력됩니다.
You are now connected to the database.
위의 예에서
Database()
클래스 외부에서 객체 생성을 방지합니다.getInstance()
클래스의 인스턴스를 외부 세계로 반환합니다.getInstance()
을 호출합니다. db1 사용 데이터베이스의 유일한 객체를 가져오기 위해 .getConnection()
Database의 개체를 통해서만 액세스할 수 있습니다. .싱글톤은 자바 특유의 기능이라기 보다는 디자인 패턴이다. 디자인 패턴은 전 세계 프로그래머들이 공유하는 다양한 코딩 기술을 포함하는 우리의 코드 라이브러리와 같습니다.
<시간>싱글톤이 의미가 있는 시나리오(예:로깅)가 몇 개 밖에 없다는 점에 유의하는 것이 중요합니다. 싱글톤을 사용할지 말지 확실하지 않은 경우 싱글톤을 완전히 사용하지 않는 것이 좋습니다. 자세히 알아보기:Singleton의 단점은 무엇입니까?
java
자바 작성기 클래스 이 자습서에서는 예제를 통해 Java Writer, 해당 하위 클래스 및 메서드에 대해 알아봅니다. Writer java.io 클래스 패키지는 문자 스트림을 나타내는 추상 슈퍼클래스입니다. Writer 이후 추상 클래스이므로 그 자체로는 유용하지 않습니다. 그러나 하위 클래스를 사용하여 데이터를 쓸 수 있습니다. 작가의 하위 클래스 Writer의 기능을 사용하려면 , 우리는 그 하위 클래스를 사용할 수 있습니다. 그 중 일부는 다음과 같습니다. BufferedWriter OutputStreamWriter
자바 InputStreamReader 클래스 이 자습서에서는 예제를 통해 Java InputStreamReader 및 해당 메서드에 대해 알아봅니다. InputStreamReader java.io 클래스 패키지를 사용하여 바이트 데이터를 문자 데이터로 변환할 수 있습니다. 추상 클래스 Reader을 확장합니다. . InputStreamReader 클래스는 다른 입력 스트림과 함께 작동합니다. 바이트 스트림과 문자 스트림 간의 브리지라고도 합니다. InputStreamReader 때문입니다. 입력 스트림에서 바이트를 문자로