- MQTT.js 简述
Wu Youlu
javascript开发语言ecmascript
MQTT.js简述简介MQTT是一种轻量级的消息传输协议,常用于物联网(IoT)设备间的通信。mqtt.js是一个JavaScript库,支持在Node.js和浏览器中使用,用于通过MQTT协议与MQTTBroker进行通信。安装在Node.js中,可以通过以下命令安装:npminstallmqtt--save在浏览器中使用:基础概念Broker(代理):处理客户端消息的中介服务,管理消息的发布和
- RSocket-JS 使用指南
郁俪晟Gertrude
RSocket-JS使用指南rsocket-jsJavaScriptimplementationofRSocket项目地址:https://gitcode.com/gh_mirrors/rs/rsocket-js1.项目介绍RSocket-JS是一个实现了RSocket协议(版本1.0)的JavaScript库,专为在浏览器环境及Node.js中使用设计。该库允许开发者通过RSocket协议进行高
- LeetCode #14 最长公共前缀
HU兔兔
classSolution{public:stringlongestCommonPrefix(vector&strs){if(strs.size()==0){return"";}stringans;inti=0;intj;while(i=strs[j].size()||strs[j][i]!=strs[0][i]){returnans;}j++;}ans.push_back(strs[0][i])
- Python基础库-JSON库
度假的小鱼
Python基础jsonjavascript开发语言python
活动地址:CSDN21天学习挑战赛文章目录1JSON介绍1.1json介绍1.2json特点1.3json文件的处理1.4json语法规则1.5json键1.6json文件的书写1.7读取json文件的方法(json.load)1.8操作json文件常见错误1JSON介绍JSON的全称是JavaScriptObjectNotation",是JavaScript对象表示法,它是一种基于文本,独立于语
- Python——json的封装与解析
hjhkkkl
pythonjson
SON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于人阅读和编写。JSON函数使用JSON函数需要导入json库:importjson。函数描述json.dumps将Python对象编码成JSON字符串json.loads将已编码的JSON字符串解码为Python对象json.dumpsjson.dumps用于将Python对象编码成JSON字符串。语法jso
- C++ | Leetcode C++题解之第392题判断子序列
Ddddddd_158
经验分享C++Leetcode题解
题目:题解:classSolution{public:boolisSubsequence(strings,stringt){intn=s.size(),m=t.size();vector>f(m+1,vector(26,0));for(inti=0;i=0;i--){for(intj=0;j<26;j++){if(t[i]==j+'a')f[i][j]=i;elsef[i][j]=f[i+1][j
- C++ | Leetcode C++题解之第391题完美矩形
Ddddddd_158
经验分享C++Leetcode题解
题目:题解:typedefpairPoint;classSolution{public:boolisRectangleCover(vector>&rectangles){longarea=0;intminX=rectangles[0][0],minY=rectangles[0][1],maxX=rectangles[0][2],maxY=rectangles[0][3];mapcnt;for(au
- C++ | Leetcode C++题解之第218题天际线问题
Ddddddd_158
经验分享C++Leetcode题解
题目:题解:classSolution{public:vector>getSkyline(vector>&buildings){autocmp=[](constpair&a,constpair&b)->bool{returna.second,vector>,decltype(cmp)>que(cmp);vectorboundaries;for(auto&building:buildings){bo
- C++ | Leetcode C++题解之第64题最小路径和
Ddddddd_158
经验分享C++Leetcode题解
题目:题解:classSolution{public:intminPathSum(vector>&grid){if(grid.size()==0||grid[0].size()==0){return0;}introws=grid.size(),columns=grid[0].size();autodp=vector>(rows,vector(columns));dp[0][0]=grid[0][0
- 深入解析:【window】对象在多文件 JavaScript 环境中的作用与调用机制
OEC小胖胖
JavaScriptjavascript开发语言ecmascript前端web
1.window对象:JavaScript的全局对象在浏览器环境中,window对象是所有全局对象的载体。每个浏览器页面都有一个对应的window对象,代表浏览器的窗口或框架。所有全局作用域中的变量、函数、以及其他对象都自动成为window对象的属性。varglobalVar="Hello,world!";functionglobalFunction(){console.log("Thisisag
- python——json库
pumpkin84514
python相关pythonjson
Pythonjson库详解一、什么是json库?json库是Python的标准库,用于处理JSON(JavaScriptObjectNotation)数据。JSON是一种轻量级的数据交换格式,常用于客户端与服务器之间的数据传输。json库提供了将Python对象与JSON格式的数据相互转换的功能。为什么要使用JSON?易读性高:JSON使用键值对存储数据,结构清晰,易于理解。跨语言支持:JSON格
- C++ | Leetcode C++题解之第390题消除游戏
Ddddddd_158
经验分享C++Leetcode题解
题目:题解:classSolution{public:intlastRemaining(intn){inta1=1;intk=0,cnt=n,step=1;while(cnt>1){if(k%2==0){//正向a1=a1+step;}else{//反向a1=(cnt%2==0)?a1:a1+step;}k++;cnt=cnt>>1;step=step<<1;}returna1;}};
- JS中正则表达式捕获组与反向引用详解
OEC小胖胖
JavaScriptjavascript正则表达式开发语言前端webecmascript
正则表达式(RegularExpression,简称Regex)是一种强大的字符串匹配工具,它能够让我们通过模式来查找、匹配、替换字符串中的内容。而在正则表达式中,捕获组是一个非常重要的概念,常常用于将匹配到的内容保存下来供后续操作。今天我们就来详细讲解JavaScript中的捕获组、反向引用、以及替换操作中的$1、$2等符号。1.什么是捕获组(CaptureGroup)捕获组的定义捕获组是指通过
- 在JS中flat() 和 flatMap()使用讲解
Code_Geo
javascript前端开发语言
flat()和flatMap()是JavaScript中处理数组的两个方法,用于处理嵌套数组,但它们有不同的用途和效果。以下是它们的详细区别:1.Array.prototype.flat()功能:将嵌套的数组“拉平”成一维数组。语法:array.flat([depth])depth:可选参数,表示要拉平的深度。默认值是1。示例:constarr=[1,[2,[3,[4]]]];console.lo
- 在Vue项目中使用Proj4js库进行坐标系转换并加载WMTS服务
卡夫卡的小熊猫
vue.js前端
OpenLayers是一个用于创建Web地图应用程序的JavaScript库。它支持许多不同的地图投影和坐标系,包括常见的Web墨卡托投影(EPSG:3857)和经纬度坐标系(EPSG:4326),以及其他许多本地或自定义的投影和坐标系。要在OpenLayers中转换不同坐标系下的WMTS服务,你需要了解两个主要部分:坐标系的定义和WMTS服务的配置。安装Proj4js:首先,在Vue项目中安装P
- 2019-02-05
ruicore
LeetCode274.H-Index.jpgLeetCode274.H-IndexDescriptionGivenanarrayofcitations(eachcitationisanon-negativeinteger)ofaresearcher,writeafunctiontocomputetheresearcher'sh-index.Accordingtothedefinitionofh-
- leetcode 1412 查询成绩处于中游的学生(postgresql)
奋斗哼哼
leetcode算法postgresql数据库sql
需求表:Student±--------------------±--------+|ColumnName|Type|±--------------------±--------+|student_id|int||student_name|varchar|±--------------------±--------+student_id是该表主键.student_name学生名字.表:Exam±-
- Java实现 LeetCode 230 2的幂
南 墙
LeetCode位运算2的幂
231.2的幂给定一个整数,编写一个函数来判断它是否是2的幂次方。示例1:输入:1输出:true解释:20=1示例2:输入:16输出:true解释:24=16示例3:输入:218输出:falsePS:2的次幂和他的上一位数&的结果为08的二进制就是10007的二进制就是0111结果========0000classSolution{publicbooleanisPowerOfTwo(intn){i
- Github 2024-06-23php开源项目日报Top10
老孙正经胡说
github开源Github趋势分析开源项目PythonGolang
根据GithubTrendings的统计,今日(2024-06-23统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下:开发语言项目数量PHP项目10JavaScript项目1Laravel:以优雅语法简化Web开发创建周期:4028天开发语言:PHP协议类型:MITLicenseStar数量:30824个Fork数量:10526次关注人数:30824人贡献人数:383人OpenIs
- 从JavaScript入门Go二
谁点的猪脚饭
gojavascriptgolang开发语言
前情提要上一章我们初步运行了go,写了一些简单的函数,这章我们重点讲一下变量和函数。因为之前有点忙,一直没有空更,现在空闲下来了,给大家更新一下入门的第二章。PS:没看过的第一章的小伙伴,可以进入下面的链接查看从JavaScript入门Go一Go中的变量首先我们来明确一下变量是什么,变量是用来存储数据的标识符,可以存储各种类型的数据,包括数字、字符串、数组、JSON等。其本质就是为数据分配内存空间
- JavaScript - Api学习 Day1(WebApi、操作DOM对象)
你会魔法吗✧(≖ ◡ ≖✿)
HTML+CSS+JSjavascript学习开发语言
应用编程接口(API)是编程语言中提供的结构,允许开发者更轻松地创建复杂的功能。、webapi是一套操作网页内容(DOM)与浏览器窗口(BOM)的对象Js由ECMAScript、DOM、BOM三个部分组成。文章目录零、前言0.1变量声明壹、WebAPI的认识1.1作用1.2什么是DOM1.3什么是DOM对象主要概念:示例代码:二、获取DOM对象2.1根据CSS选择器获取DOM元素2.1.1`que
- ecmascript和javascript的区别 优缺点,使用场景 性能等方面介绍
大白菜程序猿
前端ecmascript
ECMAScript和JavaScript在Web开发中扮演着重要角色,但它们在定义、特性、使用场景、性能等方面存在明显的区别。以下是对这两者的详细比较:一、定义与性质ECMAScript:ECMAScript是一种由EcmaInternational(欧洲计算机制造商协会)制定的脚本语言规范。它不是一种具体的编程语言,而是一种为各种脚本语言提供统一基础和高层次抽象的规范。ECMAScript定义
- Ollama教程——深入解析:使用LangChain和Ollama构建JavaScript问答系统
walkskyer
ollama入门教程langchainjavascript开发语言ollamaAI
ollama入门系列教程简介与目录相关文章:Ollama教程——入门:开启本地大型语言模型开发之旅Ollama教程——模型:如何将模型高效导入到Ollama框架Ollama教程——兼容OpenAIAPI:高效利用兼容OpenAI的API进行AI项目开发Ollama教程——使用LangChain:Ollama与LangChain的强强联合Ollama教程——生成内容API:利用Ollama的原生AP
- 2020-12-05
幸福大黑鸭
IT1.LeetCode:存在重复元素Java编写2020-12-05(217.存在重复元素)2.《Java从入门到精通》明日科技:P331~335阅读记xmind笔记,并自己实现实例。知识点之前确实都学过,但还是再系统复习一下吧。3.《Semantic-awareWorkflowConstructionandAnalysisforDistributedDataAnalyticsSystems》:
- 9.8通宵速通javascript
山师第一深情
javascript开发语言ecmascript
由于正着已经光速通了一些基础语法了,所以这一步我们倒着来。并记录一些疑问从而从难到易去解决这些问题。23eventloop首先明确两个概念,分别是1调用栈javascript只有一个调用栈用于跟踪函数其他的就类似于任何语言的函数调用栈2任务队列异步任务在完成时会被添加到任务队列中,当调用栈为空的时候,也就是当下的函数全部执行完之后,会将这些已经完成的任务从任务队列中放入函数调用栈等待执行javas
- 使用fabric.js简简单单实现一个画板
小草先森tyro
前端
什么是fabricfabric是一个功能强大的JavaScript库,运行在HTML5canvas上。fabric为canvas提供了一个交互式对象模型,以及一个svg-to-canvas解析器。与canvas的区别来一个简单的例子来说明一下fabric与canvas的区别,假设我们想在一个画布上画一个红色的矩形://原生canvasapi//有一个id是c的canvas元素varcanvasEl
- C语言 | Leetcode C语言题解之第389题找不同
DdddJMs__135
分享C语言Leetcode题解
题目:题解:charfindTheDifference(char*s,char*t){intn=strlen(s),m=strlen(t);intret=0;for(inti=0;i<n;i++){ret^=s[i];}for(inti=0;i<m;i++){ret^=t[i];}returnret;}
- JavaScript正则表达式六大利器:`test`、`exec`、`match`、`matchAll`、`search`与`replace`详解及对比
软考鸭
javascript帮助文档javascript正则表达式开发语言
在JavaScript中,正则表达式(RegularExpression)是一种用于文本搜索、替换、匹配和验证的强大工具。本文将深入解析与正则表达式相关的几个主要执行方法:test、exec、match、matchAll、search和replace,并对它们进行对比,帮助开发者更好地理解这些方法的使用场景和差异。正则表达式基础在深入解析方法之前,先简要回顾一下正则表达式的基础知识。正则表达式是由
- 探索 Fabric.js:前端开发的轻量级图形编辑框架
滑辰煦Marc
探索Fabric.js:前端开发的轻量级图形编辑框架是一个强大的、基于WebGL和SVG的JavaScript图形库,专为构建交互式图形界面而设计。它提供了一种简单的方式来在网页上创建和操纵矢量对象,包括文本、形状、图像等,并且具有丰富的可定制性和性能优化。项目简介Fabric.js提供了一个统一的对象模型,使得处理HTML5canvas上的元素变得异常简单。无论是创建复杂的绘图应用,还是实现动态
- javascript中常规操作节点的方法
盛夏绽放
javascript前端java
JavaScript常用操作DOM节点的方法包括获取节点、创建节点、添加节点、删除节点、替换节点等。1.获取节点(1)通过ID获取使用document.getElementById(“元素ID”)方法,通过元素的ID获取单个元素。这是最常用的方法之一,因为ID在页面中是唯一的,可以直接定位到具体元素。//通过元素的ID获取元素letbox=document.getElementById("box"
- java类加载顺序
3213213333332132
java
package com.demo;
/**
* @Description 类加载顺序
* @author FuJianyong
* 2015-2-6上午11:21:37
*/
public class ClassLoaderSequence {
String s1 = "成员属性";
static String s2 = "
- Hibernate与mybitas的比较
BlueSkator
sqlHibernate框架ibatisorm
第一章 Hibernate与MyBatis
Hibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现在已经成为Jboss的一部分。 Mybatis 是另外一种优秀的O/R mapping框架。目前属于apache的一个子项目。
MyBatis 参考资料官网:http:
- php多维数组排序以及实际工作中的应用
dcj3sjt126com
PHPusortuasort
自定义排序函数返回false或负数意味着第一个参数应该排在第二个参数的前面, 正数或true反之, 0相等usort不保存键名uasort 键名会保存下来uksort 排序是对键名进行的
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8&q
- DOM改变字体大小
周华华
前端
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
- c3p0的配置
g21121
c3p0
c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0的下载地址是:http://sourceforge.net/projects/c3p0/这里可以下载到c3p0最新版本。
以在spring中配置dataSource为例:
<!-- spring加载资源文件 -->
<bean name="prope
- Java获取工程路径的几种方法
510888780
java
第一种:
File f = new File(this.getClass().getResource("/").getPath());
System.out.println(f);
结果:
C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin
获取当前类的所在工程路径;
如果不加“
- 在类Unix系统下实现SSH免密码登录服务器
Harry642
免密ssh
1.客户机
(1)执行ssh-keygen -t rsa -C "
[email protected]"生成公钥,xxx为自定义大email地址
(2)执行scp ~/.ssh/id_rsa.pub root@xxxxxxxxx:/tmp将公钥拷贝到服务器上,xxx为服务器地址
(3)执行cat
- Java新手入门的30个基本概念一
aijuans
javajava 入门新手
在我们学习Java的过程中,掌握其中的基本概念对我们的学习无论是J2SE,J2EE,J2ME都是很重要的,J2SE是Java的基础,所以有必要对其中的基本概念做以归纳,以便大家在以后的学习过程中更好的理解java的精髓,在此我总结了30条基本的概念。 Java概述: 目前Java主要应用于中间件的开发(middleware)---处理客户机于服务器之间的通信技术,早期的实践证明,Java不适合
- Memcached for windows 简单介绍
antlove
javaWebwindowscachememcached
1. 安装memcached server
a. 下载memcached-1.2.6-win32-bin.zip
b. 解压缩,dos 窗口切换到 memcached.exe所在目录,运行memcached.exe -d install
c.启动memcached Server,直接在dos窗口键入 net start "memcached Server&quo
- 数据库对象的视图和索引
百合不是茶
索引oeacle数据库视图
视图
视图是从一个表或视图导出的表,也可以是从多个表或视图导出的表。视图是一个虚表,数据库不对视图所对应的数据进行实际存储,只存储视图的定义,对视图的数据进行操作时,只能将字段定义为视图,不能将具体的数据定义为视图
为什么oracle需要视图;
&
- Mockito(一) --入门篇
bijian1013
持续集成mockito单元测试
Mockito是一个针对Java的mocking框架,它与EasyMock和jMock很相似,但是通过在执行后校验什么已经被调用,它消除了对期望 行为(expectations)的需要。其它的mocking库需要你在执行前记录期望行为(expectations),而这导致了丑陋的初始化代码。
&nb
- 精通Oracle10编程SQL(5)SQL函数
bijian1013
oracle数据库plsql
/*
* SQL函数
*/
--数字函数
--ABS(n):返回数字n的绝对值
declare
v_abs number(6,2);
begin
v_abs:=abs(&no);
dbms_output.put_line('绝对值:'||v_abs);
end;
--ACOS(n):返回数字n的反余弦值,输入值的范围是-1~1,输出值的单位为弧度
- 【Log4j一】Log4j总体介绍
bit1129
log4j
Log4j组件:Logger、Appender、Layout
Log4j核心包含三个组件:logger、appender和layout。这三个组件协作提供日志功能:
日志的输出目标
日志的输出格式
日志的输出级别(是否抑制日志的输出)
logger继承特性
A logger is said to be an ancestor of anothe
- Java IO笔记
白糖_
java
public static void main(String[] args) throws IOException {
//输入流
InputStream in = Test.class.getResourceAsStream("/test");
InputStreamReader isr = new InputStreamReader(in);
Bu
- Docker 监控
ronin47
docker监控
目前项目内部署了docker,于是涉及到关于监控的事情,参考一些经典实例以及一些自己的想法,总结一下思路。 1、关于监控的内容 监控宿主机本身
监控宿主机本身还是比较简单的,同其他服务器监控类似,对cpu、network、io、disk等做通用的检查,这里不再细说。
额外的,因为是docker的
- java-顺时针打印图形
bylijinnan
java
一个画图程序 要求打印出:
1.int i=5;
2.1 2 3 4 5
3.16 17 18 19 6
4.15 24 25 20 7
5.14 23 22 21 8
6.13 12 11 10 9
7.
8.int i=6
9.1 2 3 4 5 6
10.20 21 22 23 24 7
11.19
- 关于iReport汉化版强制使用英文的配置方法
Kai_Ge
iReport汉化英文版
对于那些具有强迫症的工程师来说,软件汉化固然好用,但是汉化不完整却极为头疼,本方法针对iReport汉化不完整的情况,强制使用英文版,方法如下:
在 iReport 安装路径下的 etc/ireport.conf 里增加红色部分启动参数,即可变为英文版。
# ${HOME} will be replaced by user home directory accordin
- [并行计算]论宇宙的可计算性
comsci
并行计算
现在我们知道,一个涡旋系统具有并行计算能力.按照自然运动理论,这个系统也同时具有存储能力,同时具备计算和存储能力的系统,在某种条件下一般都会产生意识......
那么,这种概念让我们推论出一个结论
&nb
- 用OpenGL实现无限循环的coverflow
dai_lm
androidcoverflow
网上找了很久,都是用Gallery实现的,效果不是很满意,结果发现这个用OpenGL实现的,稍微修改了一下源码,实现了无限循环功能
源码地址:
https://github.com/jackfengji/glcoverflow
public class CoverFlowOpenGL extends GLSurfaceView implements
GLSurfaceV
- JAVA数据计算的几个解决方案1
datamachine
javaHibernate计算
老大丢过来的软件跑了10天,摸到点门道,正好跟以前攒的私房有关联,整理存档。
-----------------------------华丽的分割线-------------------------------------
数据计算层是指介于数据存储和应用程序之间,负责计算数据存储层的数据,并将计算结果返回应用程序的层次。J
&nbs
- 简单的用户授权系统,利用给user表添加一个字段标识管理员的方式
dcj3sjt126com
yii
怎么创建一个简单的(非 RBAC)用户授权系统
通过查看论坛,我发现这是一个常见的问题,所以我决定写这篇文章。
本文只包括授权系统.假设你已经知道怎么创建身份验证系统(登录)。 数据库
首先在 user 表创建一个新的字段(integer 类型),字段名 'accessLevel',它定义了用户的访问权限 扩展 CWebUser 类
在配置文件(一般为 protecte
- 未选之路
dcj3sjt126com
诗
作者:罗伯特*费罗斯特
黄色的树林里分出两条路,
可惜我不能同时去涉足,
我在那路口久久伫立,
我向着一条路极目望去,
直到它消失在丛林深处.
但我却选了另外一条路,
它荒草萋萋,十分幽寂;
显得更诱人,更美丽,
虽然在这两条小路上,
都很少留下旅人的足迹.
那天清晨落叶满地,
两条路都未见脚印痕迹.
呵,留下一条路等改日再
- Java处理15位身份证变18位
蕃薯耀
18位身份证变15位15位身份证变18位身份证转换
15位身份证变18位,18位身份证变15位
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 201
- SpringMVC4零配置--应用上下文配置【AppConfig】
hanqunfeng
springmvc4
从spring3.0开始,Spring将JavaConfig整合到核心模块,普通的POJO只需要标注@Configuration注解,就可以成为spring配置类,并通过在方法上标注@Bean注解的方式注入bean。
Xml配置和Java类配置对比如下:
applicationContext-AppConfig.xml
<!-- 激活自动代理功能 参看:
- Android中webview跟JAVASCRIPT中的交互
jackyrong
JavaScripthtmlandroid脚本
在android的应用程序中,可以直接调用webview中的javascript代码,而webview中的javascript代码,也可以去调用ANDROID应用程序(也就是JAVA部分的代码).下面举例说明之:
1 JAVASCRIPT脚本调用android程序
要在webview中,调用addJavascriptInterface(OBJ,int
- 8个最佳Web开发资源推荐
lampcy
编程Web程序员
Web开发对程序员来说是一项较为复杂的工作,程序员需要快速地满足用户需求。如今很多的在线资源可以给程序员提供帮助,比如指导手册、在线课程和一些参考资料,而且这些资源基本都是免费和适合初学者的。无论你是需要选择一门新的编程语言,或是了解最新的标准,还是需要从其他地方找到一些灵感,我们这里为你整理了一些很好的Web开发资源,帮助你更成功地进行Web开发。
这里列出10个最佳Web开发资源,它们都是受
- 架构师之面试------jdk的hashMap实现
nannan408
HashMap
1.前言。
如题。
2.详述。
(1)hashMap算法就是数组链表。数组存放的元素是键值对。jdk通过移位算法(其实也就是简单的加乘算法),如下代码来生成数组下标(生成后indexFor一下就成下标了)。
static int hash(int h)
{
h ^= (h >>> 20) ^ (h >>>
- html禁止清除input文本输入缓存
Rainbow702
html缓存input输入框change
多数浏览器默认会缓存input的值,只有使用ctl+F5强制刷新的才可以清除缓存记录。
如果不想让浏览器缓存input的值,有2种方法:
方法一: 在不想使用缓存的input中添加 autocomplete="off";
<input type="text" autocomplete="off" n
- POJO和JavaBean的区别和联系
tjmljw
POJOjava beans
POJO 和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Pure Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比 POJO复杂很多, Java Bean 是可复用的组件,对 Java Bean 并没有严格的规
- java中单例的五种写法
liuxiaoling
java单例
/**
* 单例模式的五种写法:
* 1、懒汉
* 2、恶汉
* 3、静态内部类
* 4、枚举
* 5、双重校验锁
*/
/**
* 五、 双重校验锁,在当前的内存模型中无效
*/
class LockSingleton
{
private volatile static LockSingleton singleton;
pri