- SIP ACK method
modem协议笔记
IMS5G网络智能手机
SIPACK同样在RFC3261中定义。ACK仅仅用于对INVITErequest的response的回复,例如在通话结束时,MO要断开连接,此时就会生成一条BYE消息。BYE不会经过代理,而是直接路由到MT。MT通过200(OK)响应确认收到BYE,然后就会终止该session和BYEtransaction,此时就不会有ACK发送。在构造的ACKrequest时,ACK必须包含Call-ID、F
- SIP RFC 关系图汇总--超全---part3
jenny_yu1025
RFCSIPsessionextensionprotocolsnetworktransitionauthorization
SIPRFC关系图汇总--超全---part3Topp.13261-32xx33xx34xx35xx36xx37xx38xx39xxPrevNext40xx41xx42xx43xx44xx45xx46xx47xx48xx49xx50xx51xx52xx53xx54xx55xx56xx57xx58xx59xx60xx61xx62xxBefore326140xx#RFC4028SessionTimer
- Mac清倒废纸篓提示“voicetrigger“在使用中
ReddingtonLin
MacMac
删除Mac下的user以后,清倒废纸篓,提示“voicetrigger”在使用中。解决办法:重启Mac,开机的时候按住Cmd+R进入Recovery模式选择语言-简体中文从工具菜单中启动终端,输入密码。输入csrutildisable命令,即可关闭SIP服务。重启电脑。(正常重启即可,不用按住Cmd+R进入Recovery模式)再尝试清空废纸篓。如果还不行,就尝试用命令行删除。处理好后,再开启SI
- 猿创征文|【FreeSwitch开发实践】使用sipp对FreeSwitch进行压力测试
一马途追
FreeSwitch开发实践sipp压力测试FreeSwitch压测
✨博客主页:小小马车夫的主页✨所属专栏:FreeSwitch开发实践✨专栏介绍:主要介绍博主在实际项目中使用FreeSwitch开发外呼类项目的一些经验心得,主要涉及FreeSwitch的基本安装编译、基本配置、ESL、WSS、录音、自定义模块、mediabug、语音播放、MRCP及对接AI机器人等内容。内容在持续更新中,如果感兴趣可以对专栏进行订阅~文章目录前言1、sipp编译安装2、sipp命
- SIPp常用脚本之三:UAC
weixin_34075551
网络
UAC是作为SIP消息的发起端,可以控制消息速率什么的,方便极了。一、uac.xml;tag=[call_number]To:Call-ID:[call_id]CSeq:1INVITEContact:sip:[field0]@[local_ip]:[local_port]Max-Forwards:70Subject:PerformanceTestContent-Type:application/s
- 跟我一起写 SIPp XML scenario file 之二
无名387
os通讯
就我个人的体会而言,貌似没什么秘诀,无非是:勤查手册拿到一个样本,进行临摹,多加练习分析有几个SIP事务如果SIPp做uas,totag是自己产生的fromtag,totag要不要颠倒过来requesturl的url来自何处如果uas主动发request,via是自己产生的要不要支持sipproxy目标是:拿到任意pcap文件,都可以写出对应的XMLscenariofile另:手册在这里:http
- 跟我一起写 SIPp XML scenario file 之三
无名387
os通讯
要求如下:uas->INVITE200200过几天公布答案当然,其他地方可能也有,但我想给出自己的答案
- 【Linux入门】iptables的安装与配置应用实例
Karoku066
linux网络运维服务器bash
文章目录iptables安装与配置安装iptablesiptables配置方法iptables命令行配置方法iptables规则匹配详细整理1.通用匹配2.隐含匹配显式匹配(扩展匹配)1.多端口匹配2.IP范围匹配3.MAC地址匹配4.状态匹配SNAT与DNATSNAT(源网络地址转换)原理与应用SNAT应用环境SNAT原理SNAT转换前提条件SNAT转换示例DNAT(目标网络地址转换)原理与应用
- 网口通信C#
哈特谢普苏特
网口通信usingSystem;usingSystem.Net;usingSystem.Net.Sockets;usingSystem.Text;namespaceConsoleApp1{classProgram{staticvoidMain(string[]args){intport=10005;stringhost="192.168.10.200";//服务器端ip地址IPAddressip=
- redis cluster之Gossip协议
tracy_668
什么是Gossip协议Gossipprotocol也叫EpidemicProtocol(流行病协议),实际上它还有很多别名,比如:“流言算法”、“疫情传播算法”等。这个协议的作用就像其名字表示的意思一样,非常容易理解,它的方式其实在我们日常生活中也很常见,比如电脑病毒的传播,森林大火,细胞扩散等等。Gossipprotocol最早是在1987年发表在ACM上的论文《EpidemicAlgorith
- How can I load the openai api configuration through js in html?
营赢盈英
AIaipythonjavascripthtmlnode.jsopenai
题意:怎样在HTML中通过JavaScript加载OpenAIAPI配置问题背景:Iamtryingtosendarequestthroughjsinmyhtmlsothatopenaianalyzesitandsendsaresponse,butifinthejsIputthefollowing:我正在尝试通过HTML中的JavaScript发送一个请求,以便让OpenAI分析它并发送响应,但如
- 【LINUX】阿里云linux服务器上使用iptables设置安全策略的方法_status=$(grep -i ubuntu etc issue)
2401_85154737
linux服务器阿里云
yuminstall-yiptablesiptables安装好后就可以来配置规则了。由于作为web服务器来使用,所以对外要开放80端口,另外肯定要通过ssh进行服务器管理,22端口也要对外开放,当然最好是把ssh服务的默认端口改掉,在公网上会有很多人试图破解密码的,如果修改端口,记得要把该端口对外开发,否则连不上就悲剧了。下面提供配置规则的详细说明:第一步:清空所有规则当ChainINPUT(po
- Python 开心消消乐
stormsha
Python基础python开发语言游戏
文章目录效果图项目结构程序代码完整代码:https://gitcode.com/stormsha1/games/overview效果图项目结构程序代码run.pyimportsysimportpygamefrompygame.localsimportKEYDOWN,QUIT,K_q,K_ESCAPE,MOUSEBUTTONDOWNfromdissipate.levelimportManagerfr
- PyQt5扩展API
EUNC
PyQt5
PyQt5(以及一般的SIP生成模块)的一个重要特性是能够在其上构建其他扩展模块。QScintilla就是这样一个例子。PyQt5提供了一个可供其他模块使用的扩展API。这具有共享代码并强制执行一致行为的优点。部分API可以从Python访问,部分可以从C++访问。Python的APIAPI的Python部分可以通过QtCore模块访问,并且通常由扩展模块的PyQt5的configure.py使用
- 高通SA8295P芯片技术规格详解与原理解析
空间机器人
高通SA8295学习笔记专栏硬件工程自动驾驶汽车音视频
高通SA8295P芯片技术规格详解与原理解析高通SA8295P(骁龙8295)是一款专为汽车座舱设计的高性能SoC(系统级芯片),采用最新的5nm工艺,具备强大的计算能力、图形处理能力以及丰富的外设支持。以下是该芯片的详细技术规格和工作原理解析。1.处理器核心(CPU)Snapdragon™SA8295PSIPQualcomm®Kryo™695CPU:基于Armv8Cortex技术,提供四个高性能
- 大数据生态圈里的一致性算法
宇宙湾
大数据生态圈中,保证一致性的方式举不胜举Hadoop用Zookeeper(Zab,Paxos+事务顺序)ElasticSearch用Hash路由算法(非一致性Hash)Cassandra用Gossip闲话算法Redis用Raft选举算法他们各有什么区别,为什么会如此选型?Paxos选举算法Paxos是最先解决拜占庭将军问题的算法,利用过半选举的机制,保证了集群数据副本的一致性(微服务中服务注册与发
- 用Java手写JVM第五章——指令集和解释器
周周包
手写JVMjava
文章目录代码目录一、字节码和指令集二、指令和指令解码Instruction①InstructionNoOperands②InstructionBranch③InstructionIndex8④InstructionIndex16BytecodeReader三、九种指令的实现1、常量指令①nop指令:②const指令:③BIPUSH和SIPUSH指令:2、加载指令3、存储指令4、栈指令①pop和po
- 2020-09-24 mac安装npm包系统无权限问题
猴子也吃泡泡糖
原文:https://www.jianshu.com/p/59a6bbff4ad2?from=singlemessage禁用SIP方法重启系统,按住Command+R进入恢复模式点击顶部菜单栏实用工具中的终端csrutildisable输出SuccessfullydisabledSystemIntegrityProtection.Pleaserestartthemachineforthechang
- 数字芯片中I/O单元及电源domain布局中SIPI的考虑
芯片SIPI设计
芯片设计的物理实施过程通常也简称为布局布线(P&R,Place-and-Route),布局一般被分为布局规划(Floorplan)和标准单元摆放(Place)两个过程。而其中的布局规划是芯片后端物理实现过程的重要环节,其合理性直接影响到芯片的时序收敛、电源稳定程度及其可靠性。布局规划基本理论布局规划是芯片后端设计过程中最初的部分,同时也是很重要的一环,它的设计结果将决定芯片的面积,影响布线资源、时
- Visual Studio之安装(更新,扩展)速度缓慢解决方案
teacher伟大光荣且正确
visualstudioide
修改hosts文件默认安装在C:\windows\system32\drivers\etc用记事本或者其他编辑工具打开hosts,在最后一行加上122.225.57.107download.visualstudio.microsoft.com刷新dns运行cmd,执行以下命令,刷新dnsipconfig/flushdns注意事项如果如上配置后依然下载很慢,可进入站长工具中获取更快的dns地址,如下
- C# 基于NModbus4的数据读写
那人_那事
c#Modbus
本文主要介绍基于开源modbus库NModbus4的数据读写添加引用usingModbus.Device;属性privateModbusIpMaster_master;privatestring_ipAddress;privateTcpClient_tcpClient;//////设备IP地址///publicstringIpAddress{get=>_ipAddress;set=>_ipAddr
- 利用批处理脚本快速关闭Windows IPv6防御CVE-2024-38063漏洞攻击
半点闲
Windows技术windowsCVE-2024-38063IPv6
利用批处理脚本快速关闭WindowsIPv6防御CVE-2024-38063漏洞攻击一、WindowsTCP/IP远程代码执行漏洞CVE-2024-38063二、简易批处理脚本关闭Windows系统中的IPv6三、安全建议作者:高玉涵时间:2024.8.1614:25博客:blog.csdn.net/cg_i环境:Windows7、Windows10、Windows11一、WindowsTCP/I
- 大大通与您相约 elexcon 2024 深圳国际电子展
WPG大大通
展会人工智能大大通展会ai礼品电子展
“内核创新,智驱未来”,2024elexcon深圳国际电子展将于2024年8月27日至29日在深圳会展中心(福田展馆)盛大开幕。全球优质品牌厂商将齐聚现场。集中展示AI+嵌入式、存储、车规级芯片、智能传感、RISC-V技术与生态、AIoT方案、无源器件/分立器件、PMIC与功率器件、Chiplet和SiP先进封装等;展会期间还将举办一系列技术论坛,展示全球产业动态及未来技术趋势。作为大联大特别推出
- kylin系统永久关闭iptables
yuer011
服务器linux网络
1关闭iptables,并且相关规则写入文件firewall.rulessudoiptables-save>/root/firewall.rulesiptables-Xiptables-tnat-Fiptables-tnat-Xiptables-tmangle-Fiptables-tmangle-Xiptables-PINPUTACCEPTiptables-PFORWARDACCEPTiptabl
- 【GB28181】 SDP 报文内容(UDP、TCP主动、TCP被动)
废人一枚
#GB28181udptcp/ip网络GB28181SDP
GB28181SDP报文UDP预览回放下载TCP主动预览回放下载TCP被动预览回放下载根据《GB/T28181—2016》4.3.1、5.2的要求,SIP和流媒体都应该支持TCP和UDP两种方式以下是抓取GB28181分别在视频预览、回放和下载时交互的SDP信息。UDP预览v=0o=3402000000132000001100INIP4192.168.10.128s=Playc=INIP4192.
- ARM/Linux嵌入式面经(十八):TP-Link联洲
TrustZone_Hcoco
ARM/Linux嵌入式面试arm开发linuxandroid架构嵌入式
文章目录虚拟内存,页表,copyonwrite面试题1:面试题2:面试题3:进程和线程的区别红黑树和b+树的应用红黑树的应用B+树的应用视频会议用了哪些协议1.H.323协议2.SIP协议(会话发起协议)3.WebRTC(网页实时通信)4.其他协议io多路复用(select,poll,epoll)面试题linux软连接和硬链接区别1.链接方式2.存储空间3.跨文件系统4.链接对象5.删除行为6.命
- 解决opensips启动时出现PID file /var/run/opensips.pid does not exist 的错误
Mindfulness code
视频云opensips
启动opensips时报下列错误[root@OpenSIPSopensips]#opensipsctlstartINFO:StartingOpenSIPS:ERROR:PIDfile/var/run/opensips.piddoesnotexist--OpenSIPSstartfailed查看日志文件[root@OpenSIPSopensips]#tail-f/var/log/messagesMa
- java springboot 获取服务器真实IP访问地址
大白菜程序猿
JAVAjavaspringboot服务器
获取真实IP地址importjavax.servlet.http.HttpServletRequest;importorg.apache.commons.lang3.StringUtils;importorg.jeecg.common.constant.CommonConstant;publicclassIpUtils{/***获取IP地址**使用Nginx等反向代理软件,则不能通过request
- ubuntu使用iptables
活捉一个坏小孩
服务器系统类ubuntu
1.查看系统是否安装防火墙root@localhost:/usr#whichiptables/sbin/iptablesroot@localhost:/usr#whereisiptablesiptables:/sbin/iptables/etc/iptables/usr/share/iptables/usr/share/man/man8/iptables.8.gz如果是这样的信息,那么表明ipta
- esp32-C3
Fiona.y
单片机c语言
一、esp端ESP32由EspressifSystems打造,是一款低成本、低功耗的系统具有Wi-Fi和双模蓝牙功能的片上(SoC)系列!ESP32系列包括芯片ESP32-D0WDQ6(和ESP32-D0WD),ESP32-D2WD电子版,ESP32-S0WD系列,以及系统级封装(SiP)ESP32-PICO-D4。它的核心是双核或单核TensilicaXtensaLX6微处理器,时钟频率高达24
- 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