单例模式:C++与JAVA

Posted 慕書

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例模式:C++与JAVA相关的知识,希望对你有一定的参考价值。

C++单例模式

单例模式:自始至终都只能有一个chenxuhu实例,不能再new出另一个实例,共用同一个实例。

  1. C++单例模式
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;

//创建个人类,比如我的名字,chenxuhu

class ChenXuHu

public:
	static ChenXuHu * getInstance()
	
		return singleMan;
	
private:
	static ChenXuHu * singleMan;
	ChenXuHu()
	//拷贝构造 私有化
	ChenXuHu(const ChenXuHu&cxh)

;

//在类外面实现new
ChenXuHu * ChenXuHu::singleMan = new ChenXuHu;

void test()


	ChenXuHu *a = ChenXuHu::getInstance();
	ChenXuHu *b = ChenXuHu::getInstance();

	//ChenXuHu *c = new ChenXuHu;构造函数私有化,不可以再new
	if (a == b)
	
		cout << "a 与 b相同" << endl;
	
	else
	
	    cout << " a与 b不相同" << endl;
	


int main()

	test();

	system("pause");
	return EXIT_SUCCESS;

2.JAVA单例模式,链接数据库

package com.wulian.utils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class JdbcUtil 

	static JdbcUtil ju = null;

	Connection connection;

	private JdbcUtil() 

		try 
			Class.forName("com.mysql.jdbc.Driver");
			String url = "jdbc:mysql://localhost:3306/javaweb?characterEncoding=utf8";
			String name = "root";
			String password = "123456";

			connection = DriverManager.getConnection(url, name, password);
		 catch (Exception e) 

			e.printStackTrace();
		
	

	public static JdbcUtil getInstace() 

		if (ju == null) 
			ju = new JdbcUtil();
		

		return ju;
	

	public Connection getConn() 

		return connection;
	

	public void setCloseConn(Connection conn) 

		if (conn != null) 
			try 
				conn.close();
			 catch (SQLException e) 
				// TODO Auto-generated catch block
				e.printStackTrace();
			
		

	

	public void setClosePs(PreparedStatement ps) 

		if (ps != null) 

			try 
				ps.close();
			 catch (SQLException e) 
				// TODO Auto-generated catch block
				e.printStackTrace();
			
		

	



以上是关于单例模式:C++与JAVA的主要内容,如果未能解决你的问题,请参考以下文章

单例模式与静态变量在PHP中 (转载)

单例模式与静态变量在PHP中

C++ 单例模式总结与剖析

C++ 单例模式总结与剖析

C++的单例模式与线程安全单例模式(懒汉/饿汉)

C++单例模式与单例类模板