- 【HBZ分享】ES的聚合函数汇总
hbz-
elasticsearchjavalinux
聚合分类指标聚合:对数据集求最大、最小、和、平均值等指标的聚合,称为指标聚合metric格式:GET/index/_search{"size":0,"aggs":{"aggregation_name":{"aggregation_type":{"aggregation_field":"field_name"//可选参数}}//可以添加更多的聚合}}#解析-index:要执行聚合查询的索引名称。-s
- Django——数据库
攒了一袋星辰
数据库django前端
Django——数据库classBook(models.Model):book_name=models.CharField(max_length=20)price=models.DecimalField(max_digits=5,decimal_places=2)inventory=models.IntegerField()#auto_now_add设置为True,在创建数据的时候设置当前时间,后
- demoMySQL(增、删、查、改、列表型、小数型、整型、浮点型、定点型)
清清不快乐
desc:查看表结构select*:查询所有数据交互方式1、客户端连接认证:连接服务器、认证身份(mysql.exe-hPup)2、客户端发送SQL指令3、服务器接收SQL指令,并处理SQL指令,返回操作结果4、客户端接收结果,并显示结果5、断开连接MySQL服务器内部对象分成了四层:系统(DBMS):管理数据库的数据库(DB):放数据表的数据表(Table):管理字段的字段(Field):存放数
- 164Elasticsearch 基础入门--elasticsearch之mapping
Jachin111
实验原理elasticsearchmapping简介Mapping对应数据库里的表定义,我们都知道数据库表有各种字段每种字段使用场景是不一样,mapping中字段也类似数据库字段,定义形式不同搜索场景也不同,mapping还有一些其他的含义,mapping不仅告诉ES一个field中是什么类型的值,它还告诉ES如何索引数据以及数据是否能被搜索到,Mapping是对于index上每种type的定义。
- 二十二、elasticSearch的most-fields策略
书写只为分享
1、most-fields策略best-fields策略,主要是说将某一个field匹配尽可能多的关键词的doc优先返回回来most-fields策略,主要是说尽可能返回更多field匹配到某个关键词的doc,优先返回回来,用法和上面的一样当我们相查找与learningcourses相关的数据时如果数据如下:{"update":{"_id":"1"}}{"doc":{"sub_title":"le
- MongoDB聚合运算符:$documentNumber
原子星
mongodbmongodb数据库
文章目录语法用法举例每个州的文档编号重复值、空值和缺失值的文档编号$documentNumber聚合运算符返回$setWindowFields聚合阶段文档在分区中的位置。从版本5.0开始支持。语法{$documentNumber:{}}$documentNumber聚合运算符没有参数。用法$setWindowFields阶段的sortBy字段决定了文档的编号。$documentNumber返回文档
- mysql数据导出、导入
皮不动
#mysqlmysql数据库
导出数据select*INTOOUTFILE'/xxx/mysql_export.csv'FIELDSTERMINATEDBY','ENCLOSEDBY'"'LINESTERMINATEDBY'\n'FROMhal;INTOOUTFILE'':将查询结果输出到指定文件路径FIELDSTERMINATEDBY',':指定字段(或列)间的分隔符为逗号(,)ENCLOSEDBY'"':指定每个字段值应该
- python-0009-django对数据的增删改
天地人-神君
pythonpythondjangosqlite
shell在虚拟环境中,可以使用pythonmanage.pyshell,打开命令行。在命令行中,所见即所得,相当于执行代码片段对象fromdjango.dbimportmodels#Createyourmodelshere.classBookInfo(models.Model):name=models.CharField(max_length=10,unique=True)pub_date=mo
- Javassist使用
依生依世
知识积累AOPandroid相关原理解析javaaop代码插装androidjavassisit
Javassist使用一.简介二.使用(一)class1.获取2.新建3.内部类4.更新(二)constructor1.获取2.新建3.修改方法体(1)insertBefore/insertAfter(2)setBody(3)修饰符(三)field1.获取2.新建3.setter/getter(四)method1.获取2.新建3.setter/getter(五)参数使用(六)static1.获取2
- resetFields()失效
虾仁不眨眼ok
前端javascripthtmlvue
问题描述先点击新增,再取消弹窗。resetFields()正常运行,清空表单内容。先点击编辑,再新增,表单内容不能清空。解决方法在nextTick里赋值表单内容,因为弹窗会把第一次赋值的内容当成初始值,所以要在弹窗加载完之后再赋值constopenModal=(data)=>{base.visible=true;nextTick(()=>{base.formData=Object.assign({
- UGUI 文本对齐格式化
IT_yanghui
UGUIUnityUGUIText
usingUnityEngine;usingUnityEngine.UI;usingText=UnityEngine.UI.Text;[RequireComponent(typeof(Text))]publicclassTextFormatting:BaseMeshEffect{[SerializeField][Header("多行对齐方式:默认UpperLeft")]privateTextAnc
- 【视觉三维重建】【论文笔记】Deblurring 3D Gaussian Splatting
CS_Zero
论文阅读
去模糊的3D高斯泼溅,看Demo比3D高斯更加精细,对场景物体细节的还原度更高,[官网](https://benhenryl.github.io/Deblurring-3D-Gaussian-Splatting/)背景技术Volumetricrendering-basednerualfields:NeRF.Rasterizationrendering:3D-GS.Rasterization比vol
- ElasticSearch 与java的结合使用(二)
嘟嘟嘟嘟嘟嘟222
ElasticSearchelasticsearch
不同类型商品数量{"size":0,"aggs":{"type_group":{"terms":{"field":"type.keyword"}}}}SearchRequestrequest=newSearchRequest();request.indices("product");//按照类型分组统计数量AggregationBuildertype=AggregationBuilders.ter
- Unity InputField宽度自适应内容
不在同一频道上的呆子
unity游戏引擎
在Unity中,InputField在我们输入内容时,只会显示适应初始宽度的最新内容,或者自定义长度内容。那么,要实现宽度自适应内容就需要另寻他法了。以下是通过一个控制脚本来实现的一个简单方法。直接上脚本:usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingUnityEngine.UI;usin
- Mastering Convolutional Neural Networks: A Comprehensive Practical Exploration
Bio大恐龙
人工智能深度学习数据可视化机器学习
ConvolutionalNeuralNetworks(CNNs)haverevolutionizedthefieldofcomputervisionandimagerecognition,enablinggroundbreakingadvancementsinvariousdomains.Thesepowerfuldeeplearningmodelshaveproventheirprowessi
- 实体中list属性为空或者null,设置为空数组
wyazyf
代码java实体中设置为空数组
/***//处理空数组*@paramobject*@throwsException*/publicstaticvoidgetObjectValue(Objectobject)throwsException{if(object!=null){//if(object!=null)----begin//拿到该类Classclz=object.getClass();//获取实体类的所有属性,返回Field
- 数据结构与算法-双向链表
时光不老c
数据结构与算法java数据结构算法
一、基本介绍定义双向链表(Double-LinkedList)是链表家族的一员,相比于单链表,它的每个节点不仅包含数据域,还具备两个指针域,分别指向前一个节点和后一个节点。这样的结构赋予了双向链表更高的操作灵活性和更多的应用场景。在双向链表中,每个节点(Node)一般由以下三个部分构成:数据域(DataField):存储节点承载的具体数据信息。前驱指针(PreviousPointer):指向该节点
- 使用边宽度的输出字段
小风xf
#includevoidmain(){unsignedwidth,precision;intnumber=256;doubleweigth=243.5;printf("whatfieldwidth\n");scanf("%d",&width);printf("thenumberis:%*d:\n",width,number);printf("nowenterawidthandaprecision\
- Django高级之-forms组件
Renweif
Djangodjango
Django高级之-forms组件1校验字段功能针对一个实例:注册用户讲解。模型:models.pyclassUserInfo(models.Model):name=models.CharField(max_length=32)pwd=models.CharField(max_length=32)email=models.EmailField()模版文件Title{%csrf_token%}用户名
- MATLAB|【免费】概率神经网络的分类预测--基于PNN的变压器故障诊断
电力程序小学童
机器预测matlab神经网络分类预测
目录主要内容部分代码结果一览下载链接主要内容《MATLAB神经网络43个案例分析》共有43章,内容涵盖常见的神经网络(BP、RBF、SOM、Hopfield、Elman、LVQ、Kohonen、GRNN、NARX等)以及相关智能算法(SVM、决策树、随机森林、极限学习机等)。同时,部分章节也涉及了常见的优化算法(遗传算法、蚁群算法等)与神经网络的结合问题。此外,《MATLAB神经网络43个案例分析
- 【Django】执行查询——比较、删除、复制、批量修改对象
一个甜甜的大橙子
大橙子学Djangodjango数据库sqlite
以下述模型为基础,讨论检索对象的方式方法:fromdatetimeimportdatefromdjango.dbimportmodelsclassBlog(models.Model):name=models.CharField(max_length=100)tagline=models.TextField()def__str__(self):returnself.nameclassAuthor(m
- Unity - SerializeReference特性
人生若只如初見♫
Unityunity特性
作用:在编辑器面板上持久序列化一个接口或者抽象类对象特点:1.添加SerializeReference后,即使字段是私有的,也无需添加SerializeField属性,二者同有将私有字段序列化的能力.2.SerializeReference属性允许字段为null,这点与默认序列化行为不同,默认序列化会自动实例化一个值3.添加[field:SerializeField]后,属性也可以像字段一样被序列
- mysql汇总
酸柠涛啊
mysql数据库
一、多个模糊条件查询regexp1、group_concat连接distinct去重SEPARATOR’,‘逗号分割selectFIELD_NAME字段中文名,GROUP_CONCAT(DISTINCTFIELD_CODESEPARATOR‘,’)字段英文名fromda_dp_table_fieldwhereFIELD_NAMEregexp‘用户编码|客户编码’andDEL_FLAG=0group
- 相机-景深
Tang Paofan
相机标定数码相机
百度百科中关于景深(depthoffield)的定义是:摄影机镜头或其他成像器前沿能够取得清晰图像的成像所测定的被摄物体前后距离范围。个人理解:焦点前后能拍清楚图像的距离差称为景深参考文章[1]摄影基础之—景深
- Hive复杂数据类型之array
鸭梨山大哎
hivehivearray数据类型
定义格式如下:createtabletableName(......colNamearray......)说明:下标从0开始,越界不报错,以null代替案例准备:测试数据zhangsan78,89,92,96lisi67,75,83,94王五23,12createtableifnotexistsarr1(namestring,scoresarray)rowformatdelimitedfields
- MongoDB聚合运算符:$avg
原子星
mongodbmongodb数据库
$avg运算符返回给定数值的平均值$avg可用于以下阶段:$addFields阶段(从MongoDB3.4开始可用)$bucket阶段$bucketAuto阶段$group阶段包含$expr表达式的$match阶段$project阶段$replaceRoot阶段(从MongoDB3.4开始可用)$replaceWith阶段(从MongoDB4.2开始可用)$set阶段(从MongoDB4.2开始可
- MyBatis-Puls插入或修改时某些字段自动填充操作
介绍在开发中,某些字段需要在插入或修改时自动被填充进数据库,如创建者,修改者等。MyBatis-Puls提供了MetaObjectHandler接口,通过重写其中的insertFill与updateFill方法实现在新增or修改时动态的拿到实体类,在向实体类中set数据完成每次新增或修改时自动填充数据如创建者、修改者这种数据在实体类上加注解@TableField(fill=FieldFill.XX
- Django models中的null和blank的区别
零_WYF
blank在数据库上存储的是一个空字符串如需设置字段可以为空:blank=True,默认为blank=False(字段必须填写);null在数据库上表现为NULL,而不是一个空字符串如需设置字段可以为空:null=True,默认为null=False(字段必须填写);注意:日期类型(DateField、TimeField、DateTimeField)和数字类型(IntegerField、Decim
- phpspreadsheet导出数据和图片到excel
守护大白菜
php
仅作记录,废话不多说前提是已经安装了phpspreadsheet(composerrequirephpoffice/phpspreadsheet)一、数据拼装,调用excel类=',strtotime($start)];$where[]=['ctime','field($field)->select()->toArray();if(empty($list)){return$this->apiErr
- mybatis批量更新高效率xml写法
阿里渣渣java研发组-群主
mybatisxmlmysql数据库sql
mysql更新语句很简单,更新一条数据的某个字段,一般这样写:1UPDATEmytableSETmyfield='value'WHEREother_field='other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即可:1UPDATEmytableSETmyfield='value'WHEREother_fieldin('other_values');这里注意
- tomcat基础与部署发布
暗黑小菠萝
Tomcat java web
从51cto搬家了,以后会更新在这里方便自己查看。
做项目一直用tomcat,都是配置到eclipse中使用,这几天有时间整理一下使用心得,有一些自己配置遇到的细节问题。
Tomcat:一个Servlets和JSP页面的容器,以提供网站服务。
一、Tomcat安装
安装方式:①运行.exe安装包
&n
- 网站架构发展的过程
ayaoxinchao
数据库应用服务器网站架构
1.初始阶段网站架构:应用程序、数据库、文件等资源在同一个服务器上
2.应用服务和数据服务分离:应用服务器、数据库服务器、文件服务器
3.使用缓存改善网站性能:为应用服务器提供本地缓存,但受限于应用服务器的内存容量,可以使用专门的缓存服务器,提供分布式缓存服务器架构
4.使用应用服务器集群改善网站的并发处理能力:使用负载均衡调度服务器,将来自客户端浏览器的访问请求分发到应用服务器集群中的任何
- [信息与安全]数据库的备份问题
comsci
数据库
如果你们建设的信息系统是采用中心-分支的模式,那么这里有一个问题
如果你的数据来自中心数据库,那么中心数据库如果出现故障,你的分支机构的数据如何保证安全呢?
是否应该在这种信息系统结构的基础上进行改造,容许分支机构的信息系统也备份一个中心数据库的文件呢?
&n
- 使用maven tomcat plugin插件debug关联源代码
商人shang
mavendebug查看源码tomcat-plugin
*首先需要配置好'''maven-tomcat7-plugin''',参见[[Maven开发Web项目]]的'''Tomcat'''部分。
*配置好后,在[[Eclipse]]中打开'''Debug Configurations'''界面,在'''Maven Build'''项下新建当前工程的调试。在'''Main'''选项卡中点击'''Browse Workspace...'''选择需要开发的
- 大访问量高并发
oloz
大访问量高并发
大访问量高并发的网站主要压力还是在于数据库的操作上,尽量避免频繁的请求数据库。下面简
要列出几点解决方案:
01、优化你的代码和查询语句,合理使用索引
02、使用缓存技术例如memcache、ecache将不经常变化的数据放入缓存之中
03、采用服务器集群、负载均衡分担大访问量高并发压力
04、数据读写分离
05、合理选用框架,合理架构(推荐分布式架构)。
- cache 服务器
小猪猪08
cache
Cache 即高速缓存.那么cache是怎么样提高系统性能与运行速度呢?是不是在任何情况下用cache都能提高性能?是不是cache用的越多就越好呢?我在近期开发的项目中有所体会,写下来当作总结也希望能跟大家一起探讨探讨,有错误的地方希望大家批评指正。
1.Cache 是怎么样工作的?
Cache 是分配在服务器上
- mysql存储过程
香水浓
mysql
Description:插入大量测试数据
use xmpl;
drop procedure if exists mockup_test_data_sp;
create procedure mockup_test_data_sp(
in number_of_records int
)
begin
declare cnt int;
declare name varch
- CSS的class、id、css文件名的常用命名规则
agevs
JavaScriptUI框架Ajaxcss
CSS的class、id、css文件名的常用命名规则
(一)常用的CSS命名规则
头:header
内容:content/container
尾:footer
导航:nav
侧栏:sidebar
栏目:column
页面外围控制整体布局宽度:wrapper
左右中:left right
- 全局数据源
AILIKES
javatomcatmysqljdbcJNDI
实验目的:为了研究两个项目同时访问一个全局数据源的时候是创建了一个数据源对象,还是创建了两个数据源对象。
1:将diuid和mysql驱动包(druid-1.0.2.jar和mysql-connector-java-5.1.15.jar)copy至%TOMCAT_HOME%/lib下;2:配置数据源,将JNDI在%TOMCAT_HOME%/conf/context.xml中配置好,格式如下:&l
- MYSQL的随机查询的实现方法
baalwolf
mysql
MYSQL的随机抽取实现方法。举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1。但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描。但是在MYSQL 3.23版本中,
- JAVA的getBytes()方法
bijian1013
javaeclipseunixOS
在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组。这个表示在不同OS下,返回的东西不一样!
String.getBytes(String decode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示,如:
byte[] b_gbk = "
- AngularJS中操作Cookies
bijian1013
JavaScriptAngularJSCookies
如果你的应用足够大、足够复杂,那么你很快就会遇到这样一咱种情况:你需要在客户端存储一些状态信息,这些状态信息是跨session(会话)的。你可能还记得利用document.cookie接口直接操作纯文本cookie的痛苦经历。
幸运的是,这种方式已经一去不复返了,在所有现代浏览器中几乎
- [Maven学习笔记五]Maven聚合和继承特性
bit1129
maven
Maven聚合
在实际的项目中,一个项目通常会划分为多个模块,为了说明问题,以用户登陆这个小web应用为例。通常一个web应用分为三个模块:
1. 模型和数据持久化层user-core,
2. 业务逻辑层user-service以
3. web展现层user-web,
user-service依赖于user-core
user-web依赖于user-core和use
- 【JVM七】JVM知识点总结
bit1129
jvm
1. JVM运行模式
1.1 JVM运行时分为-server和-client两种模式,在32位机器上只有client模式的JVM。通常,64位的JVM默认都是使用server模式,因为server模式的JVM虽然启动慢点,但是,在运行过程,JVM会尽可能的进行优化
1.2 JVM分为三种字节码解释执行方式:mixed mode, interpret mode以及compiler
- linux下查看nginx、apache、mysql、php的编译参数
ronin47
在linux平台下的应用,最流行的莫过于nginx、apache、mysql、php几个。而这几个常用的应用,在手工编译完以后,在其他一些情况下(如:新增模块),往往想要查看当初都使用了那些参数进行的编译。这时候就可以利用以下方法查看。
1、nginx
[root@361way ~]# /App/nginx/sbin/nginx -V
nginx: nginx version: nginx/
- unity中运用Resources.Load的方法?
brotherlamp
unity视频unity资料unity自学unityunity教程
问:unity中运用Resources.Load的方法?
答:Resources.Load是unity本地动态加载资本所用的方法,也即是你想动态加载的时分才用到它,比方枪弹,特效,某些实时替换的图像什么的,主张此文件夹不要放太多东西,在打包的时分,它会独自把里边的一切东西都会集打包到一同,不论里边有没有你用的东西,所以大多数资本应该是自个建文件放置
1、unity实时替换的物体即是依据环境条件
- 线段树-入门
bylijinnan
java算法线段树
/**
* 线段树入门
* 问题:已知线段[2,5] [4,6] [0,7];求点2,4,7分别出现了多少次
* 以下代码建立的线段树用链表来保存,且树的叶子结点类似[i,i]
*
* 参考链接:http://hi.baidu.com/semluhiigubbqvq/item/be736a33a8864789f4e4ad18
* @author lijinna
- 全选与反选
chicony
全选
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>全选与反选</title>
- vim一些简单记录
chenchao051
vim
mac在/usr/share/vim/vimrc linux在/etc/vimrc
1、问:后退键不能删除数据,不能往后退怎么办?
答:在vimrc中加入set backspace=2
2、问:如何控制tab键的缩进?
答:在vimrc中加入set tabstop=4 (任何
- Sublime Text 快捷键
daizj
快捷键sublime
[size=large][/size]Sublime Text快捷键:Ctrl+Shift+P:打开命令面板Ctrl+P:搜索项目中的文件Ctrl+G:跳转到第几行Ctrl+W:关闭当前打开文件Ctrl+Shift+W:关闭所有打开文件Ctrl+Shift+V:粘贴并格式化Ctrl+D:选择单词,重复可增加选择下一个相同的单词Ctrl+L:选择行,重复可依次增加选择下一行Ctrl+Shift+L:
- php 引用(&)详解
dcj3sjt126com
PHP
在PHP 中引用的意思是:不同的名字访问同一个变量内容. 与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址 变量的引用 PHP 的引用允许你用两个变量来指向同一个内容 复制代码代码如下:
<?
$a="ABC";
$b =&$a;
echo
- SVN中trunk,branches,tags用法详解
dcj3sjt126com
SVN
Subversion有一个很标准的目录结构,是这样的。比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是svn://proj/|+-trunk+-branches+-tags这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目录应该如何使用,svn并没有明确的规范,更多的还是用户自己的习惯。
- 对软件设计的思考
e200702084
设计模式数据结构算法ssh活动
软件设计的宏观与微观
软件开发是一种高智商的开发活动。一个优秀的软件设计人员不仅要从宏观上把握软件之间的开发,也要从微观上把握软件之间的开发。宏观上,可以应用面向对象设计,采用流行的SSH架构,采用web层,业务逻辑层,持久层分层架构。采用设计模式提供系统的健壮性和可维护性。微观上,对于一个类,甚至方法的调用,从计算机的角度模拟程序的运行情况。了解内存分配,参数传
- 同步、异步、阻塞、非阻塞
geeksun
非阻塞
同步、异步、阻塞、非阻塞这几个概念有时有点混淆,在此文试图解释一下。
同步:发出方法调用后,当没有返回结果,当前线程会一直在等待(阻塞)状态。
场景:打电话,营业厅窗口办业务、B/S架构的http请求-响应模式。
异步:方法调用后不立即返回结果,调用结果通过状态、通知或回调通知方法调用者或接收者。异步方法调用后,当前线程不会阻塞,会继续执行其他任务。
实现:
- Reverse SSH Tunnel 反向打洞實錄
hongtoushizi
ssh
實際的操作步驟:
# 首先,在客戶那理的機器下指令連回我們自己的 Server,並設定自己 Server 上的 12345 port 會對應到幾器上的 SSH port
ssh -NfR 12345:localhost:22
[email protected]
# 然後在 myhost 的機器上連自己的 12345 port,就可以連回在客戶那的機器
ssh localhost -p 1
- Hibernate中的缓存
Josh_Persistence
一级缓存Hiberante缓存查询缓存二级缓存
Hibernate中的缓存
一、Hiberante中常见的三大缓存:一级缓存,二级缓存和查询缓存。
Hibernate中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。这一级别的缓存是由hibernate管理的,一般情况下无需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。这一级别的缓存
- 对象关系行为模式之延迟加载
home198979
PHP架构延迟加载
形象化设计模式实战 HELLO!架构
一、概念
Lazy Load:一个对象,它虽然不包含所需要的所有数据,但是知道怎么获取这些数据。
延迟加载貌似很简单,就是在数据需要时再从数据库获取,减少数据库的消耗。但这其中还是有不少技巧的。
二、实现延迟加载
实现Lazy Load主要有四种方法:延迟初始化、虚
- xml 验证
pengfeicao521
xmlxml解析
有些字符,xml不能识别,用jdom或者dom4j解析的时候就报错
public static void testPattern() {
// 含有非法字符的串
String str = "Jamey친ÑԂ
- div设置半透明效果
spjich
css半透明
为div设置如下样式:
div{filter:alpha(Opacity=80);-moz-opacity:0.5;opacity: 0.5;}
说明:
1、filter:对win IE设置半透明滤镜效果,filter:alpha(Opacity=80)代表该对象80%半透明,火狐浏览器不认2、-moz-opaci
- 你真的了解单例模式么?
w574240966
java单例设计模式jvm
单例模式,很多初学者认为单例模式很简单,并且认为自己已经掌握了这种设计模式。但事实上,你真的了解单例模式了么。
一,单例模式的5中写法。(回字的四种写法,哈哈。)
1,懒汉式
(1)线程不安全的懒汉式
public cla