通过一些通信方式传输的数据(比如:串口传输),有时候会保存为char类型的数据数据,我们需要把char数组中的所有数据转化为int整数,方法一是直接通过移位运算来实现:charc[4]={0x3,0x0f,0xf,0xf};chart;intnum=0;intlen=sizeof(c)/2;chard[sizeof(c)/2]{0};for(inti=0,j=0;j
【信息学奥赛一本通 C++题解】1286:怪盗基德的滑翔翼
信奥大黄
信息学奥赛一本通c++算法
信息学奥赛一本通(C++版)在线评测系统基础算法第一节动态规划的基本模型1286:怪盗基德的滑翔翼1.理解题意同学们,我们一起来看怪盗基德遇到的这个有趣问题哦。怪盗基德成功偷到了钻石,可倒霉的是他的滑翔翼动力装置被柯南破坏了。现在他在一个城市里,这个城市有一排建筑,一共有N幢,而且每幢建筑的高度都不一样呢。基德可以从这一排建筑中的任意一幢的顶部开始他的逃跑旅程哦。不过他有两个限制条件:一是他只能朝
图论- 经典最小生成树算法
左灯右行的爱情
图论算法
最小生成树算法什么是最小生成树Kruskal算法关键代码实现Prim最小生成树算法Kruskal和Prim算法的区别为什么Prim算法不需要判断成环,但Kruskal需要什么是最小生成树在图中找一棵包含图中所有节点的树,且权重和最小的那棵树就叫最小生成树.如下:右侧生成树的权重和显然比左侧生成树的权重和要小。(但是它并不是最小的,这里只是比较一下不同的树)Kruskal算法最小生成树是若干条边的集
基于C语言的单向链表按“索引”插入或者删除某节点实现
張三600
c语言链表数据结构
正文在学习学堂在线西安科技大学的数据结构与算法课程后,我基于课程的伪代码实现了单向链表的插入和删除操作。以下代码展示了如何建立一个带有一个空数据头结点和五个数据节点的单向链表,以及如何在链表的指定索引位置插入和删除节点。以下是完整的代码实现:#include#include//结构体声明typedefstructLNode{intdata;//链表节点数据域structLNode*next;//链
【开源向量数据库】Milvus简介
IT古董
开源数据库milvus
Milvus是一个开源、高性能、可扩展的向量数据库,专门用于存储和检索高维向量数据。它支持近似最近邻搜索(ANN),适用于图像检索、自然语言处理(NLP)、推荐系统、异常检测等AI应用场景。官网:https://milvus.io/1.Milvus的特点(1)高性能支持数十亿级向量数据,查询速度快。使用近似最近邻(ANN)索引算法,如HNSW、IVF-FLAT、IVF-PQ、SCANN等。(2)分
第二章:12.3 建立表现基准
望云山190
基准性能水平人工智能机器学习
背景介绍语音识别是一种常见的机器学习应用,用户通过语音输入代替键盘输入,系统需要将语音转换为文本。在这个过程中,算法的性能可以通过训练误差和交叉验证误差来评估。误差定义训练误差(Jtrain):指算法在训练数据集上无法正确转录的音频片段的百分比。在这个例子中,训练误差是10.8%,意味着算法在训练数据上犯了10.8%的错误。交叉验证误差(Jcv):指算法在未见过的数据(交叉验证集)上无法正确转录的
单链表基本操作(C语言版)
邂逅you
数据结构数据结构ptac语言开发语言数据结构算法链表
7-1单链表基本操作分数45作者朱允刚单位吉林大学请编写程序实现单链表插入、删除结点等基本算法。给定一个单链表和一系列插入、删除结点的操作序列,输出实施上述操作后的链表。单链表数据域值为整数。输入格式:输入第1行为1个正整数n,表示当前单链表长度;第2行为n个空格间隔的整数,为该链表n个元素的数据域值。第3行为1个正整数m,表示对该链表施加的操作数量;接下来m行,每行表示一个操作,为2个或3个整数
STM32:STM32 DMA编程:DMA与USART的数据传输
kkchenjj
STM32编程等单片机编程stm32嵌入式硬件单片机
STM32:STM32DMA编程:DMA与USART的数据传输STM32_DMA简介DMA的基本概念DMA,全称为DirectMemoryAccess(直接内存访问),是一种硬件技术,允许数据在内存和外设之间直接传输,而无需CPU的干预。在STM32微控制器中,DMA控制器可以显著提高数据传输的效率,特别是在处理大量数据或高速数据流时,如音频、视频或传感器数据的采集和处理。原理DMA控制器包含多个
图论- Dijkstra算法
左灯右行的爱情
图论算法python
Dijkstra算法前言概念BFS基础模版DijkstraDijkstra函数签名State类distTo记录最短路径伪代码模版第一个问题解答第二个问题解答第三个问题解答前言学习这个算法之间,必须要对BFS遍历比较熟悉,它的本质就是一个特殊改造过的BFS算法.概念Dijkstra算法是一种计算图中单源最短路径算法,本质上是一个经过特殊改造的BFS算法,改造点有两个:使用优先队列,而不是普通队列进行
图论 - 一些经典小算法思想(无题目例子)
左灯右行的爱情
图论算法java
经典小算法前言拓扑结构名流问题暴力解法优化解法二分图二分图判定思路前言主要介绍一些有意思的小算法拓扑结构简单来说,把一幅图拉平,而且这个拉平的图里面,所有的箭头方向都是一致的.比如下图所有的箭头都是朝右的.注意:如果是一副有向图存在环,无法进行拓扑排序,因为肯定做不到所有箭头方向一致;那图的拓扑结构如何实现呢?这个特别简单,首先你要先确认好建图时对边的定义!如果有向边定义为[依赖]关系:比如节点2
计算机网络之路由算法(层次路由算法)
DKPT
#计算机网络计算机网络网络网络协议学习笔记
一、基本思想层次路由算法的基本思想是将大规模网络划分为多个层次或区域,每个区域内部的路由器运行相同的路由协议,并维护该区域内的路由信息。区域之间的路由器则负责将数据包从一个区域转发到另一个区域,而无需了解整个网络的拓扑结构。这种分层结构可以降低路由器的路由表大小,提高路由算法的效率和可扩展性。二、工作原理区域划分:将整个网络划分为多个区域(或自治系统AS),每个区域内部包含一组路由器。区域之间的路
图论---最小生成树
漫漫信奥之路
图论图论算法数据结构
树是一种特殊的图,具有很多特殊的性质。生成树问题研究的是将图中的所有顶点保留,但只选择图中的部分边,得到一棵树(也就是图的生成树)的问题。最小生成树则是在这些生成树中,边权之和最小的生成树。可以使用prime算法或者kruskal算法求解最小生成树。生成树相关概念1、生成树定义在一个V个点的无向连通图中,取其中V-1条边,并连接所有的顶点,所得到的子图称为原图的一棵生成树2、树的属性树是图的一种特
探索Python数组工具类 ArrayUtils:功能强大的数组操作助手
FinkGO小码
Pythonpython开发语言程序人生numpypycharm课程设计经验分享
引言在Python编程的世界里,数组(通常以列表list形式呈现)是一种极为常用的数据结构。无论是数据处理、算法实现还是日常的编程任务,对数组进行高效且便捷的操作都是必不可少的。然而,Python内置的数组操作方法虽然丰富,但在实际开发中,我们可能需要将一些常用的操作封装起来,以提高代码的复用性和可维护性。今天,我们就来详细介绍一个自定义的Python数组工具类ArrayUtils,它将众多实用的
TCP三次握手四次挥手和TCP/UDP区别
不写bug的程序媛
javatcp/ipudp网络
TCP/UDP区别TCP是面向连接的可靠传输,UDP是面向无连接的不可靠传输TCP是面向字节流的,UDP是基于数据报的TCP保证数据正确性,UDP可能丢包TCP保证数据顺序,UDP不保证TCP三次握手:第一次握手:客户端通过向服务端发送一个含有同步序列号的标志位的数据段给服务端,向服务端请求建立连接,通过这个数据段,客户端告诉服务端两件事:我想要和你通信;你可以用哪个序列号作为起始数据段来回应我。
YOLO系列版本迭代:从YOLOv1到YOLOv11的技术演进
金外飞176
技术前沿目标跟踪人工智能计算机视觉
YOLO系列版本迭代:从YOLOv1到YOLOv11的技术演进YOLO(YouOnlyLookOnce)系列目标检测算法自2016年首次发布以来,凭借其高效的实时检测能力,迅速成为计算机视觉领域的热门研究方向之一。本文将详细回顾YOLO系列从v1到v11的版本迭代过程,分析每个版本的技术改进、性能提升以及应用场景。1.YOLOv1:开创性的单阶段检测算法YOLOv1是目标检测领域的一个重要里程碑,
【DeepSeek】一文详解GRPO算法——为什么能减少大模型训练资源?
FF-Studio
DeepSeekR1算法
GRPO,一种新的强化学习方法,是DeepSeekR1使用到的训练方法。今天的这篇博客文章,笔者会从零开始,层层递进地为各位介绍一种在强化学习中极具实用价值的技术——GRPO(GroupRelativePolicyOptimization)。如果你是第一次听说这个概念,也不必慌张,笔者会带领你从最基础的强化学习背景知识讲起,一步步剖析其来龙去脉,然后再结合实例讲解GRPO在实际应用中的思路和操作示
基于FastAPI使用JWT技术实现的OAuth2用户认证接口
火云牌神
fastapiAI编程实战jwtfastapi
文章目录关于OAuth2关于JWT安装依赖准备用户数据库关于**user_dict处理用户密码和token/令牌关于hash/哈希实现登录和获取用户信息接口关于OAuth2PasswordRequestForm启动程序测试效果身份验证获取当前登录用户信息用未激活用户测试总结查看完整代码本文阐述了如何基于FastAPI框架实现OAuth2用户认证,其中使用哈希算法对密码进行了加密,使用JWT持有令牌
聚焦大模型!隐语技术团队研究成果被 ICASSP 与 ICLR 两大顶会收录
隐私开源模型
“隐语”是开源的可信隐私计算框架,内置MPC、TEE、同态等多种密态计算虚拟设备供灵活选择,提供丰富的联邦学习算法和差分隐私机制。开源项目:https://github.com/secretflowhttps://gitee.com/secretflow导语:2023年,「大模型」走到了聚光灯下,技术圈的“头部玩家”们纷纷入场,其潜能和价值正在被不断挖掘与释放。与此同时,大模型相关的隐私安全问题也
Audio-Visual Speech Enhancement(视听语音增强)领域近三年研究进展与国内团队及手机厂商动态分析
AndrewHZ
深度学习新浪潮智能手机算法计算机视觉硬件架构硬件工程智能硬件
一、视听语音增强领域近三年研究进展多模态融合与模型轻量化多模态特征融合:中国科学技术大学团队提出通过引入超声舌头图像和唇部视频的联合建模,结合知识蒸馏技术,在训练阶段利用教师模型传递舌部运动知识,从而在推断时仅依赖唇部视频即可提升语音增强效果。此外,中科院声学所提出基于泰勒展开的模型架构,将幅度-相位解耦与空间-谱域解耦重新建模,提升算法可解释性并优化性能。轻量化模型设计:中国科大与腾讯天籁实验室
TCP/UDP 简介,三次握手与四次挥手
Ashy-
前端面试题前端笔记计算机网络tcp/ipudp网络
一、TCP三次握手目的:为了解决在不可靠的信道上建立可靠的网络连接三次握手是连接请求的过程:A发送连接请求的数据给B(发送SYN包)B同意连接,返回数据给A(返回SYN+ACK包)A收到后回复数据给B(返回ACK包),连接建立以上过程不区分客户端和服务端,tcp的连接是全双工的。两端均采用上述机制。Q:为什么不是两次握手?因为在不可靠的网络上可能会存在传输问题,比如A的第一次连接请求没有到B(网络
无线工业物联数据交互优化方案,基于巨控GRM240
何工13763355074
巨控GRM240巨控GRM230GRM241Q-4D4I4Q
无线工业物联数据交互优化方案1.方案背景与技术优势广州巨控科技深耕工业物联领域十余年,依托4G+边缘计算技术打造新一代无线传输体系。针对化工行业防爆、长距离传输及信号干扰等痛点,本方案采用多重隔离架构与动态加密协议,确保数据在复杂工业环境下的完整性与安全性。相比传统有线方案,部署效率提升80%,运维成本降低76%。2.客户场景与核心需求目标场景:A/B/C/D四区部署485流量计(10台)及液位计
计算机学习建议
qincjun
学习
对于现代得计算机开发者而言;最快的是要见到成效;这是一个功利性的社会;对于99%的人来说,先保证自己可以在社会上活下去才是最重要的;而不是追求梦想;一、职业Web前端:HTML、CSS、JavaScript、Vue3框架、React框架等;客户端:C#后端:(C语言、C++)或者Java数据库:MySQL之类的数据库操作;算法工程师:算法相关书籍;架构师:Linux相关;并做过前后端请一定要想好去
DeepSeek的崛起之路:从技术突破到行业变革
诚信爱国敬业友善
心得人工智能aiDeepSeek
一、DeepSeek的进化历程初创与奠基(2023-2024)作为幻方量化子公司,DeepSeek于2023年在杭州成立,专注于大语言模型研发。其首代模型通过量化投资的算法积累实现推理效率突破,为后续发展奠定基础。技术爆发(2024-2025)2024年末:发布DeepSeek-V3(671B参数),性能超越多数开源模型,逼近GPT-4等闭源标杆。2025年1月:推出R1系列(660B参数),通过
企业文件安全管理中的数据加密与权限控制实践探讨
够快云库
企业数据安全企业文件安全
在数字化时代,企业数据安全已成为保障业务稳定与持续发展的基石。面对日益复杂的网络威胁和数据泄露风险,如何通过有效的数据加密与权限控制技术保护文件安全,成为企业IT和信息化负责人亟待解决的重要课题。一、数据加密技术的重要性传输加密在文件传输过程中,利用SSL/TLS等加密协议,可有效防止中间人攻击,确保数据在网络传输中的安全性。存储加密对静态文件进行AES、RSA等加密处理,即使存储介质被非法获取,
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