- prometheus使用alertmanager实现报警功能
平凡似水的人生
监控系列运维linux监控类
前言在运维工作中,最重要的事情就是监控,监控中最重要的就是报警功能,这样可以使我们收到告警之后及时处理,以免事态发展到无可挽回的地步,下面就给大家分享一下prometheus中的告警如何实现吧。一、安装altermanager1、解压安装包tarzxfalertmanager-0.21.0.linux-amd64.tar.gz-C/data/#查看是否安装成功cd/data/alertmanage
- 服务器监控 Prometheus、AlertManager、Grafana、钉钉机器人通知
懒熊猫
运维
监控系统简介Prometheus是一套开源的系统监控报警框架。需要指出的是,由于数据采集可能会有丢失,所以Prometheus不适用对采集数据要100%准确的情形。但如果用于记录时间序列数据,Prometheus具有很大的查询优势,此外,Prometheus适用于微服务的体系架构。prometheus可以理解为一个数据库+数据抓取工具,工具从各处抓来统一的数据,放入prometheus这一个时间序
- 运维颠覆!一文解锁AI赋能运维实战秘籍,效率飙升!
ivwdcwso
运维人工智能运维机器学习智能运维自动化运维故障预测
导语在科技飞速发展的当下,运维领域正经历着深刻变革,AI的融入成为提升运维效率与质量的关键。然而,许多运维人员虽对AI满怀期待,却不知如何将其真正落地到实际工作中。本文将深入实战,带你领略AI如何在运维各环节大显身手,让你的运维工作开启智能高效新模式。一、AI在故障预测与诊断中的实战故障预测实战数据收集:以Linux服务器为例,利用Prometheus监控工具收集服务器的CPU使用率、内存使用率、
- 云原生服务网格:微服务通讯的量子纠缠革命
桂月二二
云原生微服务架构
引言:从混沌到秩序的通讯规则重构蚂蚁集团服务网格日处理千亿级RPC调用,Lyft网关时延降至1.3ms。沃尔玛黑色星期五流量激增300%实现零故障,中国工商银行金丝雀发布准确率提升至99.99%。CNCF调查显示72%企业已采用服务网格,特斯拉车联网命令传输延迟0.1'''alerts=self.prometheus.query(query)foralertinalerts:trigger_cir
- K8S学习之基础三十六:node-exporter部署
云上艺旅
K8S学习kubernetes学习贪心算法prometheus云原生
Prometheusv2.2.1编写yaml文件,包含创建ns、configmap、deployment、service#创建monitoring空间viprometheus-ns.yamlapiVersion:v1kind:Namespacemetadata:name:monitoring#创建SA并绑定权限kubectlcreateserviceaccountmonitor-nmonitori
- 给我的 IM 系统加上监控两件套:【Prometheus + Grafana】
蝎子莱莱爱打怪
prometheusgrafana
监控是一个系统必不可少的组成部分,实时,准确的监控,将会大大有助于我们排查问题。而当今微服务系统的话有一个监控组合很火那就是Prometheus+Grafana,嘿你别说这俩兄弟配合的相当完美,Prometheus负责数据采集,Grafana负责可视化展示,各就其位,各司其职一起来完成监控这个活儿。紧接着我们简单对这两工具做个介绍~1、Prometheus与Grafana简介Prometheus作
- 微服务监控prometheus+Grafana
chen2017sheng
经验总结微服务prometheusgrafana
目录Prometheus概述核心组件特点使用场景Grafana概述功能特点使用场景Prometheus+Grafana组合部署和配置一、准备工作二、部署Prometheus三、部署Grafana四、创建监控仪表盘五、验证和调优总结微服务监控是确保微服务架构稳定运行的关键环节,其中Prometheus与Grafana的组合是业界广泛采用的监控解决方案。以下是对这一组合的详细介绍:Prometheus
- Prometheus+Grafana监控平台搭建_grafana专业监控项
2401_89828619
prometheusgrafana
Prometheus提供多种类型的Exporter用于采集各种不同服务的运行状态。目前支持的有数据库、硬件、消息中间件、存储系统、HTTP服务器、JMX等。·alertmanager警告管理器,用来进行报警。·其他辅助性工具Prometheus系统架构图:它的服务过程是这样的Prometheusdaemon负责定时去目标上抓取metrics(指标)数据,每个抓取目标需要暴露一个http服务的接口给
- 使用 Docker 部署 Prometheus + Grafana 监控平台
2401_84048398
程序员dockerprometheusgrafana
一、Prometheus简介==================================================================================Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,由SoundCloud公司开发。Prometheus基本原理是通过HTTP协议周期性抓取被监控组件的状态,这样做的好处是任意组件
- K8S学习之基础三十四:K8S之监控Prometheus部署pod版
云上艺旅
K8S学习kubernetes学习prometheus云原生
使用KubernetesPod的方式部署Prometheus是一种常见的方法,尤其是在容器化和微服务架构中。以下是详细的步骤:1.创建命名空间(可选)为了方便管理,可以为Prometheus创建一个单独的命名空间。yaml复制apiVersion:v1kind:Namespacemetadata:name:monitoring将上述内容保存为namespace.yaml,然后应用:bash复制ku
- K8S学习之基础三十五:k8s之Prometheus部署模式
云上艺旅
K8S学习kubernetes学习prometheus云原生容器
Prometheus有多种部署模式,适用于不同的场景和需求。以下是几种常见的部署模式:1.单节点部署这是最简单的部署模式,适用于小型环境或测试环境。特点:单个Prometheus实例负责所有的数据采集、存储和查询。配置简单,易于维护。不具备高可用性和扩展性。适用场景:小型项目或测试环境。对高可用性要求不高的场景。部署步骤:下载并解压Prometheus。配置prometheus.yml。启动Pro
- Prometheus架构详解
HeZephyr
工具prometheus架构
1Prometheus简介Prometheus是一个开源的系统监控报警工具套件,它最初由SoundCloud开发,并于2016年成为CNCF(云原生计算基金会)托管的第二个项目(第一个是kubernetes)。Prometheus以其简单高效的方式收集指标而闻名,能更好地与容器平台、云平台配合,这使得它在现代云原生环境中非常受欢迎。Prometheus被广泛应用于各种场景中,包括但不限于:应用性能
- 如何配置Kubernetes仪表板dashboard支持http方式并使用ingress-nginx代理访问实践
全栈工程师修炼指南
云原生落地实用指南运维dockerkubernetesnginxjava
公众号关注「WeiyiGeek」设为「特别关注」,每天带你玩转网络安全运维、应用开发、物联网IOT学习!本章目录:配置Kubernetes-dashboard以支持http方式访问原文地址:https://blog.weiyigeek.top/2021/12-1-583.html1.配置Kubernetes-dashboard以支持http方式访问描述:当前默认安装配置的Kubernetes-da
- kubernetes集群监控 Kube-Prometheus-Stack
xiaojinran
k8sprometheusdocker运维kubernetesprometheus容器grafana
kubernetes集群监控概述Kubernetes(K8s)集群监控是指对Kubernetes集群中的各个组件和资源进行实时监测和数据收集,以获取对集群健康状态、性能指标和事件的可视化和告警。Kubernetes集群监控的内容通常包括以下几个方面:基础设施监控:监控物理服务器、虚拟机或云实例的资源使用情况,包括CPU、内存、磁盘和网络等指标。这可以帮助确保集群的底层基础设施正常运行,并及时发现资
- kube-prometheus-stack部署prometheus全栈监控k8s
时空无限
Kuberneteskubernetes
添加源helmrepoaddprometheus-communityhttps://prometheus-community.github.io/helm-charts更新源helmrepoupdate成功输出Hangtightwhilewegrabthelatestfromyourchartrepositories......Successfullygotanupdatefromthe"prom
- k8s-06-prometheus-stack
多懂一些
kubernetes实战nginxlinuxcentosprometheus
安装#下载yaml#[下载](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack)#镜像下载dockerlogin--username=xxxx registry.cn-shanghai.aliyuncs.comdockerpullregistry.cn-shangha
- prometheus-helm的使用
weixin_43806846
prometheus
1、部署Prometheus监控平台1、下载安装Prometheus(当前集群版本1.26.3)gitclonehttps://github.com/prometheus-operator/kube-prometheus.git-brelease-0.12安装:cdkube-prometheus/创建命名空间和crd:kubectlapply--server-side-fmanifests/set
- springboot集成钉钉_钉钉通知机器人与SpringBoot的集成
weixin_39622643
springboot集成钉钉
SpringBootAdmin集成自定义监控告警(2.0.1版本)------钉钉机器人-yuancao24的博客-CSDN博客https://blog.csdn.net/yuancao24/article/details/83576194prometheus-spring-boot-starter:一个管理异常通知的神奇starter,实现了钉钉消息提醒与邮件提醒https://gitee.co
- K8s 集群监控:从指标采集到可视化展示的完整方案
花笺墨韵
kubernetes
目录一、引言二、指标采集(一)K8s内置指标(二)Prometheus指标采集三、数据存储(一)Prometheus本地存储(二)远程存储四、可视化展示(一)Grafana基础(二)K8s相关仪表盘模板五、总结一、引言Kubernetes(K8s)集群环境复杂且动态变化,应用程序的运行状况、资源的使用情况时刻都在改变。为了保障K8s集群高效、稳定地运行,及时发现潜在问题并做出响应,一套完善的监控体
- Prometheus + Grafana 配置监控指标
笑远
prometheusgrafana运维数据库
Prometheus+Grafana配置监控指标在前一篇指南中,我们详细介绍了如何安装和配置Prometheus与Grafana。接下来,我们将深入探讨如何配置Prometheus来采集具体的监控指标,并使用Grafana将这些指标可视化。本指南将涵盖以下内容:选择和配置Exporters(除了NodeExporter之外)配置Prometheus以采集相关指标在Grafana中创建和配置仪表板高
- DevOps工具链
zhangpeng455547940
devops运维
DevOps工具链的核心组成部分包括:代码编辑和版本控制工具svn、git自动化构建工具Jenkins、GitLabCI/CD、TravisCI持续集成和持续部署工具Jenkins、Ansible容器编排工具K8S、DockerSwarm持续监控工具Prometheus,Grafana,InfluxDB服务配置管理工具Ansible,Chef,PuppetGit:代码管理Maven:依赖管理、项目
- K8S日常问题优化
沉默的八哥
运维运维kubernetes
在实际工作中,优化Kubernetes的性能和成本通常需要结合资源利用率分析、集群配置调整以及自动化工具的整合。以下是我在项目中实践过的一些典型优化场景和解决方案:一、资源利用率优化1.合理配置Requests/Limits问题:许多团队未准确设置Pod的requests和limits,导致资源浪费或频繁OOM。优化方法:使用Prometheus+Grafana监控Pod的实际CPU/内存使用量。
- 【Prometheus】prometheus 架构介绍
Learn Forever
Prometheus架构运维docker
1.组件说明prometheusserver是Prometheus组件中的核心部分,负责实现对监控数据的获取,存储以及查询。exporter简单说是采集端,通过http服务的形式保留一个url地址,prometheusserver通过访问该exporter提供的endpoint端点,即可获取到需要采集的监控数据。AlertManager在prometheus中,支持基于PromQL创建告警规则,如
- 物联网实时数据存储方案选择
动亦定
MySQL物联网数据库物联网时序数据库数据库
存储物联网设备发出的实时数据时,需考虑数据量、速度、类型和访问需求。以下是几种常见的存储方案:1.时序数据库适用场景:适合处理时间序列数据,如传感器数据。优点:高效存储和查询时间序列数据,支持高写入和查询吞吐量。常见选择:InfluxDB、TimescaleDB、Prometheus。2.NoSQL数据库适用场景:适合非结构化或半结构化数据,如JSON、XML。优点:灵活的数据模型,易于扩展,适合
- k8s集群中部署dcgm-exporter收集GPU指标
thinkerCoder
kubernetes容器运维GPU
总体步骤:部署dcgm-exporter的DaemonSet和Service,确保Service有正确的标签和端口。创建ServiceMonitor,选择dcgm-exporter的Service,并指定端口。检查Prometheus的targets页面,确认dcgm-exporter是否被正确发现和抓取。可能需要调整Prometheus的RBAC或网络策略,确保访问权限。1,部署dcgm-exp
- 在线监控+日志分析方案
徐福记c
运维运维
1.在线监控系统设计技术选型:Prometheus+Grafana+各ExporterPrometheus:负责定时拉取各服务指标数据并存储。Grafana:可视化仪表盘,支持多数据源(Prometheus、Loki等)。Exporter:SpringBoot应用:通过Micrometer暴露/actuator/prometheus端点。MySQL:部署mysqld_exporter采集数据库性能
- ansbile 批量部署 node-exporter
BUG弄潮儿
java
下载node-exporterhttps://github.com/prometheus/node_exporter/releases下载ansiblehttps://github.com/ansible/ansible/releases启动node-exporterservice文件node-exporter.service[Unit]Description=node_exporterRequi
- k8s下部署ansible进行node-export二安装
BUG弄潮儿
kubernetesansible容器云原生
下载node-exporterhttps://github.com/prometheus/node_exporter/releases下载ansiblehttps://github.com/ansible/ansible/releases启动node-exporterservice文件node-exporter.service[Unit]Description=node_exporterRequi
- 是时候解决告警事件数据孤岛问题了
监控告警告警风暴
大家有没有发现,随着公司发展,慢慢引入了越来越多的监控、可观测性的系统,云上的、云下的,开源的、商业的,通用的、特定产品的,导致告警事件分散在非常多的地方,形成一个一个的数据孤岛。比如下面这些监控系统,你们应该不止用了一个吧:上图中有些系统你可能会困惑,比如OceanBase,明明是个数据库,为啥出现在这里。因为OceanBase自己内置有自己的监控能力,没有复用Prometheus之类的通用监控
- K8s 1.18.6版本基于 ingress-nginx 实现金丝雀发布(灰度发布)
zerchin
kubernetesingress-nginxkubernetesingress-nginx
K8s1.18.6版本基于ingress-nginx实现金丝雀发布(灰度发布)环境软件版本kubernetesv1.18.6nginx-ingress-controller0.32.0Rancherv2.4.5本次实验基于Rancher-v2.4.5部署了1.18.6版本的k8s集群,nginx-ingress版本为0.32.0,理论上ingress-nginx>=0.21.0都是可以的。介绍金丝
- 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