- [Go] slice切片详解
切片详解切片的实现Go中的切片本质上是一个结构体,包含以下三个部分:指向底层数组的指针(array):切片指向一个底层数组,数组中存储着切片的数据。切片的长度(len):切片中当前元素的个数。切片的容量(cap):底层数组的总容量,即底层数组能够存储的元素个数。typeslicestruct{arrayunsafe.Pointerlenintcapint}切片的扩容切片在添加元素(如append操
- JDK 8 AtomicIntegerArray 源码详解(详细注释版)
csdn_tom_168
源码学习JUC并发包javaAtomicIntegerArray源码学习
JDK8AtomicIntegerArray源码详解(详细注释版)1.类定义和基本属性publicclassAtomicIntegerArrayimplementsjava.io.Serializable{//序列化版本号privatestaticfinallongserialVersionUID=2862133569453604235L;/***Unsafe类实例,提供底层的原子操作*通过Uns
- JDK 8 AtomicLongArray 源码详解(详细注释版)
csdn_tom_168
源码学习JUC并发包javaAtomicLongArrayJUC源码学习
JDK8AtomicLongArray源码详解(详细注释版)1.类定义和基本属性publicclassAtomicLongArrayimplementsjava.io.Serializable{//序列化版本号privatestaticfinallongserialVersionUID=-2308431214976778248L;/***Unsafe类实例,提供底层的原子操作*通过Unsafe可以
- VS系列编译器对函数不安全报错的解决办法
考研小昂
安全c#c++
1.定义预定义符号_CRT_SECURE_NO_WARNINGS错误信息:errorC4996:'scanf':Thisfunctionorvariablemaybeunsafe.Considerusingscanf_sinstead.Todisabledeprecation,use_CRT_SECURE_NO_WARNINGS.Seeonlinehelpfordetails.意为:scanf函数
- C#(数据类型)
慢慢沉
C#c#
C#数据类型详解C#的数据类型分为值类型和引用类型两大类,系统还提供了指针类型(需在unsafe上下文使用)。以下是详细分类和说明:一、值类型(直接存储数据)简单类型整数类型:sbyte:8位有符号整数,范围:$-128$到$127$byte:8位无符号整数,范围:$0$到$255$short:16位有符号整数,范围:$-32,768$到$32,767$ushort:16位无符号整数,范围:$0$
- C# 安全高效玩转内存:深入剖析 Span 的本质
bpluo42657
算法
在C#开发中,你是否曾为以下问题困扰?需要处理多种内存(数组、栈内存、非托管内存)但写法各异大量数组切片操作导致复制开销使用unsafe指针时如履薄冰Span正是为解决这些问题而生的利器!它提供了一种统一、安全且高效的内存操作方式。一、Span的本质:内存的“安全视图”Span的核心价值在于它自身不拥有内存,而是为现有内存提供类型安全且高性能的视图。csharp//1.基于数组的视图byte[]b
- 直接内存溢出
p&f°
JVMjvm
一、什么是直接内存直接捏成是一块由操作系统直接管理的内存,也叫堆外内存可以使用Unsafe或ByteBuffer分配直接内存可用-XX:MaxDirectMemorySize控制,默认是0,表示不限制二、为什么使用直接内存直接内存vs堆内存io效率高推荐参考:Java直接内存与非直接内存性能测试-阿里云开发者社区三、什么场景使用直接内存1有很大的数据需要存储,它的生命周期又很长2适合频繁的IO操作
- Kotlin 泛型 | 01. 基础
一、泛型1.1含义参数化类型,用尖括号这种方式表示,如、、等。比如:方法的参数一般指定具体类型,如果把参数的类型也参数化,那这就是泛型本尊了。interfaceList:Collection{overridefuncontains(element:@UnsafeVarianceE):Boolean}总的来说,泛型本质就是参数化类型,这种类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、
- 【Rust日报】使用Rust开发分布式系统的经验教训
Fjall-一个安全Rust的KV存储引擎Fjall是一个可嵌入的基于LSM的forbid-unsafeRust键值存储引擎。它的目标是成为一个可靠且可预测但性能优异的通用KV存储引擎,适用于小型数据集,尤其是大于内存大小的数据集。我刚刚发布了1.0版本,该版本稳定了其数据格式,适用于所有未来的1.x.x版本。它的设计受到了LevelDB/RocksDB架构的重大影响,并且通常具有相似的性能。它具
- Socket对象
cfqq1989
C#以太网c#
构造3个enum枚举publicSocket(SocketType插座类型,ProtocolType协议类型)【819】:this(AddressFamily.InterNetworkV6,socketType,protocolType)。publicSocket(AddressFamily地址家庭,SocketType插座类型,ProtocolType协议类型)。publicunsafeSock
- (k8s) Dashboard+国产kuboard(好用)+简单命令
小刘同学....
kubernetesdockerlinux
可视化部署Dashboard昨天做一主两从飞高可用,出现浏览器那一行,是为啥thisisunsafekubectlget获取资源podnodesvc-A所有名称空间-n指定名称空间-w动态显示kubectledit资源podnodesvc官方的,毛坯房国产在哪找的资源?访问看service可以管理多个k8s集群命令补全一下学习命令状态kubectlgetpod#默认名称空间中的所有pod-A所有名
- VSCode插件下载失败
凡。。。296
vscodeide编辑器
点击设置,搜索框输入security.workspace.trust.unsafeDL将下面按钮关闭,如下图之后关掉vscode,重新打开,重新下载插件即可
- Go的数据结构与算法-----实现可变长数组
Go达人
开发语言golanggo
切片在Golang中,数组长度是不可变的,那么我们可以自己实现简单的可变长数组。在Golang里面切片slice里就运用了可变长数组,slice是对底层数组的抽象和控制。那么我们先看看slice的结构体typeslicestruct{arrayunsafe.Pointer//表示任何类型的指针lenint//长度capint//容量}unsafe.Pointer是Go语言中的一个特殊类型,用于表示
- 零基础在实践中学习网络安全-皮卡丘靶场(第八期-Unsafe Filedownload模块)
恰薯条的屑海鸥
零基础学网安-皮卡丘靶场学习web安全网络安全学习网络安全安全
这期内容更是简单和方便,毕竟谁还没在浏览器上下载过东西,不过对于url的构造方面,可能有一点问题,大家要多练手介绍不安全的文件下载概述文件下载功能在很多web系统上都会出现,一般我们当点击下载链接,便会向后台发送一个下载请求,一般这个请求会包含一个需要下载的文件名称,后台在收到请求后会开始执行下载代码,将该文件名对应的文件response给浏览器,从而完成下载。如果后台在收到请求的文件名后,将其直
- Kotlin by关键字
️ 邪神
Kotlin
委托的概念委托是一种设计模式,它的基本概念是:操作对象自己不会去处理某段逻辑,而是会把工作委托给另外一个辅助对象去处理。classNewList(privatevallist:MutableList){funisEmpty()=list.isEmpty()funadd(item:@UnsafeVarianceT)=list.add(item)funremove(item:@UnsafeVarian
- 零基础在实践中学习网络安全-皮卡丘靶场(第十一期-目录遍历模块)
恰薯条的屑海鸥
学习web安全安全网络安全学习渗透测试
经过前面几期的内容我们学习了很多网络安全的知识,而这期内容就涉及到了前面的第六期-RCE模块,第七期-Fileinclusion模块,第八期-UnsafeFiledownload模块。什么是"遍历"呢:对学过一些开发语言的朋友来说应该知道,对于不了解的朋友来说,只要知道"遍历"类似于:比如说你有一筐鸡蛋,想要看看有没有坏的鸡蛋,就要一个一个地拿起来,仔细检查每个鸡蛋是否有裂缝或者闻起来有没有臭味。
- Vue3 引用百度地图部署到服务器,地图展示不出来。
牵只蜗牛去跑步
服务器前端
浏览器报错信息:becauseitviolatesthefollowingContentSecurityPolicydirective:"script-src*'unsafe-inline''unsafe-eval'".Notethat'worker-src'wasnotexplicitlyset,so'script-src'isusedasafallback.Notethat'*'matches
- 每日八股文5.30
UGOTNOSHOT
每日八股#Gogolang
每日八股-5.30Go1.Golang中的select语句2.Select的用途(单次,随机执行完一个case即结束)3.For-select的使用(多次,直到收到done信号或quit信号才return)4.Context5.Context的用途6.Go程序启动时发生了什么?7.数据竞争gorace7.Go语言实现优雅退出8.uintptr和unsafe.Pointer的区别9.Go语言的限流G
- node开发帮助文档
猫328
前端javascript开发语言
Buffer每个元素大小为1字节,类似于数组Buffer.alloc()创建一个Buffer参数1:字节数Constbuf_1=Buffer.alloc(10)Buffer.allocUnsafe()创建一个Buffer参数1:字节数Constbuf_1=Buffer.allocUnsafe(10)Buffer.from()字符串转Bufferconstbuf_3=Buffer.from('ilo
- 关于 React 的面试题及其解析
HappyAcmen
前端技术面试react.js前端前端框架
文章目录1.什么是React(概念)?2.React组件有哪些类型?3.什么是JSX?4.如何创建React组件?5.React中的state是什么?6.props与state的区别是什么?7.受控组件与非受控组件的区别?8.React组件的生命周期包括哪些阶段?9.常用的生命周期方法有哪些?10.React16.3之后哪些生命周期方法被标记为UNSAFE?11.什么是高阶组件(HOC)?12.R
- Golang 切片slice源码走读
记录学习的点滴
golang算法开发语言
切片slice是golang中非常经典的数据结构,其定位可以类比其他语言中的动态数组。切片中的元素存放在一块内存地址连续的区域,使用索引可以快速检索到指定位置的元素;切片长度和容量是可变的,在使用过程中可以根据需要进行扩容。本文对应的Golang版本是1.21.9数据结构//src/runtime/slice.gotypeslicestruct{arrayunsafe.Pointerlenintc
- Go :验证使用数字常量时检测到溢出(附完整源码)
源代码大师
go语言完整教程golang前端
Go:验证使用数字常量时检测到溢出packagemainimport"unsafe"typeIinterface{}const(//assumealltypesbehavesimilarlytoint8/uint8Int8int8=101Minus1int8=-<
- 无法访问此网站网址为 http://localhost:6000/xxx 的网页可能暂时无法连接,或者它已永久性地移动到了新网址。 ERR_UNSAFE_POR
徒步的Code
错误笔记网络web安全springboot安全
无法访问此网站问题:自己写的WEB服务,端口6000在浏览器上怎么请求都无法访问此网站,如下图:在谷歌上访问:在火狐上访问:但是发现一个问题就是在Postman和IE里边测试是可以用的原因:就是因为浏览器出于安全考虑,会设置非安全不能访问的端口。所以在平常开发中需要避开这些端口,以免踩不必要的坑。谷歌的非安全端口号大概如下:端口|程序1|tcpmux7|echo9|discard11|systat
- Rust的安全卫生原则
老猿讲编程
rust开发语言
在Rust编程世界里,unsafe关键字常常让初学者感到困惑。他们经常会问:“在unsafe块里能做什么?”“什么时候需要使用unsafe?”这些问题虽然很常见,但对于真正理解Rust的安全机制来说还远远不够。因为随着Rust操作语义的不断完善,unsafe代码的能力边界也在变化;而且“什么时候需要unsafe”这种问题的答案往往比较笼统,对编写可维护的unsafe代码以及改进Rust的安全工具帮
- Go 1.20 相比 Go 1.19 有哪些值得注意的改动?
go
本系列旨在梳理Go的releasenotes与发展史,来更加深入地理解Go语言设计的思路。https://go.dev/doc/go1.20Go1.20值得关注的改动:语言SlicetoArray转换:Go1.20扩展了Go1.17的功能,允许直接将slice转换为固定大小的数组,例如使用[4]byte(x)替代*(*[4]byte)(x)。unsafe包更新:新增SliceData、String
- Go 1.17 相比 Go 1.16 有哪些值得注意的改动?
go
本系列旨在梳理Go的releasenotes与发展史,来更加深入地理解Go语言设计的思路。https://go.dev/doc/go1.17Go1.17值得关注的改动:语言增强:引入了从切片(slice)到数组指针的转换,并添加了unsafe.Add和unsafe.Slice以简化unsafe.Pointer的使用。模块图修剪:对于指定go1.17或更高版本的模块,go.mod文件现在包含更全面的
- C# 的 unsafe 关键字
visual-studio
unsafe关键字表示不安全上下文,该上下文是任何涉及指针的操作所必需的。备注:C#默认编译器是非unsafe的,使用unsafe关键字会发生编译错误(警告CS0227:不安全代码只会在使用/unsafe编译的情况下出现)。不能通过公共语言运行时验证unsafe代码。若要使用unsafe关键字,依如下步骤完成:选择菜单“项目”中的““项目名”和属性”一项;左侧栏找到“生成”→“常规”;选中右侧“不
- npm i 出现permission denied
ysj-121
npm
npminstall增加--unsafe-perm参考:Mac机型上执行npmi,报错Error:EACCES:permissiondenied_installfail!error:eacces:permissiondenied,op-CSDN博客
- 【解读】Chrome 浏览器实验性功能全景
技术与健康
chrome前端
Chrome浏览器提供了大量可配置的实验性或功能性设置,主要涉及安全、性能、多媒体、WebAPI、隐私等多个方面,这些设置可在Chrome浏览器的flags页面进行调整。安全相关设置不安全源设置:可通过#unsafely-treat-insecure-origin-as-secure,将给定的不安全源视为安全源,需指定协议,如http://example.com。站点隔离设置:#site-isol
- C++ `unique_ptr` 多线程使用
lianghu666
C/C++c++
C++unique_ptr多线程使用一、核心结论操作同一个unique_ptr:必须加锁(所有权转移是非原子操作)访问被管理对象:若对象非线程安全,仍需额外同步独立unique_ptr实例:不同线程操作不同实例时无需加锁二、错误案例(未加锁导致数据竞争)#include#include#include//全局unique_ptr(危险!)std::unique_ptrunsafe_ptr;void
- 面向对象面向过程
3213213333332132
java
面向对象:把要完成的一件事,通过对象间的协作实现。
面向过程:把要完成的一件事,通过循序依次调用各个模块实现。
我把大象装进冰箱这件事为例,用面向对象和面向过程实现,都是用java代码完成。
1、面向对象
package bigDemo.ObjectOriented;
/**
* 大象类
*
* @Description
* @author FuJian
- Java Hotspot: Remove the Permanent Generation
bookjovi
HotSpot
openjdk上关于hotspot将移除永久带的描述非常详细,http://openjdk.java.net/jeps/122
JEP 122: Remove the Permanent Generation
Author Jon Masamitsu
Organization Oracle
Created 2010/8/15
Updated 2011/
- 正则表达式向前查找向后查找,环绕或零宽断言
dcj3sjt126com
正则表达式
向前查找和向后查找
1. 向前查找:根据要匹配的字符序列后面存在一个特定的字符序列(肯定式向前查找)或不存在一个特定的序列(否定式向前查找)来决定是否匹配。.NET将向前查找称之为零宽度向前查找断言。
对于向前查找,出现在指定项之后的字符序列不会被正则表达式引擎返回。
2. 向后查找:一个要匹配的字符序列前面有或者没有指定的
- BaseDao
171815164
seda
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class BaseDao {
public Conn
- Ant标签详解--Java命令
g21121
Java命令
这一篇主要介绍与java相关标签的使用 终于开始重头戏了,Java部分是我们关注的重点也是项目中用处最多的部分。
1
- [简单]代码片段_电梯数字排列
53873039oycg
代码
今天看电梯数字排列是9 18 26这样呈倒N排列的,写了个类似的打印例子,如下:
import java.util.Arrays;
public class 电梯数字排列_S3_Test {
public static void main(S
- Hessian原理
云端月影
hessian原理
Hessian 原理分析
一. 远程通讯协议的基本原理
网络通信需要做的就是将流从一台计算机传输到另外一台计算机,基于传输协议和网络 IO 来实现,其中传输协议比较出名的有 http 、 tcp 、 udp 等等, http 、 tcp 、 udp 都是在基于 Socket 概念上为某类应用场景而扩展出的传输协
- 区分Activity的四种加载模式----以及Intent的setFlags
aijuans
android
在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。
这需要为Activity配置特定的加载模式,而不是使用默认的加载模式。 加载模式分类及在哪里配置
Activity有四种加载模式:
standard
singleTop
- hibernate几个核心API及其查询分析
antonyup_2006
html.netHibernatexml配置管理
(一) org.hibernate.cfg.Configuration类
读取配置文件并创建唯一的SessionFactory对象.(一般,程序初始化hibernate时创建.)
Configuration co
- PL/SQL的流程控制
百合不是茶
oraclePL/SQL编程循环控制
PL/SQL也是一门高级语言,所以流程控制是必须要有的,oracle数据库的pl/sql比sqlserver数据库要难,很多pl/sql中有的sqlserver里面没有
流程控制;
分支语句 if 条件 then 结果 else 结果 end if ;
条件语句 case when 条件 then 结果;
循环语句 loop
- 强大的Mockito测试框架
bijian1013
mockito单元测试
一.自动生成Mock类 在需要Mock的属性上标记@Mock注解,然后@RunWith中配置Mockito的TestRunner或者在setUp()方法中显示调用MockitoAnnotations.initMocks(this);生成Mock类即可。二.自动注入Mock类到被测试类 &nbs
- 精通Oracle10编程SQL(11)开发子程序
bijian1013
oracle数据库plsql
/*
*开发子程序
*/
--子程序目是指被命名的PL/SQL块,这种块可以带有参数,可以在不同应用程序中多次调用
--PL/SQL有两种类型的子程序:过程和函数
--开发过程
--建立过程:不带任何参数
CREATE OR REPLACE PROCEDURE out_time
IS
BEGIN
DBMS_OUTPUT.put_line(systimestamp);
E
- 【EhCache一】EhCache版Hello World
bit1129
Hello world
本篇是EhCache系列的第一篇,总体介绍使用EhCache缓存进行CRUD的API的基本使用,更细节的内容包括EhCache源代码和设计、实现原理在接下来的文章中进行介绍
环境准备
1.新建Maven项目
2.添加EhCache的Maven依赖
<dependency>
<groupId>ne
- 学习EJB3基础知识笔记
白糖_
beanHibernatejbosswebserviceejb
最近项目进入系统测试阶段,全赖袁大虾领导有力,保持一周零bug记录,这也让自己腾出不少时间补充知识。花了两天时间把“传智播客EJB3.0”看完了,EJB基本的知识也有些了解,在这记录下EJB的部分知识,以供自己以后复习使用。
EJB是sun的服务器端组件模型,最大的用处是部署分布式应用程序。EJB (Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基
- angular.bootstrap
boyitech
AngularJSAngularJS APIangular中文api
angular.bootstrap
描述:
手动初始化angular。
这个函数会自动检测创建的module有没有被加载多次,如果有则会在浏览器的控制台打出警告日志,并且不会再次加载。这样可以避免在程序运行过程中许多奇怪的问题发生。
使用方法: angular .
- java-谷歌面试题-给定一个固定长度的数组,将递增整数序列写入这个数组。当写到数组尾部时,返回数组开始重新写,并覆盖先前写过的数
bylijinnan
java
public class SearchInShiftedArray {
/**
* 题目:给定一个固定长度的数组,将递增整数序列写入这个数组。当写到数组尾部时,返回数组开始重新写,并覆盖先前写过的数。
* 请在这个特殊数组中找出给定的整数。
* 解答:
* 其实就是“旋转数组”。旋转数组的最小元素见http://bylijinnan.iteye.com/bl
- 天使还是魔鬼?都是我们制造
ducklsl
生活教育情感
----------------------------剧透请原谅,有兴趣的朋友可以自己看看电影,互相讨论哦!!!
从厦门回来的动车上,无意中瞟到了书中推荐的几部关于儿童的电影。当然,这几部电影可能会另大家失望,并不是类似小鬼当家的电影,而是关于“坏小孩”的电影!
自己挑了两部先看了看,但是发现看完之后,心里久久不能平
- [机器智能与生物]研究生物智能的问题
comsci
生物
我想,人的神经网络和苍蝇的神经网络,并没有本质的区别...就是大规模拓扑系统和中小规模拓扑分析的区别....
但是,如果去研究活体人类的神经网络和脑系统,可能会受到一些法律和道德方面的限制,而且研究结果也不一定可靠,那么希望从事生物神经网络研究的朋友,不如把
- 获取Android Device的信息
dai_lm
android
String phoneInfo = "PRODUCT: " + android.os.Build.PRODUCT;
phoneInfo += ", CPU_ABI: " + android.os.Build.CPU_ABI;
phoneInfo += ", TAGS: " + android.os.Build.TAGS;
ph
- 最佳字符串匹配算法(Damerau-Levenshtein距离算法)的Java实现
datamachine
java算法字符串匹配
原文:http://www.javacodegeeks.com/2013/11/java-implementation-of-optimal-string-alignment.html------------------------------------------------------------------------------------------------------------
- 小学5年级英语单词背诵第一课
dcj3sjt126com
englishword
long 长的
show 给...看,出示
mouth 口,嘴
write 写
use 用,使用
take 拿,带来
hand 手
clever 聪明的
often 经常
wash 洗
slow 慢的
house 房子
water 水
clean 清洁的
supper 晚餐
out 在外
face 脸,
- macvim的使用实战
dcj3sjt126com
macvim
macvim用的是mac里面的vim, 只不过是一个GUI的APP, 相当于一个壳
1. 下载macvim
https://code.google.com/p/macvim/
2. 了解macvim
:h vim的使用帮助信息
:h macvim
- java二分法查找
蕃薯耀
java二分法查找二分法java二分法
java二分法查找
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年6月23日 11:40:03 星期二
http:/
- Spring Cache注解+Memcached
hanqunfeng
springmemcached
Spring3.1 Cache注解
依赖jar包:
<!-- simple-spring-memcached -->
<dependency>
<groupId>com.google.code.simple-spring-memcached</groupId>
<artifactId>simple-s
- apache commons io包快速入门
jackyrong
apache commons
原文参考
http://www.javacodegeeks.com/2014/10/apache-commons-io-tutorial.html
Apache Commons IO 包绝对是好东西,地址在http://commons.apache.org/proper/commons-io/,下面用例子分别介绍:
1) 工具类
2
- 如何学习编程
lampcy
java编程C++c
首先,我想说一下学习思想.学编程其实跟网络游戏有着类似的效果.开始的时候,你会对那些代码,函数等产生很大的兴趣,尤其是刚接触编程的人,刚学习第一种语言的人.可是,当你一步步深入的时候,你会发现你没有了以前那种斗志.就好象你在玩韩国泡菜网游似的,玩到一定程度,每天就是练级练级,完全是一个想冲到高级别的意志力在支持着你.而学编程就更难了,学了两个月后,总是觉得你好象全都学会了,却又什么都做不了,又没有
- 架构师之spring-----spring3.0新特性的bean加载控制@DependsOn和@Lazy
nannan408
Spring3
1.前言。
如题。
2.描述。
@DependsOn用于强制初始化其他Bean。可以修饰Bean类或方法,使用该Annotation时可以指定一个字符串数组作为参数,每个数组元素对应于一个强制初始化的Bean。
@DependsOn({"steelAxe","abc"})
@Comp
- Spring4+quartz2的配置和代码方式调度
Everyday都不同
代码配置spring4quartz2.x定时任务
前言:这些天简直被quartz虐哭。。因为quartz 2.x版本相比quartz1.x版本的API改动太多,所以,只好自己去查阅底层API……
quartz定时任务必须搞清楚几个概念:
JobDetail——处理类
Trigger——触发器,指定触发时间,必须要有JobDetail属性,即触发对象
Scheduler——调度器,组织处理类和触发器,配置方式一般只需指定触发
- Hibernate入门
tntxia
Hibernate
前言
使用面向对象的语言和关系型的数据库,开发起来很繁琐,费时。由于现在流行的数据库都不面向对象。Hibernate 是一个Java的ORM(Object/Relational Mapping)解决方案。
Hibernte不仅关心把Java对象对应到数据库的表中,而且提供了请求和检索的方法。简化了手工进行JDBC操作的流程。
如
- Math类
xiaoxing598
Math
一、Java中的数字(Math)类是final类,不可继承。
1、常数 PI:double圆周率 E:double自然对数
2、截取(注意方法的返回类型) double ceil(double d) 返回不小于d的最小整数 double floor(double d) 返回不大于d的整最大数 int round(float f) 返回四舍五入后的整数 long round