- Centos安装OpenJDK
一棵星
centoslinux运维
安装OpenJDK使用yum包管理器搜索可用的OpenJDK包sudoyumsearchopenjdk注意:我们在选择JDK不要选择OpenJDKRuntimeEnviroment,因为它不支持jps,jmap等命令,如下图:应该选择OpenJDKDevelopmentEnviroment,它支持常用的堆栈分析指令。根据你的需求选择合适的OpenJDK版本进行安装sudoyuminstalljav
- 读书笔记:《深入理解Java虚拟机》(8)
Violet永存
读书笔记java开发语言jvm
虚拟机性能监控、故障处理工具JDK命令行工具这些命令在JDK安装目录下的bin目录下:jps(JVMProcessStatus):类似UNIX的ps命令。用于查看所有Java进程的启动类、传入参数和Java虚拟机参数等信息;jstat(JVMStatisticsMonitoringTool):用于收集HotSpot虚拟机各方面的运行数据;jinfo(ConfigurationInfoforJava
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
web718
Java
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露线程死锁锁争用(LockContention)J
- java jmap jstat_JVM性能调优监控工具jps、jstack、jstat、jmap、jinfo使用详解
小五咔咔咔
javajmapjstat
是什么jps查看所有的jvm进程,包括进程ID,进程启动的路径等等。我自己也用PS,即:ps-ef|grepjavajstack观察jvm中当前所有线程的运行情况和线程当前状态。系统崩溃了?如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的javastack和nativestack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。系统hung住了?
- 【笔记】HDFS基础笔记
哇咔咔哇咔
Hadoophdfs笔记hadoop大数据ubuntu
启动hadoop命令(未配环境变量):进入hadoop安装目录输入./sbin/start-dfs.sh已配环境变量:start-dfs.sh关闭hadoop命令:stop-dfs.sh启动完成后,可以通过命令jps来判断是否成功启动,若成功启动则会列出如下进程:"NameNode"、"DataNode"和"SecondaryNameNode"三种Shell命令方式:1.hadoopfs2.had
- Java 定位导致CPU飙升的代码过程
kikiki4
线上的一个日志实时输出的程序曾经出过这样一个问题,刚开始上线java程序占用的CPU的资源很少,但是到了整点的时候,CPU直线飙高,直接到达100%根本没有要下降的趋势,唯一的方法只能杀掉它了,后面在借助jstack与top排查到线程然后定位到某行代码出的问题。排查演示使用jps找到程序的pid[root@logsbin]#./jps-l-m|greplogdir222169galaxy-log-
- AnyGo分享,支持通过Mac修改IOS定位
stpFrog
macosanygo
软件操作1、iphone连接到mac2、启动软件,点击开始,选择IOS3、选择设备后,按提示开启手机的调试模式,按提示输入电脑密码,信任,手机信任,确保手机处于解锁亮屏状态。4、地图选点选点,然后点移动,可以点收藏,下次直接收藏里面go5、手机上百度地图打开看看自己的定位是不是在选取的点上。软件分享链接:https://pan.baidu.com/s/1UM1xrDChGDgkB7JPS3fC2A
- idea里微服务依赖在maven能install但不能启动
仰晨556
springbootideaintellij-idea微服务maven
场景:多个微服务相互依赖,install都没问题,jar包都是正常的,就连jar都能启动,为什么在idea里面项目就是不能启动呢,我是懵逼的所以解决办法就是:在设置的编译器里面虚拟机选项添加-Djps.track.ap.dependencies=false完成过程(还重要吗?不重要了)maven里面都安装了,没有报错jar启动成功idea直接启动各种报错神奇就完事了
- java程序造成服务器cpu飙高如何定位代码
雨会停rain
linux运维服务器
1.使用top命令找出cpu占比最高的,并记录pid2.使用jps或者grep进一步定位jps-lps-ef|grepjava|grep-vgrep3.定位到具体的线程或者代码ps-mp进程-oTHREAD,tid,time4.将需要的线程TID转换为16进制格式(英文小写格式)5.jstack进程ID|greptid(16进制线程ID小写英文)-A60A60:表示打印前60行
- Hadoop搭建之 start-yarn.sh 报错
万里长江雪
javahadoophdfs大数据运维网络
在搭建伪分布式的Hadoop集群环境时,在配置基础环境了并成功开启了HDFS组件后,jps查看已运行的名称节点和数据节点进程,[hadoop@masterhadoop]$jps8994NameNode10396Jps9087DataNode9279SecondaryNameNode然后尝试开启YARN组件,但是报错:[hadoop@masterhadoop]$start-yarn.shstarti
- 大规模单位实时寻路
july32
转自:https://www.cnblogs.com/xiaohutu/p/10504586.html总结下来就是结合以下技术对AI进行处理:十字链表找最近的敌方单位,RVO避障,优化后的jps,地图数据预处理,steer行为控制某个神秘的时间,我接到了一项神秘的任务,最核心的难度是要求实现:引擎是Unity3D,在手机端可以流畅运行为前提,在一个实时战斗的过程里,地图有地形(而且是会被动态改变的
- 解决Zookeeper无法启动
自信且放光芒66
大数据Zookeeperzookeeper
通过命令:zkServer.shstart启动Zookeeper后,jps查看进程发现全部启动正确,但是在通过zkServer.shstatus查看启动状态,却出现如下现象:通过上述问题可以考虑到的点是配置的三台节点另外两台没有启动。但是可以确定的是另外两台节点也都启动了Zookeeper。解决方案:1.首先查看防火墙是否关闭。如果防火墙开启会影响三点节点的通信,导致接收不到另外两台节点信息。我是
- 不用从中获取利益
橄榄树上结果果
出处:דְּבָרִים(devarim)申命记(Deuteronomy)13:18(17)【希伯来文】וְלֹא-יִדְבַּקבְּיָדְךָמְאוּמָה,מִן-הַחֵרֶם【发音】velo-yidbakbeyadekhameumaminhakherem【英文】Andthereshallcleavenoughtofthedevotedthingtothyhand;(JPS)【中文】
- Java 内存区域
头真的好重好重Y
JVMjava经验分享开发语言jvm面试
JVM介绍:1)JVM学习总结,全面介绍运行时数据区域、各类垃圾收集器的原理使用、内存分配回收策略2)JVM学习总结,虚拟机性能监控、故障处理工具:jps、jstat、jinfo、jmap、VisualVM、jstack等文章目录前言一、Java运行时数据区1.程序计数器(ProgramCounterRegister)2.虚拟机栈(VMStack)3.本地方法栈(NativeMethodStack
- 并发_查看运行时的线程信息
笑一个吧小傻瓜
打开终端输入命令jps,结果示例:35696KotlinCompileDaemon7812Launcher11880ThreadState1440821064Jps输入命令jstack#pid#,这里是jstack11880,结果示例:"BlockedThread-2"#12prio=5os_prio=0tid=0x151af800nid=0x50dcwaitingformonitorentry[
- Java死锁检测之JStack
touch_The_Sky
JStack是JDK自带的命令行工具,主要用于线程Dump分析。(Dump文件是进程的内存镜像。保存的是进程的执行状态信息),该工具可以在JAVA_HOME/bin目录下找到,但是并非是图形化界面,所以不能双击运行使用方式:1.打开CMD命令提示符界面,输入jps命令查看Java进程信息jstack2.jpg2.找到要调试的JVM进程号pid,这里是15964执行jsatck-lpid(-l参数可
- could only be replicated to 0 nodes instead of minReplication (=1). There are 1 datanode(s) running
昱东i
hadoophadoophdfsbigdata
学习使用Hadoop-3.2.2APIIDEA中使用Java向hdfs写入文件时出现如下错误:couldonlybereplicatedto0nodesinsteadofminReplication(=1).Thereare1datanode(s)running–只能复制到0个节点,而不是minReplication(=1)。有一个datanode(s)运行但云主机上操作hdfs一切正常。jps查
- 在线分析:内存泄露jamp和 arthas
漫漫求
jvmlinux运维服务器
1、获取:线程idjps-l2、生成内存泄露文件jmap-histo:live线程id>路径/xxxx.txt3、查看:泄露文件后,启动arthascurl-Ohttps://arthas.aliyun.com/arthas-boot.jarjava-jararthas-boot.jar4、arthas查看:可疑类信息stack类全限定路径-n15、分析类:是否会出现(内存溢出)
- java工具之JVM监控
这一刻_776b
一、JVM监控工具JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、jconsole、jinfo、hprof使用详解-实例分析(1)jps:用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。命令格式:jps或jps远程服务ip地址(默认端口1099)(2)jstack:可以观察到jvm中当前所有线程的运行情况和线程当前状态。,如果现在运行
- Java ieda 抽风报错导致无法正常启动项目
她似晚风般温柔789
Java技术分享javapython开发语言
Javaieda抽风报错导致无法正常启动项目问题描述:新建模块运行时出现下面报错,不能正常启动程序。Error:Module'你的项目名'production:java.lang.ClassCastException:classorg.jetbrains.jps.builders.java.dependencyView.TypeRepr$PrimitiveTypecannotbecasttocla
- Hadoop集群所有进程查看脚本
在下区区俗物
hadoop大数据linux
1、在/home/atguigu/bin目录下创建脚本xcall.shcd/home/atguigu/binvimxcall.sh脚本编写如下内容#!/bin/bashforiinhadoop102hadoop103hadoop104doecho---------$i----------ssh$i"$*"done2、赋予文件运行权限chmod+xxcall.sh3、使用案例xcall.shjps相
- Idea使用Lombok失效解决方案
RobinCode
知识分享intellij-ideajavaide
问题描述启动项目时,使用lombok插件中@slf4g注解后其中的log显示找不到变量解决方案在以下位置加入该配置-Djps.track.ap.dependencies=falsePreferences|Build,Execution,Deployment|Compiler之后保存应用就好,亲测有效。
- 常用虚拟机性能监控故障处理工具
丶_62f3
参考文献:深入理解jvm第三版1.jpsjps作用可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(MainClass,main()函数所在的类)名称以及这些进程的本地虚拟机唯一ID(LVMID,LocalVirtualMachineIdentifier);jps还可以通过RMI协议查询开启了RMI服务的远程虚拟机进程状态,参数hostid为RMI注册表中注册的主机名jps命令格式jps[opt
- JPS-Java进程状态工具
小刘同学-很乖
java开发语言linux
列出PID和Java主类名jps2017Bootstrap2576Jps列出pid和java完整主类名jps-l2017org.apache.catalina.startup.Bootstrap2612sun.tools.jps.Jps列出pid、主类全称和应用程序参数jps-lm2017org.apache.catalina.startup.Bootstrapstart2588sun.tools
- JVM监控
大橙子ii
1、jpsjps命令:返回当前系统中的Java的进程号-l:返回Java进程全路径-q:仅显示进程ID-v:返回JVM参数,比如堆大小,此命令方便我们查看JVM大小,不用去找配置文件2、jstatJVM内存不够用、内存溢出是通过监控JVMHeap信息进行分析的,jstat可以用来查看JVM堆的统计信息,命令格式如下:jstat选项进程号,例如:jstat-gc11048(查看11048进程号的垃圾
- 查看jvm启动参数
偷渡的非酋
java
1.使用jps查看pid2.查看递给JVM的参数jps-v开发过程中遇到oom,加两个参数使得当遇到oom时生成dump文件-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=/opt/hprof/使用jprofiler分析dump文件
- [转]如何找到 Java 进程中哪个线程占用了大量 CPU 处理时间
大石猴
本文转载自:https://my.oschina.net/javayou/blog/1627245原文如下:本文的目的是在Java进程中确定哪个线程正在占用CPU的时间。当您的系统CPU负载居高不下时,这是一种有用的故障排除技术。下面是详细步骤:1.首先确定进程的ID,可以使用jps-v或者top命令直接查看2.查看该进程中哪个线程占用大量CPU,执行top-H-p[PID]结果如下:可以发现编号
- Jvm FullGC 如何排查?
乐之者v
jvmjvmlinux
使用场景我们在使用系统时,有时请求和响应会变得特别慢,系统也变得很卡。有可能是FullGC的问题,可以逐步地进行排查。使用jps和top确定进程号pidjps可以列出正在运行的jvm进程,并显示jvm执行主类名称(main()函数所在的类),以及进程id。命令如下:jps-l结果如下:而top命令查看cpu使用情况,获取对应的进程号pid:top如下所示,发现进程号pid为72的进程占用了近100
- linux jps 未找到命令,linux下jps报command not found
南屿欣风
linux运维服务器
这个是由于按照的jdk有问题导致的。我也出现了这个问题,记录一下,估计很多人跟我一样。我用的是yum来安装的。yumlistjava-1.8.0*//先查询yuminstalljava-1.8.0-openjdk.x86_64刚开始安装了这个包,安装完测试:java-version出来的结果是正常的,看似很完美。但是配置环境变量的时候,发现安装目录:/usr/lib/jvm/java-1.8.0-
- 接口响应过慢怎样排查?
知行合一。。。
项目--架构interviewjava
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录服务变慢服务器全局慢包括cpu慢,内存慢,io/磁盘慢,io/网络慢。服务器局部慢指得是发现某一个或者多个服务很慢。1.全局查询思路1.1服务器整体情况(top)-----进程,cpu,内存1.2cpu使用情况(vmstat)1.3内存(free)1.4磁盘(df)1.5磁盘io(iostat)2.局部查询思路jps-ln(查
- 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