- 《深入理解Mybatis原理》MyBatis配置解析过程
后端javamybatis
配置解析主体方法publicConfigurationparse(){if(parsed){thrownewBuilderException("EachXMLConfigBuildercanonlybeusedonce.");}parsed=true;//源码中没有这一句,只有parseConfiguration(parser.evalNode("/configuration"));//为了让读者
- python-leetcode-路径总和
Joyner2018
leetcode算法职场和发展
112.路径总和-力扣(LeetCode)#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left=None,right=None):#self.val=val#self.left=left#self.right=rightclassSolution:defhasPathSum(self,root:Optio
- RK3588 Ubuntu系统编译
南风知奇意
RK3588ubuntulinuxRK3588
1、建议配置1.1硬件配置编译Ubuntu开发环境硬件配置建议:64位CPUUbuntu20.04系统16GB内存250GB空闲空间用来编译1.2软件配置sudoaptupdatesudoapt-getinstallgitsshmakegcclibssl-devliblz4-tool\expectg++patchelfchrpathgawktexinfochrpathdiffstatbinfmt-
- RK3588上安装Ubuntu20.04修改源
chenzhy223
RK3588ubuntulinux运维
RK3588上安装Ubuntu20.04修改源1、参考资料2、更改镜像源2.1、选择源1、参考资料1、清华大学开源软件镜像站.2、Ubuntu软件仓库镜像使用帮助3、UbuntuPorts软件仓库镜像使用帮助4、unbuntu18.04apt-getupdate时报错armpackage找不到–华为服务器(已解决)5、opencv安装(解决libjasper-dev和MIPI接口)2、更改镜像源2
- 基于讯为RK3588平台搭建Ubuntu20.04.5根文件系统
襟铭心缘
RK3588学习笔记ubuntulinuxarm开发
准备工作在搭建系统之前,需要详细阅读讯为公司提供的一些资料(虽然他们家资料一直都做的不完善),搭建好用于开发的Ubuntu虚拟机环境,熟练使用一些常用工具如烧录系统的工具RKDevTool、传输文件的工具FileZilla、远程连接工具MobaXterm等等。当然,本章只针对根文件系统,uboot、kernel的镜像文件和驱动文件需要提前准备好,编译讯为提供的Rockchip的SDK即可得到这些文
- RK356X/RK3588构建Ubuntu20.04根文件系统
那肯定是很多年以后!
全志&瑞芯微开发实战linux
文章目录前言一、官网下载ubuntu-base二、挂载并构建文件系统2.1、配置构建文件系统环境2.2、编写挂载脚本mount.sh并安装相关工具2.3、轻量级的桌面环境lubuntu-desktop2.4、卸载一些不必要的软件2.5、添加用户2.6、允许root用户登录桌面2.7、串口自动登录2.8、开机卡“AstartjobisrunningforwaitfornetworktobeConfi
- 【apt源】RK3588 平台ubuntu20.04更换apt源
名栩
家庭存储aptRK3588
RK3588芯片使用的是aarch64架构,因此在Ubuntu20.04上更换apt源时需要使用针对aarch64架构的源地址。以下是针对RK3588芯片在Ubuntu20.04上更换apt源到清华源的正确步骤:步骤一:打开终端在Ubuntu20.04中,按下Ctrl+Alt+T打开终端。步骤二:备份原始的source.list文件在终端中输入以下命令以备份原始的source.list文件:sud
- Vue.js组件开发-实现HTML内容打印
LCG元
前端vue.jshtml前端
在Vue项目中实现打印功能,可以借助vue-html-to-paper插件来完成。步骤创建Vue项目:如果还没有Vue项目,可以使用VueCLI来创建一个新的项目。npminstall-g@vue/clivuecreatevue-print-templatecdvue-print-template安装vue-html-to-paper插件:该插件可以将HTML内容转换为打印页面。npminstal
- 自定义穿梭框 vue穿梭框
不停留
npm组件vuejshtmlvue.jscss3
基于vue和elementUI的穿梭框elementUI中提供了很强大的穿梭框组件,但是在具体的项目或是业务中,还会有一些特殊的需求没有办法满足。所以抽空做了这个穿梭框组件,供我们当前所迭代的产品使用,目前时初步试用,会再根据试用过程中做的优化再度更新。现在发出来是希望如果有遇到同样开发需求的童鞋,可以一起来完善这个组件。安装npminstalltransfer-table代码仓链接link.简介
- node-sass已经废弃了,需要替换成以下方式
i7i8i9com
sass前端css
今天runserve时一直提示:SyntaxError:Error:Cannotfindmodule'node-sass'而尝试安装:npminstallnode-sass又报错pmWARNconfigglobal`--global`,`--local`aredeprecated.Use`--location=global`instead.npmWARNoldlockfilenpmWARNoldl
- Node多终端前后端同时执行
锐视创想
前端nodenodejs
当前项目为node-vue-ele-app(服务端)└client(前端客户端)安装concurrentlynpmiconcurrently进入Client文件夹,编辑package.json"scripts":{"serve":"vue-cli-serviceserve","build":"vue-cli-servicebuild","start":"npmrunserve"}
- electron实现热更新以及和前端同时启动(三)
SquirrelPineal
前端electronvue.js
1、安装3个模块npminstall-Dwait-onnpminstall-Dconcurrentlynpminstallnodemon设置好端口"scripts":{"dev":"vite","build":"vue-tsc--noEmit&&vitebuild","preview":"vitepreview",
- 【二叉树】二叉树剪枝
豪冷啊
算法
0x00题目给你二叉树的根结点root此外树的每个结点的值要么是0,要么是1返回移除了所有不包含1的子树的原二叉树节点node的子树为node本身加上所有node的后代0x01思路叶子节点值为0时,去掉某个节点的如果要去掉则左子树的值全为0右子树的值是全为0再加上节点本身的值也是0反过来讲,也就是以某个节点为根的子树只要存在值为1的节点则这棵子树不用删除0x02解法语言:Swift树节点:Tree
- webpack-bundle-analyzer 打包分析工具
cc蒲公英
辅助工具webpack前端node.js
移动端项目优化的时候,需要这个插件来可视化查看打包大小,在此记录下插件官网地址一.安装npminstall--save-devwebpack-bundle-analyzer二.使用方式:1.作为插件使用(推荐)在webpack配置文件,如果有生产配置文件放入生产配置文件里require方式引入进来,然后在plugins配置项new一个实例即可constwebpack=require('webpac
- webpack 打包自己的--windows
未来之窗软件服务
webpack前端node.js
第一步安装node1、安装nodejs:https://nodejs.org/zh-cn/download/releases/一、Window系统配置:打开命令窗口,进入当前工程目录npm配置淘宝镜像:npmconfigsetregistryhttp://registry.npm.taobao.org/npm安装parcel-bundler:npminstall-gparcel-bundler运行
- Vue.js组件开发-使用Vue3如何实现上传word作为打印模版
LCG元
前端vue.jsword前端
使用Vue3实现Word模板上传、解析和打印功能的完整解决方案:一、实现步骤安装依赖创建文件上传组件实现.docx文件解析创建打印预览组件实现打印功能样式优化二、完整代码实现1.安装依赖npminstallmammothaxios2.创建文件上传组件(FileUpload.vue)选择Word模板{{errorMessage}}importmammothfrom'mammoth';exportde
- Ubuntu系统GAMIT10.7程序安装
说书人_J
gamitubuntulinux系统安装
Ubuntu20.04系统GAMIT10.7程序安装最近选修课学习GAMIT,经过学习整理,将自己的安装过程分享一下,写的不够详细,有问题可以再继续交流。首先,进入Ubuntu系统并确认连接互联网。1、安装环境打开终端(快捷键是Ctrl+Alt+T),输入sudosu会提示你输入账户密码,输入后可获得root权限了。接下来安装支持GAMIT的软件包,依次输入以下代码,注意联网。apt-getins
- 信息学奥赛一本通-1178-成绩排序 解答
爆炒玛奇玛
信息学奥赛一本通c++
【题目描述】给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。【输入】第一行为n(0usingnamespacestd;structnode{charname[30];inta;}c[30],b;intmain(){intn;inti,j;cin>>n;for(i=1;
- 鸿蒙多环境配置(二)
龙儿筝
鸿蒙harmonyos
你是否每次手动更改发布证书打app包上加应用市场呢?你是否每次打完包都手动在名称后添加版本号和时间呢?不同环境的依赖包经常打包时忘记改呢?其实这些鸿蒙都支持动态配置。认识hvigor编译构建hvigor将工程解析为一个树形结构,项目为树的根节点,项目中的每个模块为树的叶子节点,树最多为两层,模块中不能包含其他模块,在hvigor的定义中统称项目或模块为一个node(节点)。在构建最开始的初始化阶段
- eslint配置解读
小白路过
javascripteslint
主要介绍一些常规的eslint配置属性,及如何查看对应eslint插件的具体规则配置内容。extend配置常见的extend配置解析{extends:['plugin:vue/recommended']}也可以写成{plugins:['eslint-plugin-vue']}eslint插件命名规则:惯例是使用不带eslint-plugin-前缀的npm包名称。plugin:vue/recomme
- Hadoop HA 格式化NameNode 顺序
凡许真
hadoop大数据分布式HA
文章目录前言一、启动JournalNode二、格式化NameNode1.执行格式化命令2.启动namenode3.执行格式化命令4.启动namenode其他前言记录搭建HadoopHA架构时格式化namenode问题一、启动JournalNode分别启动JournalNode,命令如下hadoop-daemon.shstartjournalnode二、格式化NameNode1.执行格式化命令找其中
- 类Node.js开源项目(最后一个鲜为人知)
liulun
node.jsc++
Node.js(https://nodejs.org/)Node.js基于V8和libuv创建,跨平台,生态丰富,大家都很熟悉,我就少说两句。Deno(https://deno.com/)Deno的创建者,就是Node.js的创建者:RyanDahl。它之所以离开Node,创建Deno主要是因为以下几个原因:历史包袱问题:比如:CommonJS和ESModulesnpm包管理机制与node_mod
- 网易云音乐评论生成Wordcloud(词云)
SCUTJcfeng
Python网易云音乐词云
网易云音乐评论生成Wordcloud(词云)1前言1.1目的本篇主要介绍网易云音乐爬取歌曲知足的评论生成词云,可以结合新浪微博生成词云学习。1.2工具Wordcloud词云(pipinstallwordcloud安装即可)jieba分词(pipinstalljieba安装即可)第三方网易云API(需配合node.js食用):https://github.com/Binaryify/NeteaseC
- 自建stgcn数据集并训练
青年夏日科技工作者
AI编程
参考了许多博文,慢慢地也就把st-gcn跑出来了,参考的文章一会附在文章里面,实测有用。1.安装st-gcn复现STGCNCPU版(ubuntu16.04+pytorch0.4.0+openpose+caffe)_Significance的博客-CSDN博客复现旧版STGCNGPU版(win10+openpose1.5.0)_Significance的博客-CSDN博客22.准备训练数据集官方使用
- Linux国内镜像源详细修改教程
网友阿贵
Linuxlinux运维服务器
Linux系统下,CentOS和Ubuntu的镜像源修改教程因版本不同而有所差异。以下是针对CentOS7至9以及Ubuntu16.04至22.04的国内外镜像源修改教程:CentOSCentOS7备份原有的YUM源文件:sudocp/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.bak选择并下载国内镜像源:阿里
- Ubuntu 16.04安装Lua
一张假钞
ubuntulualinux
个人博客地址:Ubuntu16.04安装Lua|一张假钞的真实世界在Linux系统上使用以下命令编译安装Lua:curl-R-Ohttp://www.lua.org/ftp/lua-5.3.3.tar.gztarzxflua-5.3.3.tar.gzcdlua-5.3.3makelinuxtest安装make编译过程如果提示以下信息则需要先安装make:#makelinuxtestTheprogr
- ubuntu18.04 交换区扩容
Oliver-H
环境搭建C_C++ubuntuc++
Ubuntu18.04运行程序时,报以下错误:g++:internalcompilererror:Killed(programcc1plus)g++:internalcompilererror:Killed(programcc1plus)Pleasesubmitafullbugreport搞了老半天,终于解决了,记录一下,免得忘记!!!出现以上问题原因是内存不足,使用交换分区来解决:1、查看交换分
- Electron+Vue3+ElectronForge整合 - 打包时整合 -分步打包
NorthCastle
ElectronVue3electronvue3electronforge打包vue3打包成桌面程序
说明本文介绍一下Electron+Vue3的打包整合的基本操作。实现的效果是:1、一个正常的Vue3项目;2、整合加入Electron框架:开发时Electron加载的是开发的vue项目;3、完成打包时整合:3.1先完成vue3项目的正常打包;3.2再完成electron项目的打包。步骤一:创建vue3项目常规操作,不再赘述。#创建项目npmcreatevue@latest#进入到项目目录cd#安
- 使用node-addon-api实现从c到nodejs模块全流程
lxkj_2024
c语言linux
目录1前言2安装nodejs3安装开发工具链3.1安装node-gyp3.2安装编译工具链(C/C++编译器)4初始化Node.js项目4.1创建项目目录4.2初始化package.json4.3安装必要的库5编写代码5.1创建项目结构5.2编写动态库代码5.3编写Node.js原生模块代码5.4配置binding.gyp6编译模块7测试模块1前言我们的客户端是使用electron打包的前端程序,
- Ubuntu22.04安装CUDA10.1
想夹逼但不收敛
ubuntuc++
Ubuntu22.04安装CUDA10.1前言gcc降级添加软件源更新软件源安装gcc-7更换gcc版本安装CUDA10.1前言ubuntu22.04支持cuda10.7以上的版本,而在一些情况下我们需要用到低级的cuda版本,本文以用ubuntu22.04安装cuda10.1为例。而在ubuntu中最主要的是gcc的变化,我们需要7.5+的gcc,而一般情况下ubuntu22.04只有gcc11
- 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