- 消息中间件概述
小孩真笨
什么是JMSJava消息服务(JavaMessageService)即JMS,是一个Java平台中关于面向消息中间件的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。常用的消息中间件综述组件\特点ActiveMQRabbitMQKafka跨语言支持(Java优先)语言无关支持(Java优先)支持协议OpenWire,Stomp,XMPP,AMQPAMQP-优点遵循JMS规范,
- Go - Micro微服务框架实践 - 小机器人(十七)
承诺一时的华丽
小机器人现在支持的输入方式准备上车安装MicroslackHipChat帮助信息增加命令编写命令注册命令重构建Micro服务增加新的输入源新增输入源注册输入重构建命令即服务是怎么工作的示例microbotmicrobot是一只藏在微服务中的小马蝇,有了它,我们可以在Slack、HipChat、XMPP等等聊天程序中与它对话,通过它来操控服务。我们把消息发送给它,它基于这些消息模仿执行CLI,触发指
- 多平台轻量级消息推送系统msgd
yunjinwang
IOT消息推送物联网c语言esp8266mqtt
一,现状及目的随着互联网和物联网的发展,消息通信和交互不再仅限于人与人,而充斥于人与人、人与物、物与物之间;消息通信的主体也跨越各平台,PC(Windows,OSX,Linux等),移动端(Android,IOS,WP等)及电子设备(MCU,ARM等)。目前常用的消息推送机制有:基于HTTP的轮循、基于XMPP、基于MQTT及第三方的推送系统(如极光、云巴等),每种机制都有其优劣,具体可网上搜索或
- 消息队列对比
woodwind
引用:常用消息队列对比消息队列及常见消息队列介绍常用消息队列1.RabbitMQ用erlang语言开发的消息队列系统,支持很多协议:AMQP,XMPP,SMTP,STOMP。非常重量级,适合企业级开发。核心是生产者不会将消息直接发送给队列,消息在发送给客户端时先在中心队列排队。对路由(Routing),负载均衡(Loadbalance)、数据持久化都有很好的支持。主要特性:跨平台,支持多种语言客户
- java中间件之rabbitmq
这一刻_776b
一、RabbitMQ简介1.1RabbitMQ是什么RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。1.2RabbitMQ特点(1)可靠性(Reliab
- 安卓与后端服务器交互技术详解:原理、优劣及代码实例分析
洪信智能
安卓开发android服务器httpsrpcwebsockethttprestful
一、引言在移动应用开发领域,安卓与后端服务器之间的有效通信是确保数据一致性和应用功能完整性的关键因素。安卓通常通过网络协议与后端服务器进行数据交换,涉及到的技术包括HTTP/HTTPS请求、WebSocket、RESTfulAPI、XMPP以及GraphQL等。每种方案都有其特定的使用场景和性能表现。不同的技术方案适用于不同的场景和需求,理解它们的工作原理、优势和劣势对于开发者来说至关重要。本文将
- HTTP(S)
CB7D
原文链接最近又看了一遍[HTTP权威指南],每次想写一份总结的时候都会拖延症爆发,今天决定总结下我们每天都在接触的HTTP。OSI(OpenSystemInterconnect)先列一张能够体现不同协议在OSI七层模型中的表格层级层级名称应用7应用层例如HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、NFS、RTSP、XMPP、Whois、ENRP、TLS6表示层例如XDR、A
- android消息推送 IM实现方案对比
Allenlll
1、GCMGoogle的云消息服务,国内使用限制,放弃2、XMPP基于XMl协议的通讯协议,成熟,由于使用xml传输,有冗余,费电,费流量。3、MQTT比较轻量级,省流量,省电,比较适合手机等移动设备
- activemq 默认端口说明
三希
activemq运维
支持的消息应用协议:OpenWire,StompREST,WSNotification,XMPP,AMQP,MQTT默认使用了61616(openwire/activemq服务监控端口)、5672(amqp)、61613(stomp)、1883(mqtt)、61614(ws),8161(web管理页面端口)等端口
- 风炫安全Web安全学习第四十一节课 XXE漏洞演示与讲解
风炫安全
风炫安全Web安全学习第四十一节课XXE漏洞演示与讲解XXE漏洞0x01基础知识XML是一种非常流行的标记语言,在1990年代后期首次标准化,并被无数的软件项目所采用。它用于配置文件,文档格式(如OOXML,ODF,PDF,RSS,...),图像格式(SVG,EXIF标题)和网络协议(WebDAV,CalDAV,XMLRPC,SOAP,XMPP,SAML,XACML,...),他应用的如此的普遍以
- github优秀开源项目大全-iOS
NYH1006
iOS开发笔记iOS知识点github开源项目开发框架开放平台
github优秀开源项目大全-iOSApr25th,2014前言本文旨在搜集github上优秀的开源项目本文搜集的项目都是用于iOS开发本文会持续更新…完整客户端ioctocatgithub的iOS客户端,目前开源代码是V1版本,V2版本在appstore上可以下载ChatSecure-iOS使用XMPP协议的IM开源软件,很强大,在appstore上可以下载SegmentFaultSegment
- 有哪些开源im即时通讯软件
IT凡哥
2022-05-08有哪些不错的即时通讯软件,类似企业微信?ps:文章中有直接网址会被锁定文章,只能以图片代替。1、IM协议分类1.1xmpp类image.png1.2webrtc协议类2、不完全开源2.1网易云信image.png2.2环信emchatimage.png服务端不开源2.3wildfireimage.png免费不支持多人视频。专业版收费2.4openimimage.png后台语音基
- tigase8使用smack库实现群聊
NingKangMing
Tigasetigase8xmpp即时聊天
实现群聊和单聊实际差不多,下面给出一个案例供不熟悉的朋友参考。首先引用smack库(整体pom文件都给出好了)4.0.0org.springframework.bootspring-boot-starter-parent2.6.5com.nufront.xmppboot-xmpp-demo0.0.1-SNAPSHOTboot-xmpp-demoboot-xmpp-demo1.84.4.61.81.
- XMPP 协议部分归纳和汇总--IM即时通讯,短视频,直播,企业私有化APP实践(四)
不只会技术的大牛
XMPP协议部分归纳和汇总不只会技术的大牛今天主要是解析一部分XMPP中的术语,内容有抄袭的嫌疑,主要是后续开发里面会有很多的新名称出来,还不如整理到一篇文章中,方便后续开发的碰到新名词好来查询方便1.XMPP协议网络架构XMPP是一个典型的C/S架构,而不是像大多数即时通讯软件一样,使用P2P客户端到客户端的架构,也就是说在大多数情况下,当两个客户端进行通讯时,他们的消息都是通过服务器传递的(也
- RabbitMQ基础知识
Java界第一深情
RabbitMQrabbitmq分布式
1.RabbitMQ介绍RabbitMQ是基于Erlang语言开发的开源消息通信中间件,是一个高性能的异步通讯组件官网地址:RabbitMQ官网2.MQ技术对比RabbitMQActiveMQRocketMQKafka公司RabbitApache阿里Apache开发语言ErlangJavaJavaScala&Java协议支持AMQP、XMPP、SMTP、STOMPOpenWire、STOMP、RE
- 基于XMPP的iOS聊天客户端程序(XMPP服务器架构)
祥子_HelloWorld
最近看了关于XMPP的框架,以文本聊天为例,需要发送的消息为:helloWord基中from是从哪个用户发送的消息,to是发给谁的消息,XMPP的用户都是以邮箱形式。body就是我们发送的消息文本。好了,说到这里,我们就来开发一个基于XMPP的IOS聊天客户端程序,首先我们需要XMPP服务器,这里,我就拿本机做服务器,首先从xmppServer下载ejabberd这个服务器,ejabberd支持L
- XMPP-gloox实现的文件传世协议分享
v2x222
src商店xmppft文件传输gloox文件传输
XMPP-gloox实现的文件传世协议分享1.支持IBB传输2.支持S5B传输可以简单的改动即可传输二进制,在只做的过程中遇到一些很难理解的问题现在分享出来:1.发送端使用s5b的时候,关于这句的理解newSOCKS5BytestreamServer(j->logInstance(),25254,"0.0.0.0");如果按照例子提供的代码你说创建失败的,因为不传ip默认的af_inet就是AF_
- XMPP服务端——ejabberd for mac安装教程
祥子_HelloWorld
最近想用XMPP做个聊天系统,上网找了下资料,决定服务端使用ejabberd,下面大致介绍下ejabberd在MAC下的安装过程。ejabberd的官网是:http://www.process-one.net/en/ejabberd/,有兴趣的朋友可以看看这里我用的版本是2.1.11:ejabberd-2.1.11-darwin-x86_64-installer.app.zipimage下载完解压
- Redis作为消息队列与RabbitMQ的比较
星可码农
Redis作为消息队列与RabbitMQ的比较RabbitMQRabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。它是用Erlang语言开发的开源的消息队列,支持多种协议,包括AMQP,XMPP,SMTP,
- java coap_CoAP协议-以Californium(Java)为例的CoAP初步实现
衣阿华
javacoap
今天,我的导师又放我鸽子了。。看到他确实很忙。也有可能这个项目搁置或者废弃了吧,但我自己也要继续下去。于是,写下这第二篇文章。简要的回顾一下CoAP协议,全名ConstrainedApplicationProtocol,也就是说这是一个应用在受限制的设备上的,例如网络不佳,运算能力低下,存储能力低下的设备。相对于MQTT和XMPP协议,这是一个年轻的,国内外应用极少的物联网协议,有前景,但需考量适
- MQ RabbitMQ入门介绍和核心原理
小P聊技术
1简介RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。且RabbitMQ是基于AMQP协议的,目前各个互联网大厂都在使用RabbitMQ作为消息中间件。
- prosody xmpp_如何在Ubuntu 18.04上安装Prosody
cukw6666
数据库linuxjavashell安全
prosodyxmppTheauthorselectedtheOpenInternet/FreeSpeechFundtoreceiveadonationaspartoftheWriteforDOnationsprogram.作者选择了“开放互联网/言论自由基金会”作为“WriteforDOnations”计划的一部分来接受捐赠。介绍(Introduction)ProsodyisanXMPPchat
- Ubuntu12.0.4 安装xmpp 服务器ejabberd
在奋斗的大道
系统运维
http://www.cnblogs.com/dyingbleed/archive/2013/04/04/2999885.html
- 研究人员发现基于xmpp的即时通讯服务被窃听
w3cschools
网络
攻击者使用我们的加密服务发布了几个新的TLS证书,这些服务被用来劫持加密的星连接在5222端口使用透明的[中间人]代理。到目前为止收集到的证据指向在托管提供者网络上配置的流量重定向,排除了其他可能性,例如服务器中断或欺骗攻击。据估计,窃听从2023年4月v18日起持续了长达六个月,尽管已经证实,窃听至少发生在2023年7月n21日,直到2023年10月19日。可疑活动的迹象最早是在2023年10月
- 揭秘MQTT:为何它是物联网的首选协议?
阿Q说代码
MQTT入门物联网IOTEMQXMQTTMQTTX
文章目录MQTT协议简介概览MQTT与其他协议对比MQTTvsHTTPMQTTvsXMPP为什么MQTT是适用于物联网的最佳协议?轻量高效,节省带宽可靠的消息传递海量连接支持安全的双向通信在线状态感知MQTT5.0与3.1.1MQTT服务器MQTT客户端MQTT协议简介概览MQTT是一种基于发布/订阅模式的轻量级消息传输协议,专门针对低带宽和不稳定网络环境的物联网应用而设计,可以用极少的代码为联网
- 深入浅出即时通讯(1)_即时通讯协议对比
E聊SDK
深入浅出即时通讯websockethttpxmpp即时通信
1.即时通讯协议对比业界上用来做即时通讯的解决方案有:1.基于http的轮询;2.基于websocket长连接;3.基于tcp或udp的自定义协议,这种若在要在Web端使用,需要套一层websocket封装.此外早期还有基于Comet技术的长连接,基于xmpp的开源客户端应用等。1.1即时通讯协议比较名称特点Web支持模式http短轮询/长轮询实现简单;开销大,耗费服务器性能与带宽支持请求-响应W
- WebRTC总结
张俊峰0613
最近分别使用Mqtt和Xmpp作为WebRTC的信令实现了音视频通话,一点小小的总结!使用WebRTC做音视频通话时最简单的方案,尤其在人数不多的通话中,主要的就是信令,不管是Mqtt还是Xmpp,都只是Peer用于交换sdp和ice的手段而已,只要熟悉了WebRTC的通话流程和所使用的信令的发送消息和接受消息的机制,就很容易了!
- XMPPFramework(四)电子名片
O乞力马扎罗的雪O
前面向大家介绍了好友列表,那么个人的用户信息:头像、邮箱、住址啊等等,这些信息在哪呢?这时候我们就需要先认识下面几个类了://电子名片模块@property(nonatomic,strong)XMPPvCardTempModule*vCardTempModule;//电子名片本地存储器@property(nonatomic,strong)XMPPvCardCoreDataStorage*vCard
- android小米推送,Android手机端小米推送Demo解析和实现方法
策划98k
android小米推送
最近这几个月都是在准备找工作和找工作中,付出了很多,总算是有点收获,所以都没有怎么整理笔记。到了最近才有空把自己的笔记整理一下发上来,分享一下我的学习经验。推送由于最近项目要用到Android的消息推送,关于Android推送的解决方案有很多种,有C2DM,轮询,SMS,MQTT协议,XMPP协议和第三方平台,经过我们对项目需求的考虑之后我们选择了第三方平台推送的小米推送,下面就是小米推送的实现方
- 《网络协议》07. 其他协议
永别了,赛艾斯滴恩
学习记录:网络协议网络协议网络
title:《网络协议》07.其他协议date:2022-10-0718:24:02updated:2023-11-1508:00:52categories:学习记录:网络协议excerpt:IPv6、WebSocket、WebService(SOAP,WSDL)、HTTPDNS、FTP、邮件(SMTP,POP,IMAP)、即时通信(XMPP,MQTT)、流媒体。comments:falsetag
- Java实现的简单双向Map,支持重复Value
superlxw1234
java双向map
关键字:Java双向Map、DualHashBidiMap
有个需求,需要根据即时修改Map结构中的Value值,比如,将Map中所有value=V1的记录改成value=V2,key保持不变。
数据量比较大,遍历Map性能太差,这就需要根据Value先找到Key,然后去修改。
即:既要根据Key找Value,又要根据Value
- PL/SQL触发器基础及例子
百合不是茶
oracle数据库触发器PL/SQL编程
触发器的简介;
触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。触发器和过程函数类似 过程函数必须要调用,
一个表中最多只能有12个触发器类型的,触发器和过程函数相似 触发器不需要调用直接执行,
触发时间:指明触发器何时执行,该值可取:
before:表示在数据库动作之前触发
- [时空与探索]穿越时空的一些问题
comsci
问题
我们还没有进行过任何数学形式上的证明,仅仅是一个猜想.....
这个猜想就是; 任何有质量的物体(哪怕只有一微克)都不可能穿越时空,该物体强行穿越时空的时候,物体的质量会与时空粒子产生反应,物体会变成暗物质,也就是说,任何物体穿越时空会变成暗物质..(暗物质就我的理
- easy ui datagrid上移下移一行
商人shang
js上移下移easyuidatagrid
/**
* 向上移动一行
*
* @param dg
* @param row
*/
function moveupRow(dg, row) {
var datagrid = $(dg);
var index = datagrid.datagrid("getRowIndex", row);
if (isFirstRow(dg, row)) {
- Java反射
oloz
反射
本人菜鸟,今天恰好有时间,写写博客,总结复习一下java反射方面的知识,欢迎大家探讨交流学习指教
首先看看java中的Class
package demo;
public class ClassTest {
/*先了解java中的Class*/
public static void main(String[] args) {
//任何一个类都
- springMVC 使用JSR-303 Validation验证
杨白白
springmvc
JSR-303是一个数据验证的规范,但是spring并没有对其进行实现,Hibernate Validator是实现了这一规范的,通过此这个实现来讲SpringMVC对JSR-303的支持。
JSR-303的校验是基于注解的,首先要把这些注解标记在需要验证的实体类的属性上或是其对应的get方法上。
登录需要验证类
public class Login {
@NotEmpty
- log4j
香水浓
log4j
log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, HTML, DATABASE
#log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, ROLLINGFILE, HTML
#console
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4
- 使用ajax和history.pushState无刷新改变页面URL
agevs
jquery框架Ajaxhtml5chrome
表现
如果你使用chrome或者firefox等浏览器访问本博客、github.com、plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器前进和后退。
是什么有这么强大的功能呢?
HTML5里引用了新的API,history.pushState和history.replaceState,就是通过
- centos中文乱码
AILIKES
centosOSssh
一、CentOS系统访问 g.cn ,发现中文乱码。
于是用以前的方式:yum -y install fonts-chinese
CentOS系统安装后,还是不能显示中文字体。我使用 gedit 编辑源码,其中文注释也为乱码。
后来,终于找到以下方法可以解决,需要两个中文支持的包:
fonts-chinese-3.02-12.
- 触发器
baalwolf
触发器
触发器(trigger):监视某种情况,并触发某种操作。
触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete)
语法:
create trigger triggerName
after/before 
- JS正则表达式的i m g
bijian1013
JavaScript正则表达式
g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止。 i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写。 m:表示
- HTML5模式和Hashbang模式
bijian1013
JavaScriptAngularJSHashbang模式HTML5模式
我们可以用$locationProvider来配置$location服务(可以采用注入的方式,就像AngularJS中其他所有东西一样)。这里provider的两个参数很有意思,介绍如下。
html5Mode
一个布尔值,标识$location服务是否运行在HTML5模式下。
ha
- [Maven学习笔记六]Maven生命周期
bit1129
maven
从mvn test的输出开始说起
当我们在user-core中执行mvn test时,执行的输出如下:
/software/devsoftware/jdk1.7.0_55/bin/java -Dmaven.home=/software/devsoftware/apache-maven-3.2.1 -Dclassworlds.conf=/software/devs
- 【Hadoop七】基于Yarn的Hadoop Map Reduce容错
bit1129
hadoop
运行于Yarn的Map Reduce作业,可能发生失败的点包括
Task Failure
Application Master Failure
Node Manager Failure
Resource Manager Failure
1. Task Failure
任务执行过程中产生的异常和JVM的意外终止会汇报给Application Master。僵死的任务也会被A
- 记一次数据推送的异常解决端口解决
ronin47
记一次数据推送的异常解决
需求:从db获取数据然后推送到B
程序开发完成,上jboss,刚开始报了很多错,逐一解决,可最后显示连接不到数据库。机房的同事说可以ping 通。
自已画了个图,逐一排除,把linux 防火墙 和 setenforce 设置最低。
service iptables stop
- 巧用视错觉-UI更有趣
brotherlamp
UIui视频ui教程ui自学ui资料
我们每个人在生活中都曾感受过视错觉(optical illusion)的魅力。
视错觉现象是双眼跟我们开的一个玩笑,而我们往往还心甘情愿地接受我们看到的假象。其实不止如此,视觉错现象的背后还有一个重要的科学原理——格式塔原理。
格式塔原理解释了人们如何以视觉方式感觉物体,以及图像的结构,视角,大小等要素是如何影响我们的视觉的。
在下面这篇文章中,我们首先会简单介绍一下格式塔原理中的基本概念,
- 线段树-poj1177-N个矩形求边长(离散化+扫描线)
bylijinnan
数据结构算法线段树
package com.ljn.base;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
/**
* POJ 1177 (线段树+离散化+扫描线),题目链接为http://poj.org/problem?id=1177
- HTTP协议详解
chicony
http协议
引言
- Scala设计模式
chenchao051
设计模式scala
Scala设计模式
我的话: 在国外网站上看到一篇文章,里面详细描述了很多设计模式,并且用Java及Scala两种语言描述,清晰的让我们看到各种常规的设计模式,在Scala中是如何在语言特性层面直接支持的。基于文章很nice,我利用今天的空闲时间将其翻译,希望大家能一起学习,讨论。翻译
- 安装mysql
daizj
mysql安装
安装mysql
(1)删除linux上已经安装的mysql相关库信息。rpm -e xxxxxxx --nodeps (强制删除)
执行命令rpm -qa |grep mysql 检查是否删除干净
(2)执行命令 rpm -i MySQL-server-5.5.31-2.el
- HTTP状态码大全
dcj3sjt126com
http状态码
完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过调用request
- asihttprequest上传图片
dcj3sjt126com
ASIHTTPRequest
NSURL *url =@"yourURL";
ASIFormDataRequest*currentRequest =[ASIFormDataRequest requestWithURL:url];
[currentRequest setPostFormat:ASIMultipartFormDataPostFormat];[currentRequest se
- C语言中,关键字static的作用
e200702084
C++cC#
在C语言中,关键字static有三个明显的作用:
1)在函数体,局部的static变量。生存期为程序的整个生命周期,(它存活多长时间);作用域却在函数体内(它在什么地方能被访问(空间))。
一个被声明为静态的变量在这一函数被调用过程中维持其值不变。因为它分配在静态存储区,函数调用结束后并不释放单元,但是在其它的作用域的无法访问。当再次调用这个函数时,这个局部的静态变量还存活,而且用在它的访
- win7/8使用curl
geeksun
win7
1. WIN7/8下要使用curl,需要下载curl-7.20.0-win64-ssl-sspi.zip和Win64OpenSSL_Light-1_0_2d.exe。 下载地址:
http://curl.haxx.se/download.html 请选择不带SSL的版本,否则还需要安装SSL的支持包 2. 可以给Windows增加c
- Creating a Shared Repository; Users Sharing The Repository
hongtoushizi
git
转载自:
http://www.gitguys.com/topics/creating-a-shared-repository-users-sharing-the-repository/ Commands discussed in this section:
git init –bare
git clone
git remote
git pull
git p
- Java实现字符串反转的8种或9种方法
Josh_Persistence
异或反转递归反转二分交换反转java字符串反转栈反转
注:对于第7种使用异或的方式来实现字符串的反转,如果不太看得明白的,可以参照另一篇博客:
http://josh-persistence.iteye.com/blog/2205768
/**
*
*/
package com.wsheng.aggregator.algorithm.string;
import java.util.Stack;
/**
- 代码实现任意容量倒水问题
home198979
PHP算法倒水
形象化设计模式实战 HELLO!架构 redis命令源码解析
倒水问题:有两个杯子,一个A升,一个B升,水有无限多,现要求利用这两杯子装C
- Druid datasource
zhb8015
druid
推荐大家使用数据库连接池 DruidDataSource. http://code.alibabatech.com/wiki/display/Druid/DruidDataSource DruidDataSource经过阿里巴巴数百个应用一年多生产环境运行验证,稳定可靠。 它最重要的特点是:监控、扩展和性能。 下载和Maven配置看这里: http
- 两种启动监听器ApplicationListener和ServletContextListener
spjich
javaspring框架
引言:有时候需要在项目初始化的时候进行一系列工作,比如初始化一个线程池,初始化配置文件,初始化缓存等等,这时候就需要用到启动监听器,下面分别介绍一下两种常用的项目启动监听器
ServletContextListener
特点: 依赖于sevlet容器,需要配置web.xml
使用方法:
public class StartListener implements
- JavaScript Rounding Methods of the Math object
何不笑
JavaScriptMath
The next group of methods has to do with rounding decimal values into integers. Three methods — Math.ceil(), Math.floor(), and Math.round() — handle rounding in differen