- Hive适用语法
`whyYa
hivehadoop数据仓库
一、日期处理函数总结1.trunc()–取日期中当月第一天trunc(‘2022-12-05’,‘MM’)--取当月第一天2022-12-01trunc(‘2022-12-05’,‘Q’)--季度中的第一天2022-10-01trunc(‘2022-12-03’,‘YEAR’)–取当年第一天20222.last_day()–取当月最后一天last_day(‘2022-12-03’)3.month(
- debian安装docker
Sahas1019
debiandockereureka
debian安装docker/dev/null对于Debian11(bullseye)或更新版本:echo\"deb[arch=$(dpkg--print-architecture)signed-by=/usr/share/keyrings/docker-archive-keyring.gpg]https://download.docker.com/linux/debian\$(lsb_relea
- Ubuntu22.04安装cudnn详细步骤
大鹏的NLP博客
深度学习cudnn
下载指定版本的cudnnhttps://developer.nvidia.com/rdp/cudnn-archive#a-collapse804-111安装sudodpkg-icudnn-local-repo-ubuntu2204-8.9.7.29_1.0-1_amd64.deb根据上步提示:sudocp/var/cudnn-local-repo-ubuntu2204-8.9.7.29/cudnn
- Docker安装部署MySQL+Canal+Kafka+Camus+HIVE数据实时同步
是小南啊_-
Javajavacentosdockerkafkahadoop
因为公司业务需求要将mysql的数据实时同步到hive中,在网上找到一套可用的方案,即MySQL+Canal+Kafka+Camus+HIVE的数据流通方式,因为是首次搭建,所以暂时使用伪分布式的搭建方案。一、安装docker安装docker的教程网上一搜一大把,请参考:centos下docker安装教程二、docker安装MySQL安装教程网上也有很多,请参考:docker安装MySQL1.开启
- assembly : maven assembly打包报错:maven to create assembly : unable to obtain archiver for extension
九师兄
工具-maven
原因是没有添加org.apache.maven.plugins<artifactId
- 使用Java实现MP3音乐播放器
原文链接:http://www.cnblogs.com/haoxia/archive/2009/06/03/1495419.html使用Java实现MP3音乐播放器JavaSound是一个小巧的低层API,支持数字音频和MIDI数据的记录/回放。在JDK1.3.0之前,JavaSound是一个标准的Java扩展API,但从Java2的1.3.0版开始,JavaSound就被包含到JDK之中。由于J
- 零基础 Qt 6 在线安装教程
程序员乐逍遥
Qt框架MFC框架高级编程qt开发语言qt6C++安装
1.首先给你们Qt5.14.2的安装地址,有需要的可以安装Indexof/archive/qt/5.14/5.14.22.首先下载Qt6的在线安装包https://d13lb3tujbc8s0.cloudfront.net/onlineinstallers/qt-online-installer-windows-x64-4.10.0.exe3.安装运行程序
- Docker快速构建Hive测试环境
静谧星光
dockerhive容器编程
Docker是一种流行的容器化平台,可以帮助我们快速构建和管理应用程序的环境。在本文中,我们将学习如何使用Docker快速构建Hive测试环境。Hive是一个基于Hadoop的数据仓库基础设施,它提供了一种类似于SQL的查询语言,用于分析和处理大规模数据集。步骤1:安装Docker和DockerCompose首先,我们需要安装Docker和DockerCompose。您可以根据您的操作系统类型,从
- Docker快速部署Hive服务
长路 ㅤ
运维Docker配置Hive环境大数据远程调试
文章目录前言Docker快速配置hive环境资料获取前言博主介绍:✌目前全网粉丝4W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。涵盖技术内容:Java后端、大数据、算法、分布式微服务、中间件、前端、运维等。博主所有博客文件目录索引:博客目录索引(持续更新)CSDN搜索:长路视频平台:b站-Coder长路Docker快速配置hive环境Ap
- Android解压工具,ZArchiver,RAR for Android,iZip,The Unarchiver,解压专家
xiaopengbc
软件android
介绍手机解压缩工具种类繁多,以下为你推荐一些功能强大、操作便捷的软件,涵盖安卓和iOS平台:安装点击获取ZArchiver(Android):支持ZIP、RAR、7z、tar、gzip等多种格式的解压与压缩,还能创建7z、zip等格式的压缩包。软件体积小、运行效率高,解压速度快,可对文件进行加密压缩或解压加密文件,保护隐私。其界面简洁直观,支持中文界面,是安卓平台上受欢迎的解压软件之一。RARfo
- Apache SeaTunnel × Hive 深度集成指南:原理、配置与实践
数据库
在大数据处理的复杂生态中,数据的高效流转与整合是实现数据价值的关键。ApacheSeaTunnel作为一款高性能、分布式、易扩展的数据集成框架,能够快速实现海量数据的实时采集、转换和加载;而ApacheHive作为经典的数据仓库工具,为结构化数据的存储、查询和分析提供了坚实的基础。将ApacheSeaTunnel与Hive进行集成,能够充分发挥两者的优势,构建起高效的数据处理链路,满足企业多样化的
- 大数据平台之ranger与ldap集成,同步用户和组
无级程序员
大数据大数据hadoop
ranger可以通过ranger-usersync与linux系统同步用户,但是,还有个问题,就是我们的hiveserver一般是集群,可以是多台服务器,那么我们空间同步哪一台呢,而且如果用户多了,如何管理用户登录密码呢,所以,还是要用ldap比较合理。首先是安装openldap:yum-yinstallopenldapcompat-openldapopenldap-clientsopenldap
- Apache Iceberg数据湖基础
Aurora_NeAr
apache
IntroducingApacheIceberg数据湖的演进与挑战传统数据湖(Hive表格式)的缺陷:分区锁定:查询必须显式指定分区字段(如WHEREdt='2025-07-01')。无原子性:并发写入导致数据覆盖或部分可见。低效元数据:LIST操作扫描全部分区目录(云存储成本高)。Iceberg的革新目标:解耦计算引擎与存储格式(支持Spark/Flink/Trino等);提供ACID事务、模式
- Android导入compile 'com.roughike:bottom-bar:2.3.1'会导致V7包报错
出现问题Error:Executionfailedfortask':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.>java.lang.RuntimeException:java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException:
- z-library 镜像网站
0x0007
linux运维服务器
基于各种你知道的,你不知道的原因,z-library的访问,尤其在国内的访问需要很多手段,没有一劳永逸的方法,只有与时俱进,不忘初心,砥砺前行,永不停歇收集了一些镜像站,随时可能失效,不定期更新:https://annas-archive.org/https://zlib.apphttps://zbook.lol/https://zlibrary.mlhttps://zlib.missuo.me/
- 各种版本Android Studio下载地址
官网各种AndroidStudio版本:https://developer.android.com/studio/archive,如下:当前(2025-07-05)官方提供的版本最旧的只能到2017年的版本了,有时候想安装旧的版本,比如我在学Gradle时,有教程在讲解时使用的AndroidStudio是较旧的版本,所以我想保持开发环境一样,这时就需要下载到旧的版本,但是官网上已经找不到下载链接了
- ubuntu 6.8.0 安装xenomai3.3
ZPC8210
ROSubuntulinux运维
通过以下步骤来获取和准备Linux内核6.8.0的源码,并应用Xenomai补丁:1.下载Linux内核6.8.0源码你可以从TheLinuxKernelArchives下载Linux内核6.8.0的源码。以下是具体步骤:访问内核官方网站:打开TheLinuxKernelArchives。找到对应版本的内核:在网站中找到内核6.8.0的下载链接。通常在v6.x目录下。下载源码:下载linux-6.
- Hadoop核心组件最全介绍
Cachel wood
大数据开发hadoop大数据分布式spark数据库计算机网络
文章目录一、Hadoop核心组件1.HDFS(HadoopDistributedFileSystem)2.YARN(YetAnotherResourceNegotiator)3.MapReduce二、数据存储与管理1.HBase2.Hive3.HCatalog4.Phoenix三、数据处理与计算1.Spark2.Flink3.Tez4.Storm5.Presto6.Impala四、资源调度与集群管
- 数据仓库技术及应用(Hive 产生背景与架构设计,存储模型与数据类型)
娟恋无暇
数据仓库笔记hive
1.Hive产生背景传统Hadoop架构存在的一些问题:MapReduce编程必须掌握Java,门槛较高传统数据库开发、DBA、运维人员学习门槛高HDFS上没有Schema的概念,仅仅是一个纯文本文件Hive的产生:为了让用户从一个现有数据基础架构转移到Hadoop上现有数据基础架构大多基于关系型数据库和SQL查询Facebook诞生了Hive2.Hive是什么官网:https://hive.ap
- Log Miner 挖挖挖
|LogMiner简介LogMiner是Oracle自Oracle8i以后推出的一个可以分析数据库redolog和archivelog内容的工具,可以通过日志分析所有对数据库的DDL和DML操作,也可以分析出操作的时间与操作时的SCN和进行操作的机器,对于DML操作还可以查询出还原操作的sql。|LogMiner组成源数据库产生LogMiner分析的所有重做日志文件的数据库挖掘数据库是执行LogM
- apt-get install E: 无法定位软件包问题
欧阳秦穆
在etc/apt的sources.list添加镜像源debhttp://archive.ubuntu.com/ubuntu/trustymainuniverserestrictedmultiverse然后sudoapt-getupdate接着安装就可以了
- hive中2种常用的join方式
潘达斯奈基~
大数据hivehadoop数据仓库
在最近的项目代码review中,发现之前代码小表关联大表的业务,小表经过过滤后,数据只有400多条,而大表有1600万条,之前的逻辑是使用的是小表join大表,运行时间1小时12分钟;经过优化后,使用了mapjoin的方式,将小表放到内存中,运行时间7分钟。借此机会回顾下hive中2种常用的join方式:MapJoin、ReduceJoin(也叫CommonJoin)应对场景:MapJoin:适用
- linux安装java jdk17 ng
1、下载jdk包wget--header=“Cookie:oraclelicense=accept-securebackup-cookie”https://download.oracle.com/java/17/archive/jdk-17.0.10_linux-x64_bin.tar.gz2、解压jdk包:tar-zxvfjdk-17.0.10_linux-x64_bin.tar.gz3、编辑配
- flink数据同步mysql到hive_基于Canal与Flink实现数据实时增量同步(二)
背景在数据仓库建模中,未经任何加工处理的原始业务层数据,我们称之为ODS(OperationalDataStore)数据。在互联网企业中,常见的ODS数据有业务日志数据(Log)和业务DB数据(DB)两类。对于业务DB数据来说,从MySQL等关系型数据库的业务数据进行采集,然后导入到Hive中,是进行数据仓库生产的重要环节。如何准确、高效地把MySQL数据同步到Hive中?一般常用的解决方案是批量
- spark处理kafka的用户行为数据写入hive
月光一族吖
sparkkafkahive
在CentOS上部署Hadoop(Hadoop3.4.1)和Hive(Hive3.1.2)的详细步骤说明。这份指南面向单机安装(伪集群模式),如果需要搭建真正的多节点集群,各节点间的网络互访、SSH免密登录以及配置同步需进一步调整。注意:本指南假设你已拥有root权限或者具有sudo权限,并且系统连接Internet(用于下载安装包)。步骤中的版本号可根据实际需要进行更改。一、环境准备更新系统软件
- .NET Framework 3.5 中的功能简介
benben0701
ASP.NET3.x.netwindowswcflinqasp.netcryptography
.NETFramework3.5中的功能简介(1)我在前文《.NETFramework版本解析》(http://blog.csdn.net/johnsuna/archive/2008/03/23/2208684.aspx)中提到:.NETFramework3.5=.NETFramework3.0+.NETFramework3.0SP1.NETFramework3.0=.NETFramework2.
- ubuntu FreeRadius服务器安装
flowHEHE
ubuntu系统安装ubuntu服务器
1、获取安装源(1)wgethttps://github.com/FreeRADIUS/freeradius-server/archive/v3.0.x.zip(2)unzipv3.0.x.zip(3)cdfreeradius-server-3.0.x/2、创建ubuntu相关依赖(1)sudoapt-getinstalldevscriptsquiltdebhelperfakerootequivs
- Hbase和关系型数据库、HDFS、Hive的区别
别这么骄傲
hivehbase数据库
目录1.Hbase和关系型数据库的区别2.Hbase和HDFS的区别3.Hbase和Hive的区别1.Hbase和关系型数据库的区别关系型数据库Hbase存储适合结构化数据,单机存储适合结构化和半结构数据的松散数据,分布式存储功能(1)支持ACID(2)支持join(3)使用主键PK(4)数据类型:int、varchar等(1)仅支持单行事务(2)不支持join,把数据糅合到一张大表(3)行键ro
- 大数据基础知识-Hadoop、HBase、Hive一篇搞定
原来是猪猪呀
hadoop大数据分布式
HadoopHadoop是一个由Apache基金会所开发的分布式系统基础架构,其核心设计包括分布式文件系统(HDFS)和MapReduce编程模型;Hadoop是一个开源的分布式计算框架,旨在帮助用户在不了解分布式底层细节的情况下,开发分布式程序。它通过利用集群的力量,提供高速运算和存储能力,特别适合处理超大数据集的应用程序。Hadoop生态圈Hadoop生态圈是一个由多个基于Hadoop开发的相
- Hadoop、HDFS、Hive、Hbase区别及联系
静心观复
大数据hadoophdfshive
Hadoop、HDFS、Hive和HBase是大数据生态系统中的关键组件,它们都是由Apache软件基金会管理的开源项目。下面将深入解析它们之间的区别和联系。HadoopHadoop是一个开源的分布式计算框架,它允许用户在普通硬件上构建可靠、可伸缩的分布式系统。Hadoop通常指的是整个生态系统,包括HadoopCommon(共享库和工具)、HadoopDistributedFileSystem(
- 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