- ctfshow-反序列化(web267-web270)
网安小t
反序列化CTFSHOW反序列化反序列化漏洞渗透测试网络安全
目录web267web268web269web270总结web267页面用的什么框架不知道看源码看一下框架就是一种软件工具,它提供了一些基础功能和规范,可以帮助开发者更快地构建应用程序。比如Yii框架和ThinkPHP框架就是两个流行的PHP框架,它们提供了很多现成的功能和工具,让开发者可以更轻松地编写代码,不需要从零开始。使用框架可以加快开发速度、提高代码质量,并且有助于维护和扩展应用程序。查看
- 腾讯企业邮箱:创建邮件授权码
.卡
问题记录php开发语言后端
文章目录申请官网绑定生成密码PHP脚本发送代码(465端口)Yii框架发送代码(587端口)申请官网腾讯企业邮箱绑定生成密码PHP脚本发送代码(465端口)require_once__DIR__."/vendor/autoload.php";usePHPMailer\PHPMailer\PHPMailer;usePHPMailer\PHPMailer\SMTP;...$mail=newPHPMai
- Yii CSRF验证的原理解析及编程实现
后端架构魔术师
csrf前端数据库编程
CSRF(Cross-SiteRequestForgery)跨站请求伪造是一种常见的网络攻击方式,攻击者通过构造恶意请求来利用用户在目标网站上的身份认证信息。为了防止CSRF攻击,Yii框架提供了内置的CSRF验证机制。本文将详细解析Yii框架中CSRF验证的原理,并给出相应的编程实现。CSRF验证原理:CSRF验证的基本原理是在用户提交的表单中添加一个CSRF令牌(Token),该令牌与用户的会
- Yii学习--使用Yii来建立博客
wbj0110
计算机php框架使用Yii来建立博客YIIGIIZIIphp
Yii之初体验安装Yii创建应用骨架应用的工作流程在这一部分里,我们将讲解怎样建立一个程序的骨架作为着手点。为简单起见,我们假设Web服务器根目录是/wwwroot,相应的URL是http://www.example.com/。1.安装Yii首先,我们来安装Yii框架。从www.yiiframework.com获取一份Yii的拷贝,解压缩到/wwwroot/yii。再次检查以确保/wwwroot/
- PHP开源yii框架,Yii - 开发框架 - PHP开源项目 - 开源吧
黑猫厨房
PHP开源yii框架
相关开源项目AlloyFramework:AlloyFramework是一个轻量级分层MVCPHP框架。采用模块化组织,以REST为核心,支持PHP5.3.2+。P4A:P4A是一个PHPRAD与面向对象的PHP框架用于开发事件驱动的Web应用程序。它的特点TablelessHTML,accesskey支持,point&click应用生成器,自动数据类型识别,UTF-8/i18n/l10n支持,P
- yii框架封装拼多多开放平台sdk
yshir-phper
php及后台框架
yii框架封装拼多多开放平台sdk'https://mms.pinduoduo.com/open.html?','H5'=>'https://mai.pinduoduo.com/h5-login.html?','JINBAO'=>'https://jinbao.pinduoduo.com/open.html?',];//无需授权/**@varstring获取购买应用订单列表*/constAPI_P
- php视图,PHP的Yii框架中View视图的使用进阶
weixin_39577964
php视图
视图名渲染视图时,可指定一个视图名或视图文件路径/别名,大多数情况下使用前者因为前者简洁灵活,我们称用名字的视图为视图名.视图名可以依据以下规则到对应的视图文件路径:视图名可省略文件扩展名,这种情况下使用.php作为扩展,视图名about对应到about.php文件名;视图名以双斜杠//开头,对应的视图文件路径为@app/views/ViewName,也就是说视图文件在yii\base\Appli
- 今日小记
薛灵均
1.今天被yii框架气到吐血,感觉只要改动一小点,整个文件夹的代码就报废了,偏偏你还不知道错在哪。后来无意问同学的情况,才知道是model那块出了问题,对于他原来的代码只能注释掉和增加,不能删除或修改。改了一整天,从早上到下午,比较欣慰的是自己实现了原有代码没有的查询功能。2.吃晚饭的时候开始搬东西到新宿舍。新宿舍挺宽敞,挺喜欢的,就是没人帮自己搬太累了,又没有借推车。整个胳膊酸的要死。明天还要继
- PHP之ThinkPHP框架
-恰饭第一名-
php学习笔记php
一、框架概述1、什么是框架框架就是一些代码类、方法(函数)、变量、常量的集合,这些代码是功能结构性的代码(并非业务代码)。业务代码其实就是具体的一些模块的增删改查逻辑代码。使用框架开发项目,有便于代码重用、开发效率高、代码规范好、便于功能扩展等优点。2、php中的主流框架ZendFrameword框架,PHP官方框架YII框架,又叫易框架Symfony框架。通常用于借鉴引用Laravel框架,市场
- phpyii框架倒叙_PHP中Yii框架的基本用法
weixin_39619433
phpyii框架倒叙
本篇文章主要介绍PHP中Yii框架的基本用法,感兴趣的朋友参考下,希望对大家有所帮助。在Yii自动生成的代码里,我们总能在admin的界面看到CGridView的身影。这是一个很好用的展示数据的表格控件,用的好可以明显地加快开发进度。下面就让我们来探索一下CGridView的基本使用吧:droptableifexists`tbl_user`;CREATETABLEtbl_user(`user_id
- yii2反序列化漏洞总结
Z3eyOnd
Web安全网络安全linux
文章目录yii2框架反序列化漏洞复现yii框架搭建过程CVE-2020-15148复现链子2链子3链子4链子5链子6参考链接yii2框架反序列化漏洞复现yii框架Yii是一个适用于开发Web2.0应用程序的高性能PHP框架。Yii是一个通用的Web编程框架,即可以用于开发各种用PHP构建的Web应用。因为基于组件的框架结构和设计精巧的缓存支持,它特别适合开发大型应用,如门户网站、社区、内容管理系统
- 好用的composer包记录
gao922699
https://github.com/kartik-vyii框架高产库https://github.com/yiisoftyii框架官方库jwt(jsonwebtoken)加密解密:firebase/php-jwt[https://github.com/firebase/php-jwt](https://github.com/firebase/php-jwt"https://github.com/
- yii1 使用memcache 缓存不更新、过期时间不生效
Mr_jinhua
杂七杂八缓存memcached数据库
YII中使用memcacheYII框架中使用memcache的方法详解(IT技术)上链接为引入使用方法但今天突然发现设置的缓存不更新,导致页面不更新1.先排查缓存,发现加的有页面片段缓存5min,关闭页面缓存,还是不更新2.关闭数据缓存,生效,但打开页面缓慢,且数据库压力较大、排除方案(保底方案,捂脸)3.重启memcache,清除所有缓存,生效。查看memcache状态容量无异常这块有坑建议不乱
- 项目笔记整理
村长王无敌
YII框架:Yii::$app->db->createCommand($sql)->query()//返回DataReader对象,并返回查询结果集Yii::$app->db->createCommand($sql)->queryOne()//返回结果集的第一行数据Yii::$app->db->createCommand($sql)->queryAll();//查询所有行数据Yii::$app->
- 小程序-小程序登录微信昵称头像接口升级(Yii框架版本)
眼眸间的深情
小程序微信微信小程序头像昵称获取wx.uploadFileJSON.parse的具体使用小程序头像图片获取与上传服务器YiiAPI
1.问题描述小程序登录接口升级之后,将之前的微信昵称和头像返回为微信用户和灰色头像,如下图所示:2.解决方案处理方案引入微信小程序的最新临时对接方案:选择或者上传微信头像选择或者填写微信昵称思路梳理①微信授权获取空白头像和微信用户昵称②新增获取最新用户数据代码,与数据库进行存储对接工作③更新之后的用户则无需第二次的头像昵称信息的修改操作效果展示点击个人中心的灰色头像显示操作页面微信头像操作微信昵称
- CTFshow 反序列化
Sn_u
php服务器开发语言
目录CTFshow反序列化web262-SoapClient类的利用web263-PHPsession反序列化什么是session?PHPsession的存储机制web265-变量引用web266-类和方法不区分大小写web267-yii框架反序列化漏洞web268-yii第二条链子web269-yii第三条链子web270-yii第四条链子web271-laravel5.7反序列化漏洞web27
- ctfshow 反序列化篇(下)
XiLitter
#web安全phpweb安全
web267(yii框架)开启靶机,是一个网站,试着搜索有没有重要信息。在这里发现是yii框架。我们使用弱口令admin/admin就可以登录进来了,那就继续收集重要信息。在源代码中发现了重要注释。让我们传一个view-source参数。出现了传参点,百度搜索yii反序列化漏洞,有相关的poc可以直接打。想知道构造思路可以看这篇文章:yii框架反序列化相关poc为:checkAccess='she
- yii2+sign签名认证 demo
yunxixiao
phpyiiphpyii2sign签名认证
代码下载yii2框架+sign签名认证-PHP文档类资源-CSDN下载签名认证要注意满足以下几点:可变性:每次的签名必须是不一样的。时效性:每次请求的时效,过期作废等。唯一性:每次的签名是唯一的。完整性:能够对传入数据进行验证,防止篡改。yii框架行为类增加如下部分接口想要跳过认证的yii添加如下代码签名认证接口Sign.php具体的使用方式参考readme说明学习笔记,仅供参考!如有侵权,请联系
- Centos 安装 memcached, 并增加到php应用中. yii框架
张燊Jason
100.上线运维开发阶段-PHP
安装yuminstallmemcached安装完phpinfo测试,看php是否已经支持.如果没有,则需要php.ini文件中增加extension="memcache.so"启动/bin/memcached-d-m1024-uroot-l127.0.0.1-p11211-c1024-P/tmp/memcached.pid-d选项是启动一个守护进程,-m是分配给Memcache使用的内存数量,单位
- [LNMP]php程序注释建议规范和工具
tumg的LNMP_IOS小集
说明本注释建议适用于php程序开发,包括基于Yii框架的php开发,不局限于本规范所列出的注释参数,但至少遵循phpDoc的标准进行注释。类文件注释适用于自定义的类文件或其他php文件的注释,放在文件的头部/***描述你的类或文件的作用**@package所属的模块名或函数组名,例如:本类文件是Gather模块的其中一个数据处理类,那填上Gather*@author你的名字简称或账户名*@copy
- TP笔记1、TP框架概述
欧文Z-phone
ThinkPHP
1框架框架本质就是半成品的源码库框架一般包含很多内置功能(数据库的操作、分页、验证码)1.1PHP常用框架zendfromeworkYII框架:典型特点将代码的重用率使用到极限Laravel框架thinkPHP框架:简称TP1.2TP框架的优点国人开发。符合国人编程思想TP社区较活跃(使用人多),文档充足国内使用量较大。可以支持很多种项目1.3TP文件目录解释Application:TP默认的应用
- Yii 框架学习(三)
一生一场戏
yii框架是基于model模型开发的,开发过程中需要熟练使用yii框架的模型规则,才可以更好的开发项目。Snipaste_2019-05-09_18-07-32.png
- Yii 框架的下载
一生一场戏
yii框架的安装分为两种方式:1、composer安装,2、归档文件下载安装一、composer安装最新发布的是2.0.18(2019年4月23日)此版本和旧版本的更改升级说明所有Yii2.x版本的列表通过Composer安装(推荐)此处描述的安装说明是一个简短的摘要,您可能需要查看“权威指南”以获取更详细的说明。选择一个应用程序模板以开始安装Yii2.0。应用程序模板是一个包,其中包含用Yii编
- Yii框架的安装
一生一场戏
访问我们的yii框架了。在浏览器中输入http://localhost/basic/web/index.php进行访问,首次访问会出现一个报错。火狐截图_2019-05-07T08-20-13.334Z.png需要在config/web.php文件中的'cookieValidationKey'=>'',添加密钥,如下图所示:Snipaste_2019-05-07_16-22-57.png我们再回到
- Yii 框架学习(一)
一生一场戏
一、Yii框架数据库配置文件位于:web/db.php文件中,根据自己的需求对数据库文件进行配置。如下图示:Snipaste_2019-05-08_16-59-11.png二、创建新的控制器方法,根据已存在的siteController.php方法,学习。三、前台css文件放在web\assets文件夹下四、去掉yii2默认头部和底部Snipaste_2019-05-08_17-07-36.png
- 在类中使用 behaviors 时,如何避免序列化失败
天蓬小号
现象有时候在类中使用了TimestampBehavior或其他AttributeBehavior,突然缓存就不能用了,写入缓存时抛出异常:Exception:Serializationof'Closure'isnotallowedin...这可能是因为在将数据写入缓存前,要用到PHP的serialize()函数对数据进行序列化,从而导致异常。分析以Yii框架为例,定义一个Team对象,并使用Att
- yii+swoole上手websocket(1)—— demo
JUNE言JUNE语
给自己找一点事情做~说明:利用yii框架纯粹只是避免重复造轮子~~先撸一个helloworld吧[Talkischeap.Showmethecode]这一段是从官网copy下来的服务端代码,贼好使use\Swoole\WebSocket\Server;$server=newServer("0.0.0.0",9501);$server->on('open',function(Server$serve
- Yii框架下的where条件查询
白云证心
条件查询cond)->all();$cond就是我们所谓的条件,条件的写法也根据查询数据的不同存在差异,那么如何用yii2的方式来写查询条件呢?【简单条件】1,'status'=>2]//SQL:(idIN(1,2,3))AND(status=2)$cond=['id'=>[1,2,3],'status'=>2]//SQL:statusISNULL$cond=['status'=>null]【an
- Yii笔记-如何理解事件
李楠30
官网文档一直没理解Yii的事件怎么用,今天突然看到一个文章用前端的视角来解释后端事件的使用,突然明白了一些。在前端表格提交之前都会进行各种验证,这里会根据表单的输入、焦点离开、点击事件来编写各种事件处理函数。Yii的事件也是这么用就很好理解了,Yii框架提供了很多事件这就和js中的onclick一样是实现提供好的,只要定义好事件处理函数就会在特定事件触发时执行。另一种是自定义事件,这种是最灵活的用
- YII框架user表结构,admin账号数据
九点四十
--Database:`yii`------------------------------------------------------------表的结构`user`CREATETABLE`user`(`id`int(11)NOTNULL,`username`varchar(255)NOTNULL,`auth_key`varchar(32)NOTNULL,`password_hash`var
- 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