做移动网站优化排名网站建设需要编码不

news/2025/10/7 8:05:53/文章来源:
做移动网站优化排名,网站建设需要编码不,在微信上怎么做网站,dedecms的网站放在哪个文件夹里基本数据类型 Java 基础数据按类型可以分为四大类#xff1a;布尔型、整数型、浮点型、字符型#xff0c;这四大类包含 8 种基础数据类型。 布尔型#xff1a;boolean整数型#xff1a;byte、short、int、long浮点型#xff1a;float、double字符型#xff1a;char 八种…基本数据类型 Java 基础数据按类型可以分为四大类布尔型、整数型、浮点型、字符型这四大类包含 8 种基础数据类型。 布尔型boolean整数型byte、short、int、long浮点型float、double字符型char 八种基础类型取值如下 数据类型代表含义默认值取值包装类boolean布尔型false0(false) 到 1(true)Booleanbyte字节型(byte)0-128 到 127Bytechar字符型\u0000(空)\u0000 到 \uFFFFCharactershort短整数型(short)0-215 到 215-1Shortint整数型0-231 到 231-1Integerlong长整数型0L-263 到 263-1Longfloat单浮点型0.0f1.4e-45 到 3.4e38Floatdouble双浮点型0.0d4.9e-324 到 1.798e308Double 除 chat 的包装类 Character 和 int 的包装类 Integer 之外其他基础数据类型的包装类只需要首字母大写即可。包装类的作用和特点本文下半部分详细讲解。 我们可以在代码中查看某种类型的取值范围代码如下 public static void main(String[] args) {// Byte 取值-128 ~ 127System.out.println(String.format(Byte 取值%d ~ %d, Byte.MIN_VALUE, Byte.MAX_VALUE));// Int 取值-2147483648 ~ 2147483647System.out.println(String.format(Int 取值%d ~ %d, Integer.MIN_VALUE, Integer.MAX_VALUE)); }包装类型 我们知道 8 种基本数据类型都有其对应的包装类因为 Java 的设计思想是万物既对象有很多时候我们需要以对象的形式操作某项功能比如说获取哈希值hashCode或获取类getClass等。那包装类特性有哪些 1. 功能丰富 包装类本质上是一个对象对象就包含有属性和方法比如 hashCode、getClass 、max、min 等。 2. 可定义泛型类型参数 包装类可以定义泛型而基础类型不行。 比如使用 Integer 定义泛型代码 ListInteger list new ArrayList();如果使用 int 定义就会报错代码 List list new ArrayList(); // 编译器代码报错3. 序列化 因为包装类都实现了 Serializable 接口所以包装类天然支持序列化和反序列化。比如 Integer 的类图如下 4. 类型转换 包装类提供了类型转换的方法可以很方便的实现类型之间的转换比如 Integer 类型转换代码 String age 18; int ageInt Integer.parseInt(age) 2; // 输出结果20 System.out.println(ageInt);5. 高频区间的数据缓存 此特性为包装类很重要的用途之一用于高频区间的数据缓存以 Integer 为例来说在数值区间为 -128~127 时会直接复用已有对象在这区间之外的数字才会在堆上产生。 我们使用 对 Integer 进行验证代码如下 public static void main(String[] args) {// Integer 高频区缓存范围 -128~127Integer num1 127;Integer num2 127;// Integer 取值 127 结果为 true值127 num1num2 trueSystem.out.println(值127 num1num2 (num1 num2));Integer num3 128;Integer num4 128;// Integer 取值 128 结果为 false值128 num3num4 falseSystem.out.println(值128 num3num4 (num3 num4));}从上面的代码很明显可以看出Integer 为 127 时复用了已有对象当值为 128 时重新在堆上生成了新对象。 为什么会产生高频区域数据缓存我们查看源码就能发现“线索”源码版本 JDK 8源码如下 public static Integer valueOf(int i) {if (i IntegerCache.low i IntegerCache.high)return IntegerCache.cache[i (-IntegerCache.low)];return new Integer(i); }由此可见高频区域的数值会直接使用已有对象非高频区域的数值会重新 new 一个新的对象。 各包装类高频区域的取值范围 Boolean使用静态 final 定义就会返回静态值Byte缓存区 -128~127全部缓存Short缓存区 -128~127部分缓存Character缓存区 0~127部分缓存Long缓存区 -128~127部分缓存Integer缓存区 -128~127部分缓存。 包装类的注意事项 int 的默认值是 0而 Integer 的默认值是 null。推荐所有包装类对象之间的值比较使用 equlas() 方法因为包装类的非高频区数据会在堆上产生而高频区又会复用已有对象这样会导致同样的代码因为取值的不同而产生两种截然不同的结果。代码示例 public static void main(String[] args) {// Integer 高频区缓存范围 -128~127Integer num1 127;Integer num2 127;// Integer 取值 127 结果为 true值127 num1num2 trueSystem.out.println(值127 num1num2 (num1 num2));Integer num3 128;Integer num4 128;// Integer 取值 128 结果为 false值128 num3num4 falseSystem.out.println(值128 num3num4 (num3 num4));// Integer 取值 128 equals 结果为 true值128 num3.equals(num4) trueSystem.out.println(值128 num3.equals(num4) num3.equals(num4)); }Float 和 Double 不会有缓存其他包装类都有缓存。Integer 是唯一一个可以修改缓存范围的包装类在 VM optons 加入参数-XX:AutoBoxCacheMax666 即修改缓存最大值为 666 。 示例代码如下 public static void main(String[] args) {Integer num1 -128;Integer num2 -128;System.out.println(值为-128 (num1 num2));Integer num3 666;Integer num4 666;System.out.println(值为666 (num3 num4));Integer num5 667;Integer num6 667;System.out.println(值为667 (num5 num6)); }执行结果如下 值为-128 true 值为666 true 值为667 false由此可见将 Integer 最大缓存修改为 666 之后667 不会被缓存而 -128~666 之间的数都被缓存了。 相关面试题 1. 以下 Integer 代码输出的结果是 Integer age 10; Integer age2 10; Integer age3 133; Integer age4 133; System.out.println((age age2) , (age3 age4));答true,false 2. 以下 Double 代码输出的结果是 Double num 10d; Double num2 10d; Double num3 133d; Double num4 133d; System.out.println((num num2) , (num3 num4));答false,false 3. 以下程序输出结果是 int i 100; Integer j new Integer(100); System.out.println(i j); System.out.println(j.equals(i));Atrue,trueBtrue,falseCfalse,trueDfalse,false 答A 题目分析有人认为这和 Integer 高速缓存有关系但你发现把值改为 10000 结果也是 true,true这是因为 Integer 和 int 比较时会自动拆箱为 int 相当于两个 int 比较值一定是 true,true。 4. 以下程序执行的结果是 final int iMax Integer.MAX_VALUE; System.out.println(iMax 1);A2147483648B-2147483648C程序报错D以上都不是答B题目解析这是因为整数在内存中使用的是补码的形式表示最高位是符号位 0 表示正数1 表示负数当执行 1 时最高位就变成了 1结果就成了 -2147483648。 5. 以下程序执行的结果是 SetShort set new HashSet(); for (short i 0; i 5; i) {set.add(i);set.remove(i - 1); } System.out.println(set.size());A1B0C5D以上都不是 答5 题目解析Short 类型 -1 之后转换成了 Int 类型remove() 的时候在集合中找不到 Int 类型的数据所以就没有删除任何元素执行的结果就是 5。 6. short s2;ss1; 会报错吗short s2;s1; 会报错吗 答ss1 会报错s1 不会报错因为 ss1 会导致 short 类型升级为 int 类型所以会报错而 s1 还是原来的 short 类型所以不会报错。 7. float f3.4; 会报错吗为什么 答会报错因为值 3.4 是 double 类型float 类型级别小于 double 类型所以会报错。如下图所示 8. 为什么需要包装类 答需要包装类的原因有两个。 ① Java 的设计思想是万物既对象包装类体现了面向对象的设计理念② 包装类包含了很多属性和方法比基础数据类型功能多比如提供的获取哈希值hashCode或获取类getClass的方法等。 9. 基础类 int 和包装类 Integer在 -128~127 之间都会复用已有的缓存对象这种说法正确吗 答不正确只有包装类高频区域数据才有缓存。 10. 包装类 Double 和 Integer 一样都有高频区域数据缓存这种说法正确吗 答不正确基础数据类型的包装类只有 Double 和 Float 没有高频区域的缓存。 11. 包装类的值比较要使用什么方法 答包装类因为有高频区域数据缓存所以推荐使用 equals() 方法进行值比较。 12. 包装类有哪些功能 答包装类提供的功能有以下几个。 功能丰富包装类包含了有 hashCode、getClass 、max、min 等方法可定义泛型类型参数例如 ListInteger list new ArrayList(); ;序列化包装类实现了 Serializable 接口所以包装类天然支持序列化和反序列化类型转换包装类提供了方便的类型转换方法比如 Integer 的 parseInt() 方法高频区域数据缓存高频区域可使用已有的缓存对象。 详见正文“包装类型”部分内容。 13. 泛型可以为基础类型吗为什么 答泛型不能使用基础数据类型。泛型在 JVMJava虚拟机编译的时候会类型檫除比如代码 ListInteger list 在 JVM 编译的时候会转换为 List list 因为泛型是在 JDK 5 时提供的而 JVM 的类型檫除是为了兼容以前代码的一个折中方案类型檫除之后就变成了 Object而 Object 不能存储基础数据类型但可以使用基础数据类型对应的包装类所以像 Listint list 这样的代码是不被允许的编译器阶段会检查报错而 ListInteger list 是被允许的。 14. 选择包装类还是基础类的原则有哪些 答我们知道正确的使用包装类可以提供程序的执行效率可以使用已有的缓存一般情况下选择基本数据类型还是包装类原则有以下几个。 ① 所有 POJO 类属性必须使用包装类② RPC 方法返回值和参数必须使用包装类③ 所有局部变量推荐使用基础数据类型。 15. 基础数据类型在 JVM 中一定存储在栈中吗为什么 答基础数据类型不一定存储在栈中因为基础类型的存储位置取决于声明的作用域来看具体的解释。 当基础数据类型为局部变量的时候比如在方法中声明的变量则存放在方法栈中的当方法结束系统会释放方法栈在该方法中的变量也会随着栈的销毁而结束这也是局部变量只能在方法中使用的原因当基础数据类型为全局变量的时候比如类中的声明的变量则存储在堆上因为全局变量不会随着某个方法的执行结束而销毁。 16. 以下程序执行的结果是 Integer i1 new Integer(10); Integer i2 new Integer(10); Integer i3 Integer.valueOf(10); Integer i4 Integer.valueOf(10); System.out.println(i1 i2); System.out.println(i2 i3); System.out.println(i3 i4);Afalse,false,falseBfalse,false,trueCfalse,true,trueDtrue,false,false 答B 题目解析new Integer(10) 每次都会创建一个新对象Integer.valueOf(10) 则会使用缓存池中的对象。 17. 3*0.10.3 返回值是多少 答返回值为false。 题目解析因为有些浮点数不能完全精确的表示出来如下代码 System.out.println(3 * 0.1); 返回的结果是0.30000000000000004。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/930187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站设计需要那些人绍兴seo推广

hash 模式 【推荐】 路由效果 在不刷新页面的前提下,根据 URL 中的 hash 值,渲染对应的页面 http://test.com/#/login 登录页http://test.com/#/index 首页 核心API – window.onhashchange 监听 hash 的变化,触发视图更新 window.onhas…

通过litestream 进行sqlite-vec 数据备份以及恢复

通过litestream 进行sqlite-vec 数据备份以及恢复实际上就是一个简单的测试,litestream 支持流式复制,比较适合对于sqlite进行备份,同时litestream 还支持对象存储的remote 模式,比较方便 环境准备minioservices: …

相册网站开发那个网站开发三味

强制类型转换形式:(类型说明符) (表达式)举例说明:1) int a;a (int)1.9;2)char *b;int *p;p (int *) b; //将b的值强制转换为指向整型数据的指针类型,后赋给p注示:类型说明符和表达式都必须加括号,表达式为单个变量可…

做购物网站适合的服务器网站建设需求模版

目录 前言 一、创建上下文类 1.自定义MyContext上下文类继承IdentityDbContext 2.在Program中添加AddDbContext服务 二、使用Migration数据迁移 1.在控制台中 依次使用add-migration 、updatebase 命令 2.如何修改表名 3.如何自定义字段 三、使用Identity实现登录、修改密码 …

对于路由使用的ref的疑问

<script setup>import { ref, computed } from vueimport Home from ./Home.vueimport About from ./About.vueimport NotFound from ./NotFound.vueconst routes = { /: Home, /about: About}const currentPa…

天津到天津天津网站开发iis v6 新建网站

大数据管理数据处理过程图大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察力。大数据处理的主要流程包括数据收集、数据存储、数据处理、数据应用等主要环节。随着业务的增长,大量和流程、规…

自建购物网站福建响应式网站制作

目录 详细布置&#xff1a; 1. 层序遍历 2. 226. 翻转二叉树 3. 101. 对称二叉树 详细布置&#xff1a; 1. 层序遍历 昨天练习了几种二叉树的深度优先遍历&#xff0c;包括&#xff1a; ​​​​​​前中后序的递归法前中后序的迭代法前中后序迭代的统一写法 今天&…

扁平化企业网站从零开始制作wordpress主题

文章目录 360篡改浏览器主页方法1锁定浏览器主页 方法2注册表修改 360广告和弹窗360极速版 小结 360篡改浏览器主页 如果您使用360,且不想卸载它,那么当你启动360后,它可能会篡改你的浏览器(比如edge)的主页start page为360早期可能是通过修改快捷方式的target等属性,但是现在…

新网站建设验收公司手机网站模板

&#x1f4cb; 博主简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是wux_labs。&#x1f61c; 热衷于各种主流技术&#xff0c;热爱数据科学、机器学习、云计算、人工智能。 通过了TiDB数据库专员&#xff08;PCTA&#xff09;、TiDB数据库专家&#xff08;PCTP…

公司专业网站建设百度分享代码 wordpress

背景&#xff1a; 想知道四川省包含哪些水系&#xff0c;以及各个水系的分布&#xff0c;起点、流经省市、终点等 {label: "嘉陵江",value: "嘉陵江",},{label: "渠江",value: "渠江",},{label: "涪江",value: "涪江&q…

Paypal 设置不自动换汇

进入 PayPal 网页版自动付款设置。选择结算商户,查看兑换选项,修改为使用银行的兑换方式。

网站建设培训赚钱吗怎么才能在百度上做引流呢

目录 引出Redis持久化方式Redis入门1.Redis是什么&#xff1f;2.Redis里面存Java对象 Redis进阶1.雪崩/ 击穿 / 穿透2.Redis高可用-主从哨兵3.持久化RDB和AOF4.Redis未授权访问漏洞5.Redis里面安装BloomFilte Redis的应用1.验证码2.Redis高并发抢购3.缓存预热用户注册验证码4.R…

威县网站建设报价微信app开发价格表

我们需要将Python对象序列化为字节流&#xff0c;这样就可以将其保存到文件中、存储到数据库中或者通过网络连接进行传输。 解决方案 序列化最普遍的做法是使用 pickle 模块。为了将一个对象保存到一个文件中&#xff0c;可以这样做&#xff1a; import pickledata ... # Some…

国外网站参考住房城乡与建设厅网站首页

压缩方式是网络视频服务器和网络摄像机的核心技术&#xff0c;压缩方式很大程度上决定着图像的质量、压缩比、传输效率、传输速度等性能&#xff0c;它是评价网络视频服务器和网络摄像机性能优劣的重要一环。 随着多媒体技术的发展&#xff0c;相继推出了许多压缩编码标准&…

中博建设集团有限公司网站湖南软件开发公司

前言 由于兼容性问题&#xff0c;使得我们若想用较新版本的 PyTorch&#xff0c;通过 GPU 方式训练模型&#xff0c;也得更换较新版本得 CUDA 工具包。然而 CUDA 的版本又与电脑显卡的驱动程序版本关联&#xff0c;如果是低版本的显卡驱动程序安装 CUDA11 及以上肯定会失败。 比…

wordpress圆角插件汉化青岛网络优化推广公司

C#流和文件 文件及文件夹管理 WinForm中的文件对话框 文件内容的读写 注册表操作

手机网站前端电商法规定企业网站必须做3年

1. 业务理解与需求分析 业务场景梳理&#xff1a;深入理解业务流程、业务规则、用户行为模式等&#xff0c;明确系统需要支持的核心功能和应用场景。非功能性需求识别&#xff1a;关注性能指标&#xff08;如响应时间、并发处理能力、数据吞吐量等&#xff09;、可用性要求&am…

诺贝尔生理与医学奖颁给这项革命技术,多家中国公司已布局!(附名单)

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 3546955410049087 刚刚,2025年诺贝尔生理学或医学奖震撼公布。科学家玛丽E布伦科(…

网站上传好了如何做定向wordpress用户注册代码修改哪里

数据驱动将测试数据和测试行为完全分离&#xff0c;实施数据驱动测试步骤如下&#xff1a; A、编写测试脚本&#xff0c;脚本需要支持从程序对象、文件或者数据库读入测试数据&#xff1b; B、将测试脚本使用的测试数据存入程序对象、文件或者数据库等外部介质中&#xff1b;…

服务好的南京网站建设搜索引擎营销方案例子

使用ws自动创建的vitevue3项目后设置不了alias 答&#xff1a;不懂原理&#xff0c;但是有其他方法解决。直接在命令行执行“npm init vitelatest"后&#xff0c;一路选下去有create-vue的选项&#xff0c;就选这个create-vue创建&#xff1b;创建后会自动导入一个叫node…