- TDengine服务器端启动失败问题(客户端连接失败问题)
深度视觉机器
Ubuntu20TDengine3.xtdenginelinux服务器
第一次问题:服务端状态信息:客户端连接失败:在服务端找问题,在/var/log/taos/taosdlog.0查看日志发现问题:端口号已被占用!于是通过psaux|greptao查看进程发现确实被占用了。通过kill-9进程号杀死进程重新systemctlstarttaosd启动即可!此时在客户端连接成功。
- Kubernetes 访问集群 API 的方法
深度视觉机器
Kuberneteskubernetes容器云原生
必须拥有一个Kubernetes的集群,同时你必须配置kubectl命令行工具与你的集群通信。建议在至少有两个不作为控制平面主机的节点的集群上运行本教程。如果你还没有集群,你可以通过Minikube构建一个你自己的集群,或者你可以使用下面的Kubernetes练习环境之一:Killercoda玩转Kubernetes要获知版本信息,请输入kubectlversion.一、访问KubernetesA
- Linux 系统中 Java 程序被强制杀掉?这些日志帮你快速定位原因!
夜里慢慢行456
javalinuxjava
文章目录一、为什么Java程序会被强制杀掉?二、如何通过日志定位问题?(一)检查系统日志(二)检查Java应用程序日志(三)使用journalctl查看日志(四)监控系统资源(五)检查操作系统限制(六)检查JVM参数和配置(七)排查OOMKiller三、实战案例案例1:Java程序因内存不足被杀案例2:Java程序因超时被杀在Linux系统中,Java程序可能会因为各种原因被系统强制杀掉。这种情况
- Unity 高度可扩展的技能与多 Buff 框架详解
Clank的游戏栈
unity游戏引擎
一、框架设计1.1核心思想组件化设计:将技能和Buff抽象为可复用的组件,通过组合不同的组件实现复杂的效果。数据驱动:使用ScriptableObject或JSON等数据格式定义技能和Buff的属性,方便配置和修改。事件驱动:利用Unity的事件系统或自定义事件机制,实现技能和Buff之间的交互和解耦。1.2框架结构SkillSystem:技能系统管理器,负责技能的加载、释放、冷却等。BuffSy
- 建造者 + 原型模式联合使用:高效克隆复杂对象的终极方案
BrightChen666
设计模式原型模式java开发语言后端算法
引言:当对象构造遇上复制优化场景痛点:假设你正在开发一个游戏角色生成系统,每个角色包含20+属性(装备、技能、外观等)。如果每次创建新角色都重新执行完整构建流程:Characterwarrior=newCharacterBuilder().setClass("战士").setWeapon("巨剑").addSkill("旋风斩").setArmor("板甲")//20+属性设置....build(
- 稻盛和夫如何描述能力
爱学习的大牛123
闲谈能力公式
1.能力的三要素稻盛和夫认为,能力由以下三个核心要素组成:知识(Knowledge):掌握的专业知识、技术技能和行业经验。技能(Skill):将知识应用于实际工作的能力,包括解决问题的能力、执行力和创新能力。态度(Attitude):对待工作的心态和价值观,包括责任感、热情、毅力和团队精神。2.能力的公式稻盛和夫提出了一个著名的公式来描述能力的本质:能力=知识×技能×态度```-**知识**和**
- 硬件科普系列之硬盘——前言与准备知识篇
华北理工大学ACM协会
硬件科普系列硬件硬盘机械硬盘固态硬盘科普
Nowadays,studentsarebecomingincreasinglyawareoftheimportanceofdevelopingdigitalskills.2022年九月英语六级作文题目如是说。前言近些年,“数字技能”的概念的确是火上加火,无论是大学生,还是进入社会的工作狗,是否掌握数字技能,掌握了几门数字技能,都成为了评判一个人能力的重要标准。在学校,我们离不开Office全家桶
- k8s:pod被kill,显示command terminated with exit code 137
mzhan017
云平台运维kubernetes容器云原生
文章目录错误说明可能的原因遇到的一个情况错误说明在Linux中,进程退出码137表示进程因SIGKILL信号(signal9)被杀死,其计算方式如下:137=128+9128:Linux规定,如果进程因信号终止,退出码就是128+信号编号。9(SIGKILL):表示进程被强制终止(通常由kill-9、OOMKiller或systemd触发)。可能的原因手动kill-9pid终止进程系统OOMKil
- Linux 下 kill 孙子进程(qbit)
qbit在使用Python的FastAPI框架,在Python脚本中用os.system调用了uvicorn启动程序,调用链条大致如下python3main.py#进程1--shpython3uvicorn#进程2--python3uvicorn#进程3qbit发现直接kill进程1或进程2,并不能终止进程3。即kill某个进程,并不一定能终止该进程的子进程和孙子进程。于是通过找到孙子进程的方式来
- python PNG图片显示
网罗开发
python集Python技术汇总python图片
此方法只适用于显示png格式的图片首先引入包importmatplotlib.pyplotasplt#plt用于显示图片importmatplotlib.imageasmpimg#mpimg用于读取图片显示图片代码:lena=mpimg.imread('myself.png')#读取和代码处于同一目录下的lena.png#此时lena就已经是一个np.array了,可以对它进行任意处理lena.s
- 信号,System V IPC对象 共享内存,消息队列,信号灯
musir1
linux
信号信号是在软件层次上对中断机制的一种模拟,是一种异步通信方式如果该进程当前并未处于执行态,则该信号就由内核保存起来,直到该进程恢复执行再传递给它;如果一个信号被进程设置为阻塞,则该信号的传递被延迟,直到其阻塞被取消时才被传递给进程kill函数原型:intkill(pid_tpid,intsig);函数参数:pid:正数:要接收信号的进程的进程号0:信号被发送到所有和pid进程在同一个进程组的进程
- 前端项目实战肆佰贰拾壹react-admin和material ui-@emotion/styled操作
前端歌谣
前端react.jsui
constSkillLi=styled('li')({'&:hover':{backgroundColor:'#cdcdcd'}})styled元素名加样式
- 【YashanDB知识库】如何避免yasdb进程被Linux OOM Killer杀掉
数据库
本文内容来自YashanDB官网,原文内容请见https://www.yashandb.com/newsinfo/7352693.html?templateId=171...在内存使用接近100%时,系统处于危险境地,为了避免服务器崩溃,Linux内核中有OOM(OutOfMemory)Killer进程,当内存使用接近满时,缺省它会找到使用内存最多的进程杀掉(kill-9)。这个机制保护系统不至于
- Docker的进程和Cgroup概念
AquaPluto
docker容器运维
Docker的进程和Cgroup概念容器里的进程组织或关系0号进程:containerd-shim1号进程:容器内的第一个进程进程收到信号后的三种反应两个特权信号在容器内执行kill命令的行为Cgroup介绍CPUCgroup中与CFS相关的参数Kubernetes中的资源管理memorycgroup容器的可用磁盘进行配额容器里的进程组织或关系0号进程:containerd-shim角色:cont
- Spark Container killed by YARN for exceeding memory limits. 11.1 GB of 11 GB physical memory used
Called_Kingsley
BigDataSparksparkyarn
公司SparkSql运行出现问题同事要求帮忙排查下原因日志:19-10-202110:12:06CSTSPARK_SQL-1632390310963INFO-SLF4J:Seehttp://www.slf4j.org/codes.html#multiple_bindingsforanexplanation.19-10-202110:12:06CSTSPARK_SQL-1632390310963IN
- spark通过降低cores数量来提高成功率,错误记录之memory limit
BackToMeNow
Spark基础与提高Hivesparkhive内存优化physicalmemory
错误复现当数据量达到几百G约一亿条进行计算时,在原本的资源分配条件下失败的几率很高,失败的错误基本如下ContainerkilledbyYARNforexceedingmemorylimits.16.9GBof16GBphysicalmemoryused.Considerboostingspark.yarn.executor.memoryOverhead通常来讲,我们设计资源分配时一般指调整这几个
- Hive-Container killed by YARN for exceeding memory limits. 9.2 GB of 9 GB physical memory used. Cons...
嘣嘣嚓
sparkhiveboostingscalabigdata
Causedby:org.apache.spark.SparkException:Jobabortedduetostagefailure:Task3instage0.0failed4times,mostrecentfailure:Losttask3.3instage0.0(TID62,hadoop7,executor17):ExecutorLostFailure(executor17exitedc
- 运行HQL时,报错:Container killed by YARN for exceeding memory limits
Michael312917
HiveonSparkhive
1出现问题现象搭建HiveOnSpark模式,运行HQL时:出现如下错误:ExecutorLostFailure(executor4exitedcausedbyoneoftherunningtasks)Reason:ContainerkilledbyYARNforexceedingmemorylimits.4.5GBof4.5GBphysicalmemoryused.Considerboostin
- 完全卸载vnc服务并重新安装
翻滚吧键盘
github
好的,我们来彻底卸载并重新安装VNC服务器,确保你的Debian12上的VNC运行正常。1.卸载现有VNC服务器先停止所有VNC服务器实例:vncserver-kill":*"然后卸载tigervnc:sudoaptremove--purgetigervnc-standalone-servertigervnc-common-y删除残留的VNC配置和缓存:rm-rf~/.vnc检查是否仍有VNC相关
- Windows里怎么找到80端口被哪个程序占用了?Taskkill 命令的使用方法
skywalk8163
软硬件调试windows人工智能
在使用difydocker的时候,发现本地80端口被占用了,想找出来是谁占用,并解决问题。方法1(失败)咨询deepseek,说可以用nss3.exe来查找80端口占用的软件,但是百度查找软件:nss3.exe说从这里下载:【nss3.dll官方版下载】nss3.dll-ZOL软件下载后来发现发现不是要找的.....第二种方法运行命令netstat找到80端口的进程是26992netstat-ao
- 测试面试问题
batbat123
测试
1.你觉得测试在一个公司中扮演什么角色软件开发本身是一个系统工程,不同的人扮演了不同的角色保证测试的软件是没问题的,属于质量管理的角色2.linux查看进程,杀死进程查看所有进程ps-ef查看进程ps-ef|grepname杀死进程kill-s9name3.压力测试,负载测试,性能测试的关系负载测试和压力测试都属于性能测试的子集性能测试是在一定的基准下进行测试压力测试stresstest是在一定的
- 二十八、Qos服务质量
Cyan_Jiang
Kuberneteskubernetes运维容器
Qos服务质量一、产生原因Resources也不是万能的,使用一段时间后,资源总量可能会超过接节点配置。根据这个情况,我们可以设置,清除资源。给pod配置,按顺序删除二、服务质量QoS分类Guaranteed:最高服务质量(保证),当宿主机内存不够时,会先kill掉QoS为BestEffort和Burstable的Pod,如果内存还是不够,才会kill掉QoS为Guaranteed,该级别Pod的
- 【Python】进程管理之 subprocess
jackwongs
pythonwindows开发语言
一个好的子进程管理需要满足什么功能需求?无阻塞/阻塞标准输入/输出信号发送/kill其实也不多。开始123456importsubprocessproc=subprocess.Popen('ping127.0.0.1',shell=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,stdin=subprocess.PIPE)print(pro
- Linux: 一切皆文件; peekfd: 偷看一切文件读写
后端服务器
引内容简介Linux大部分数据流动,包括进程间通讯,socket……均通过文件描述符(fd)读写实现。在troubleshooting时,如果可以偷看到fd的流量,那么很多问题可以加速证明/证伪。本文介绍一个老工具peekfd,可以在一定环境中完成这个任务。我遇到的问题我在《小编码,我输给AI了——简记一次父子进程互锁的坑,自己挖的》中说了一个场景。下面是进程父子关系图,我想用kill-QUIT$
- 30秒知识快学插件指南
瞿旺晟
30秒知识快学插件指南30_seconds_of_knowledgeGoogleChromeExtensionthatletsyougainnewdeveloperskills,everytimeyouopenaNewTab.项目地址:https://gitcode.com/gh_mirrors/30/30_seconds_of_knowledge项目介绍30秒知识快学是一款专为开发者设计的Goo
- Linux中 端口被占用如何解决
烛照103
Linux专栏相关开发工具开发中的错误解决linux服务器网络
lsof命令查找查找被占用端口lsof-i:端口号#示例lsof-i:8080lsof-i:3306netstat命令查找查找被占用端口netstat-tuln|grep端口号#示例netstat-tuln|grep3306netstat-tuln|grep6379ss命令查找查找被占用端口ss-tunlp|grep端口号#示例ss-tunlp|grep3306终止端口进程kill-9PID#示例
- Flink整合Hudi及使用
我的K8409
Flinkflink服务器linux
1、jar包上传上传jar包即可完成整合#1、将hudi-flink1.15-bundle-0.15.0.jar包上传到flink的lib目录下/usr/local/soft/flink-1.15.3/lib--如果没有启动集群,直接忽略#2、重启flink的集群yarnapplication-listyarnapplication-killapplication_1706339492248_00
- Linux系统Tomcat进程使用shutdown.sh无法关闭进程
hekun_1
tomcatlinuxjava
项目场景:项目场景:用到多线程异步任务,每个任务单独线程去处理数据问题描述使用shutdown.sh并没有关闭Tomcat项目原因分析:一般造成这种原因是因为项目中有非守护线程的存在,我这里就是用到线程池来处理任务导致无法关闭解决方案:我不想用kill来关闭,不好。#1、在catalina.sh文件中添加CATALINA_PID[root@iZwz9i4wx78lgrcigwubs4Zbin]#v
- 3.4 乐观锁解决超卖问题
浮生梦三生缘
Redisjavaredis
乐观锁解决超卖问题修改代码方案一、VoucherOrderServiceImpl在扣减库存时,改为:booleansuccess=seckillVoucherService.update().setSql("stock=stock-1")//setstock=stock-1.eq("voucher_id",voucherId).eq("stock",voucher.getStock()).upda
- ipython的变量_使用Ipython ipywidget创建变量?
weixin_39521009
ipython的变量
ThisseemsreallysimplebutIhavenotbeenabletofindasingleexampleortosolvethismyself.HowdoIuseanipywidgetwidgettocreateorreturnapythonvariable/object,suchasalistorstring,thatcanbeusedinafollowingcell?解决方案T
- 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