- Groovy初探
先写一个java代码//./java/MyClass.javapublicclassMyClass{publicintadd(){inta=1;intb=2;returna+b;}publicstaticvoidmain(String[]args){MyClassm=newMyClass();System.out.println(m.add());}}编译java源文件javacMyClass.j
- JMeter groovy 编译成.jar 文件
黑哒哒的盟友
jmeterjarjava
groovy编译一、windows下手动安装Groovy下载Groovy二进制包前往官网:https://groovy.apache.org/download.html下载Binaryrelease(https://groovy.jfrog.io/ui/native/dist-release-local/groovy-zips/apache-groovy-sdk-4.0.27.zip)解压到本地目
- mac装springboot_安装 Spring Boot CLI
2401DEM
mac装springboot
SpringBootCLI(CommandLineInterface)是一个命令行工具,可用于快速搭建基于Spring的原型。它支持运行Groovy脚本,这也就意味着你可以使用类似Java的语法,但不用写很多的模板代码。SpringBoot不一定非要配合CLI使用,但它绝对是让Spring应用进入状态的最快方式。手动安装你可以从Spring的软件仓库中下载SpringCLI分发包:一旦你下载完成后
- Jenkins Pipeline(二)
tomorrow.hello
Mavenjenkins运维
1.Pipeline变量在Jenkins管道(Pipeline)中,变量是一种非常有用的功能,它们可以帮助你在构建过程中存储和传递数据。Jenkins管道支持多种方式来定义和使用变量,包括环境变量、脚本变量以及全局变量。1.2脚本变量在pipeline脚本中,你可以使用Groovy脚本来定义和操作变量。pipeline{agentanystages{stage('Example'){steps{s
- logback 入门教程系列-03-logback config 配置
老马啸西风
logback
配置将日志请求插入应用程序代码需要相当多的计划和努力。观察表明,大约4%的代码专门用于记录。因此,即使是适度大小的应用程序也会在其代码中嵌入数千个日志记录语句。鉴于它们的数量,我们需要工具来管理这些日志语句。可以通过编程方式或使用以XML或Groovy格式表示的配置脚本来配置Logback。顺便说一句,现有的log4j用户可以使用我们的PropertiesTranslatorWeb应用程序将他们的
- Gradle 与 Maven 的深度对比分析
一、核心架构与设计哲学对比1.依赖管理机制维度GradleMaven声明语法Groovy/KotlinDSL(类型安全)XML(结构严谨,可读性低)动态版本支持2.5.+动态匹配仅支持固定版本(需-U强制更新)依赖作用域implementation/api精细控制compile/provided/test标准隔离冲突解决自动选择最高版本(可覆写)最短路径优先(需手动排除)Gradle优势:避免传递
- Jenkins Email Extension 插件
sankgao
Jenkinsjenkins运维
EmailExtension介绍问题和议题入门系统范围的配置项目配置流水线步骤用法预发送脚本和后发送脚本触发器扩展电子邮件发布者触发器常用触发选项脚本触发器选项TokensJelly脚本内容模板Groovy脚本内容模板附件Jive格式化程序EmailExtension官网地址:EmailExtension介绍这个插件通过给您更多的控制来扩展Mailer插件的功能。它提供了三个区域的定制:Trigg
- 结合Groovy脚本在IDEA可以为所欲为——使用数据库表生成实体类和表结构JSON
monkeyhi
工具使用数据库intellij-idea
生成MyBatisPlus实体在IDEA编辑器,双击shift键在GeneratePOJOs.groovy文件,同级目录下新建一个文件MyBatisPluspojo.groovy,将下面的代码粘贴进去即可,有问题可以自己改,在IDEA自带数据库工具的数据库表上右键执行importcom.intellij.database.model.DasTableimportcom.intellij.datab
- WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网
教IT的小强
前端java安全
#知识点:1、Java安全-RCE执行-5大类函数调用2、Java安全-JNDI注入-RMI&LDAP&高版本3、Java安全-不安全组件(框架)-Shiro&FastJson&Jackson&XStream&Log4j一、演示案例-Java安全-RCE执行-5大类函数调用1、GroovyExec;Datedate=newDate();Stringnow=sdf.format(date);printlnnow;python打印
- Gradle打包流程
GoatJun
Androidgradleandroid安卓
Gradle打包流程一、Gradle基础概念1、是什么自动化构建工具,通过组织一系列task来最终完成自动化构建的。2、gradle使用groovy或者kotlin编写。groovy是DSL。那么什么是DSL?DSL也就是DomainSpecificLanguage的简称,也就是领域特定语言,是为了解决某一类任务专门设计的计算机语言。DSL使用简单,定义比较简洁。3、无论是基于groovy还是ko
- groovy操作xml,获取属性值和标签值并修改
白水景东
groovygroovyxml
groovy操作xml,获取属性值和标签值,并将其修改一、用groovy操作xml,修改xml的值由于我操作的是plist文件,其中会有IOS的dtd对xml验证,解析的时候会报错,如下:org.xml.sax.SAXParseException;systemId:file:///Users/guoyf/Desktop/Info.plist;lineNumber:2;columnNumber:10
- Jenkins部署Java(maven)项目&Vue前端项目部署流水线pipeline模版-可直接使用Jenkinsfile
流水线已经编写完毕,修改流水线中参数,即可使用tips:注意Jenkins中是否给机器配置了路径前缀,本文均没有配置,使用绝对路径前端VUE部署模版#!groovypipeline{agentanyenvironment{//环境标识无其他用处,作为标识ENV_NAME="dev"//服务器标识Jenkins设置中服务器标识SERVER_CONFIG_NAME="DevComputer"//远程项
- 213. Gradle 构建工具入门
丰收连山
Java命令模式状态模式组合模式原型模式装饰器模式
一、Gradle简介Gradle构建工具入门什么是Gradle?Gradle是一个基于Groovy和KotlinDSL(领域特定语言)的开源构建自动化工具,主要用于Java、Kotlin、Android等项目的构建、测试、部署等任务。它结合了ApacheAnt的灵活性和ApacheMaven的约定优于配置(ConventionoverConfiguration)理念,同时引入了强大的依赖管理和增量
- groovy:java 发送一封带有附件的邮件
belldeep
Groovyjavajavagroovyjavax.mailemail
参阅:菜鸟教程:Java发送邮件从https://gitcode.com/open-source-toolkit/d6296/下载javax.mail-1.6.2.jar本机找到D:\groovy-2.5.6\lib\extras-jaxb\activation-1.1.1.jar你可以上网下载activation-1.1.1.jarcopyjavax.mail-1.6.2.jar,activat
- Dex 项目安装与使用教程
牧宁李
Dex项目安装与使用教程DexDex:TheDataExplorer--AdatavisualizationtoolwritteninJava/Groovy/JavaFXcapableofpowerfulETLandpublishingwebvisualizations.项目地址:https://gitcode.com/gh_mirrors/de/Dex1.项目的目录结构及介绍Dex是一个开源项目
- java 下一代语言_下一代的多语言JVM:GraalVM
胡佳威
java下一代语言
GraalVM是一款高性能的可嵌入式多语言虚拟机,它能运行不同的编程语言,包括:基于JVM的语言,比如Java,Scala,Kotlin和Groovy解释型语言,比如JavaScript,Ruby,R和PythonLLVM支持的原生语言,比如C,C++,Rust和SwiftGraalVM能有效地支持多语言应用,你可以在一个进程里同时使用多种编程语言而不会带来明显的性能开销——这样你就可以根据具体问
- Groovy基本语法
anzhenji7632
java
官方文档注释(Comments)和Java一样,支持单行(使用//)、多行(/**/)和文档注释(使用/***/)。ShebanglineUNIX系统支持一种特殊的单行注释叫作Shebangline,用于指明脚本的运行环境,这样就可以直接在终端中使用./xxx.groovy运行(当然,前提是文件得有可运行的权限),而不用像groovyxxx.groovy这样运行:#!/usr/bin/envgro
- 用 Kotlin 脚本(KTS)重塑 Android 工程效能:2000 字终极实践指南
时小雨
kotlinandroid开发语言
一、KTS核心优势解码1.1类型安全革命对比Groovy的动态类型缺陷,KTS的静态类型系统能在编译期拦截90%+的配置错误://Groovy的危险操作(运行时才会报错)dependencies{implementation"com.squareup.retrofit:retrofit:2.9.0"//拼写错误无法及时检测}//KTS的安全保障(编辑时立即提示)dependencies{imple
- jMeter压测环境部署JDK+Groovy+JMeter+Proto+IntelliJ IDEA
九班长
其它javajmeterintellij-ideawebsocketprotojsr223groovy
为确保Groovy、JDK和JMeter三者的版本兼容性,需遵循以下核心原则和步骤:一、版本兼容性对照表组件推荐版本范围关键兼容规则JDKJava8/11/17(LTS)-JMeter5.6+支持Java11/17GroovyGroovy3.0.7+或4.0+-Groovy3.x支持Java8-17-Groovy4.x支持Java11-21JMeterJMeter5.6+-JMeter5.6+内置
- Flutter 之原生混合开发
2401_85730375
flutter
打开原生项目的setting.gradle文件:include‘:app’rootProject.name=“NativeToFlutter”//加入如下代码setBinding(newBinding([gradle:this]))evaluate(newFile(‘flutter_lib/.android/include_flutter.groovy’))include‘:flutter_lib
- 13. 二分查找六题(一道困难题)
Mophead_Zarathustra
Hot100Mophead的小白刷题笔记leetcodepython
13.二分查找六题(一道困难题)这困难题是真难啊,这是我第一次做二分法章节,属实有点搞脑子。**对于二分法,灵茶山艾府的视频下面有一个评论(@毫微纳皮飞**)写的很好:我是在看了这篇文章,https://blog.csdn.net/groovy2007/article/details/78309120,里那句“关键不在于区间里的元素具有什么性质,而是区间外面的元素具有什么性质。”之后醍醐灌顶,建立
- Github 2025-04-18 Java开源项目日报 Top10
老孙正经胡说
githubjava开源Github趋势分析开源项目PythonGolang
根据GithubTrendings的统计,今日(2025-04-18统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下:开发语言项目数量Java项目10Groovy项目1C++项目1JavaGuide-Java程序员学习和面试指南创建周期:2118天开发语言:Java协议类型:ApacheLicense2.0Star数量:140773个Fork数量:44922次关注人数:140773
- Gradle安装与配置国内镜像源指南
兔子蟹子
笔记java
一、Gradle简介与安装准备Gradle是一款基于JVM的现代化构建工具,广泛应用于Java、Kotlin、Android等项目的构建自动化。相比传统的Maven和Ant,Gradle采用Groovy或KotlinDSL作为构建脚本语言,具有配置灵活、性能优越等特点。在开始安装前,请确保:已安装JDK8或更高版本(推荐JDK11+)了解您的操作系统类型(Windows/macOS/Linux)准
- AndroidStudio导入jar,aar到项目kts/groovy方式
debug_cat
AndroidStudiojarlinuxandroidandroidstudio
背景导入jar和aar到项目中新的配置方式有2中,简单,方便把jar和aar放到libs目录即可kts版本implementation(fileTree(mapOf("dir"to"libs","include"tolistOf("*.jar","*.aar"))))groovy版本implementationfileTree(dir:'libs',include:['*.jar','*.aar'
- Apache Maven 安装与配置全面指南
奔赴架构师的小白
apachemavenjava
ApacheMaven是一个项目管理和综合工具,主要用于Java项目,但它也支持其他语言如Scala和Groovy。Maven通过一个项目对象模型(POM)来管理项目构建、依赖管理和文档,大大简化了项目管理和构建过程。本指南将带你从零开始,一步步安装和配置Maven,以便你能在本地机器上顺利构建和管理Java项目。第一部分:Maven简介Maven的核心理念是约定优于配置,这意味着Maven有一个
- Groovy语言的物联网
霍徵琅
包罗万象golang开发语言后端
Groovy语言在物联网中的应用引言物联网(IoT,InternetofThings)是一个新兴的技术领域,其将物理世界中的设备通过网络连接起来,使它们能够相互通信和交换数据。随着5G技术的快速发展,物联网已逐渐渗透到各个行业,如智慧城市、智能家居、工业自动化等。在这个背景下,编程语言的选择对物联网应用的开发至关重要。Groovy作为一种动态语言,其简洁性和灵活性使其在物联网开发中逐渐受到关注。本
- 基于Groovy的规则脚本引擎实战
浪尖聊大数据-浪尖
javapythonspring编程语言jvm
因为之前在项目中使用了Groovy对业务进行一些抽象,效果比较好,过程中也踩了一些坑,所以简单记录分享一下自己如何一步一步实现的,在这里你可以了解:1、为什么选用groovy作为规则脚本引擎2、了解Groovy的基本原理和Java如何集成3、分析Groovy与java集成的一些问题和坑4、在项目中使用时做了哪些性能优化5、实际使用时需考虑的一些tips互联网时代随着业务的飞速发展,迭代和产品接入的
- Groovy的类加载机制
G-罗
JAVAJAVAGroovyClassloader双亲委派JVM
Java的双亲委派模型:Java的ClassLoader除了BootstrapClassLoader外,每个ClassLoader都有一个parent的ClassLoader,沿着parent最终会追索到BootstrapClassLoader;当一个ClassLoader要加载一个类时,会首先委派给parent,如果parent能载入这个类,则返回,否则这个ClassLoader才会尝试去载入这
- 持续交付(三)Jenkinsfile语法使用介绍
M1kasal
Jenkinsjenkinscd
前言本章主要讲述:Jenkinsfile语法基本介绍上篇blog已经讲过Pipeline的操作我们都是用解释性代码Jenkinsfile来描述且Jenkinsfile的语法形式有两种#V2.5之后引入,结构化方式-1、Declarativepipeline#基于groovy的语法-2、Scriptspipeline那本章咱们就详细讲述一下这两种语法的使用一、Declarativepipeline基
- 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