- Touchmove获取当前触摸的Dom节点
会做饭的技术男
前端
原文链接:https://www.jianshu.com/p/a2a41fe20790Touchmove获取当前触摸的Dom节点近期为自己的app增加一个通讯录首字母导航的功能,如下图蓝色框部分,需求很好理解,在手指触摸相应字母时,通讯录自动滚动到相应首字母的联系人。image.png这边通过需求分析,很容易联想到,使用touchstart和touchmove这两个方法来处理响应操作,touchs
- Linux的部分常用基础指令
IU宝
linux服务器
目录1.ls指令2.pwd命令3.cd指令4.touch指令5.mkdir指令6.rmdir指令&&rm指令7.rm命令可以同时删除文件或目录8.man指令9.cp指令10.mv指令11.cat指令12.more指令13.less指令14.head指令15.tail指令16.find指令17.which指令18.whereis指令19.alias指令20.grep指令1.ls指令语法:ls[选项]
- c高级终端指令
zm
php开发语言
复习命令行提示符:显示当前用户、计算机名、当前路径和用户权限。切换用户:使用su用户名切换用户,sudopasswd用户名修改用户密码。文件操作命令:cd用于切换目录,ls列出文件和目录,mv移动或重命名文件,cp复制文件,cat查看文件内容,touch创建或更新文件时间戳。网络配置虚拟网络模式:桥接模式下虚拟机和主机可网络通信且IP不同;主机模式只能与主机通信;NAT模式外部看到主机和虚拟机IP
- Web网页开发——水果忍者
大道归简
AI模型探索前端javascripthtml
1.介绍复刻经典小游戏——水果忍者2.预览3.代码FruitNinjaWebDemobody{margin:0;padding:0;overflow:hidden;background-color:#333;font-family:Arial,sans-serif;touch-action:none;}#gameCanvas{background-color:#87CEEB;display:blo
- pip 加速
少爷想养猫
pythonpip
修改~/.pip/pip.conf文件没有就通过命令创建touchpip.conf[global]index-url=https://pypi.tuna.tsinghua.edu.cn/simple[install]trusted-host=pypi.tuna.tsinghua.edu.cn即可添加清华源,事实上,conda暂时的清华源被停用了,所以最好还是用pip安装较为方便,另外据我实验发现p
- Linux中常见命令使用
海绵宝宝
Linuxlinux运维服务器
Linux命令,本质是一个二进制可执行程序,与Windows系统中的.exe文件是一个意思ls-l-l看到的信息,开始是d,说明是文件夹,开始是-,则是文件w-h让文件大小更人性化的显示文件操作命令touch创建文件用法:touchLinux路径touch命令无选项,参数必填查看文件内容cat准备好文件内容后,可以通过cat查看内容用法:cat没有选项,只有必填参数,参数表示:被查看的文件路径。m
- vue 3D 翻页效果
qq_31683775
vue.js3d前端
初始页exportdefault{data(){return{startX:0,//触摸开始的X坐标moveX:0,//当前移动的X坐标threshold:100,//滑动阈值};},methods:{onTouchStart(event){this.startX=event.touches[0].clientX;},onTouchMove(event){this.moveX=event.touc
- git上传设置忽略文件.gitignore,忽略node_modules等
cc° 淡忘
Git
创建.gitignore文件进入项目文件,右键选择GitBashHere进入命令行,输入touch.gitignore,生成.gitignore文件在生成的.gitignore文件里输入你要忽略的文件夹及其文件即可。//.gitignore文件node_modules/dist/配置语法:以斜杠“/”开头表示目录;以星号“*”通配多个字符;以问号“?”通配单个字符以方括号“[]”包含单个字符的匹配
- C++ 单列模式在touchGFX 中的应用
黑果果的思考
touchGFX学习笔记stm32
一)资源管理场景1)图像资源管理:在TouchGFX应用中,通常会有许多图像资源,如界面图标、背景图片等。使用单例模式创建一个图像资源管理器,可以确保这些图像资源在整个应用中被有效地管理。例如,一个游戏应用可能有多个关卡界面,每个关卡都有自己的背景图和一些道具图标。通过单例模式的图像资源管理器,可以在应用启动时统一加载这些图像,避免在每个关卡界面分别加载导致的内存占用过多和加载时间过长的问题。这个
- Touch事件分发机制
Ti_wj
Touch事件分发中只有两个主角:ViewGroup和View。Activity的Touch事件事实上是调用它内部的ViewGroup的Touch事件,可以直接当成ViewGroup处理。View在ViewGroup内,ViewGroup也可以在其他ViewGroup内,这时候把内部的ViewGroup当成View来分析。ViewGroup的相关事件有三个:onInterceptTouchEven
- touchgfx的工作机制
黑果果的思考
touchGFX学习笔记嵌入式硬件
touchgfx的工作机制一.MVP软件架构MVP的全称为Model-View-PresenterModel:就是数据部分,在整个touchgfx应用中,只有一个Model类实例对象,它为所有的Screen屏幕界面服务,可以理解成是一个全局变量区,同时它还负责和后端系统通信View:就是UI界面部分,对应于View类,在整个touchgfx应用中,可以存在多个View实例对象,一个View实例对象
- Linux新手入门必备------基本指令
是北欢吆
Linux操作系统linux运维服务器
目录一、获取帮助信息1、man指令2、help指令3、常用快捷键二、文件目录类1、pwd显示当前工作目录的绝对路径2、ls列出目录的内容3、cd切换目录4、mkdir创建一个新文件目录5、touch创建空文件6、cp复制文件或目录7、rm/rmdir删除文件或目录8、mv移动文件与目录或重命名9、cat查看文件内容10、more文件内容分屏查看器11、less分屏显示文件内容12、head显示文件
- Mac端安装配置Java8环境。
wangyanfei2021
javajdkmac
文章目录一、Mac端安装Java,并配置环境变量。1.下载JDK8版本2.配置环境变量总结一、Mac端安装Java,并配置环境变量。以最快的方式使Java在你的电脑运行起来。1.下载JDK8版本浏览器下载点击:OracleJDK.Mac版本下载以.dmg结尾的开发包。下载完成双击安装,一路继续。2.配置环境变量如果是第一次配置,可以在终端使用touch~/.bash_profile创建配置文件,.
- [Intervention] Ignored attempt to cancel a touchmove event with cancelable=false, for example becaus
IT木昜
vuevue全家桶vue前端框架javascriptcss3es6
vue报错:[Intervention]Ignoredattempttocancelatouchmoveeventwithcancelable=false,forexamplebecausescrollingisinprogressandcannotbeinterrupted解决方案:使用css3touch-action:none;touch-action:当你触摸并按住触摸目标时候,禁止或显示系
- Linux命令终极指南:从入门到精通掌握150+核心指令
放氮气的蜗牛
深度博客linux运维服务器
一、文件与目录管理1.基础导航pwd#显示当前工作目录(PrintWorkingDirectory)ls-lah#列出所有文件包括隐藏文件,人性化大小显示#-l长格式-a所有文件-h易读大小cd~#切换到用户家目录(ChangeDirectory)cd-#返回上一个工作目录2.文件操作touchfile.txt#创建空文件或更新时间戳cp-arvsrcdest#递归复制保留属性(Archive+V
- 初尝git自结命令大全与需要理解的地方记录
GardenTu
gitgithub
常用命令gitinit–初始化工作区touch文件全称–在工作区创建文档rm文件全称--删除文档notepad++文件全称–在工作区打开文档cat文件全称–在显示框显示文档的东西gitstatus--显示工作区的文件冲突的文件(gitadd文件全称或者.)—将工作区文件放到暂存区(gitcommit-m“提示信息”)–缓存区提交在版本库gitlog看修改记录gitconfig--globaluse
- Docker 部署AnythingLLM
炫爱小七
docker容器ai
两个指令搞定1.下载镜像dockerpullmintplexlabs/anythingllm2.运行容器exportSTORAGE_LOCATION=$HOME/anythingllmmkdir-p$STORAGE_LOCATIONchmod-R777$STORAGE_LOCATIONtouch"$STORAGE_LOCATION/.env"dockerrun-d-p3001:3001\--cap
- git add .报错:warning: in the working copy of ‘.idea/inspectionProfiles/Project_Default.xml‘, LF will
司南锤
代码报错gitintellij-ideaxml
报错信息如下:$gitadd.warning:intheworkingcopyof'.idea/inspectionProfiles/Project_Default.xml',LFwillbereplacedbyCRLFthenexttimeGittouchesitwarning:intheworkingcopyof'.idea/inspectionProfiles/profiles_settin
- html5 判断长按操作,移动端h5模拟长按事件
weixin_39933414
html5判断长按操作
1、标志位vartimer='';varisLongTouch=false;//加个标志位,防止settimeout因为事件循环和实际时间有偏差vartarget=document.getElementById('target');target.addEventListener('touchstart',function(){timer=setTimeout(function(){isLongTo
- linux常用基础命令_最新版
脚大江山稳
linux运维服务器
常用命令查看当前目录下个各个文件大小查看当前系统储存使用情况查看当前路径删除当前目录下所有包含".log"的文件linux开机启动jar更改自动配置文件后操作关闭自启动linux静默启动java服务查询端口被占用查看软件版本重启关机开机启动取别名清空当前行创建文件touch创建文件夹查找文件/文件名/大小查找查看文件内容cat/more删除文件或文件夹管道符|过滤grep命令echo命令输出内容重
- Mac终端出现-bash-3.2$切换到user用户
ZiHai子海
Mac使用问题Macbash
Mac终端出现-bash-3.2$切换到user用户经过网上查询,对自身使用Mac电脑切换用户问题的整理打开终端输入如下代码第一步:exportPATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin第二步:cd~/第三步输入:touch.bash_profile第四步输入:open.bash_profile第五步,打开文件编辑界面最后一行输入export
- touchdesigner常用材质
守着黎明看日出
笔记
1.constant常用的渲染材质,对光效无反应,没有阴影。可直接调整该材质的基础颜色2.phong可以渲染透明度灯光相机等,但几何体要有法线和纹理贴图。PhongShading建模三种类型的反射光:环境光-环境光被认为不是来自任何特定方向的光,因此在整个表面上是恒定的。漫反射-漫反射对由粗糙表面反射的光进行建模。该光在所有方向上均等地反射,因此观察者的位置不会影响感知的照明。镜面反射-镜面反射对
- cocos creator从零开发虚拟摇杆(完结)-跟随移动摇杆
cocos
关注干货悦读公众号,获取摇杆资源。编辑scripts/JoyStick.ts,修改onTouchMove方法。privateonTouchMove(event:cc.Event.EventTouch){if(!this._canMove)returnconstposDelta=event.getDelta()if(this.joystickType==JoystickType.Fixed||thi
- cocos creator从零开发虚拟摇杆(04)-摇杆事件触发
cocos
编辑scripts/JoyStick.ts,添加handlers属性。@property([cc.Component.EventHandler])privatehandlers:cc.Component.EventHandler[]=[]privateringNode:cc.Node修改onTouchMove方法,结尾处添加如下代码。constdir=this.dotNode.getPositio
- Face ID(面部识别)和Touch ID(指纹识别)生物识别的使用iOS (附完整代码)
QNMJD
FaceIDTouchIDiOSios安全
越来的多的项目使用了FaceID(面部识别)和TouchID(指纹识别),不得不说确实很方便。最近整理了一下完整的使用方法,放在下面。运行效果:识别中效果下面是代码实现步骤一,首先我们需要引入头文件#import,这个框架里封装了我们需要的生物识别模块。#import步骤二,判断设备是否支持FaceID(面部识别)和TouchID(指纹识别)//创建LAContextLAContext*conte
- 第三次作业
姚永强
linux运维服务器
1.在/home中创建一个名为file1.txt的文件,并设置权限为:所有者和组成员可以读写,但其他人只能读。[root@localhosthome]#touchfile1.txt[root@localhosthome]#ll-rw-r--r--.1rootroot011月1123:06file1.txt[root@localhosthome]#chmod774file1.txt[root@loc
- click和tap以及事件穿透
一只桃子~
javascript开发语言ecmascript
click在移动端有太多复杂的功能是监听不到的,例如,触摸、按住和轻滑,且click事件时间上会有延迟,大概200-300ms,这时候就要用tap方法了。但是tap还有一个特点就是事件穿透,就是你执行完绑定的tap事件之后呢,如果下面如果绑定了其他事件或者是本身就存在点击事件的话,也会默认触发。解决办法1.第一种通过执行e.preventDefault()阻止touchend事件的默认行为,//第
- vue 调用c++_electron 调用原生模块及c++与js交互
weixin_39857513
vue调用c++
环境篇touchbinding.gyp//创建构建文件加入以下代码{"targets":[{"target_name":"greet",//greet为输出的文件名"sources":["./src/greeting.cpp",//greeting.cpp为输入的c++文件],}]}创建一个入口c++文件cdsrctouchgreeting.cpp//放入以下代码#includeusingname
- uniapp小程序禁止遮罩弹窗下的页面滚动的完美解决办法
星沉大海@T
uni-appVue小程序
问题最近用uniapp开发一款APP,页面是可以滚动的长列表,自定义组件弹窗遮罩出来后,滑动屏幕底部还在滚动,研究了网上的解决办法:在最外层的view中加入@touchmove.stop.prevent="moveHandle"在最外层的view中加入@catchtouchmove="moveHandle"我测试了一下这两个事件方法发现不太理想,会导致弹窗和底部页面都不能滚动了,或者处理不当就报一
- 推荐项目:Vue-Touch-Ripple,打造优雅的触碰涟漪效果
杭云瑗Ward
推荐项目:Vue-Touch-Ripple,打造优雅的触碰涟漪效果vue-touch-rippleAink-rippleeffectcomponentfor@vuejs项目地址:https://gitcode.com/gh_mirrors/vu/vue-touch-ripple在追求极致用户体验的前端领域,细节往往决定了一款应用的质感。今天,我们来探讨一个能够为Vue应用增添MaterialDes
- 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 "xxxxx@xxxxx.com"生成公钥,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