写点什么

Java BSON 使用,Java 研发岗必问 30+ 道高级面试题

  • 2022 年 4 月 22 日
  • 本文字数:1634 字

    阅读完需:约 5 分钟

| 最大值 | 比所有值大 | 127 | { "key" : {"$maxKey": 1 } } |


Note:


不同类型字段的值进行比较时,比较优先级权值越大,该类型的值就越大。

[](()Java 构造 BSON 数据类型
  • 整数/浮点数


Java BSON 构造整数/浮点数类型// {a:123, b:3.14}


BSONObject obj = new BasicBSONObject(); obj.put("a", 123); obj.put("b", 3.14); // or BSONObject obj2 = new BasicBSONObject().append("a", 123).append("b", 3.14); // or BSONObject obj3 = (BasicBSONObject) JSON.parse("{\"a\":123, \"b\":3.14}");


  • 高精度数


Java BSON 构造不带精度要求的 Decimal 类型// {a:{"$decimal":“12345.067 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 891234567890123456789”}}


String str = "12345.067891234567890123456789"; BSONObject obj = new BasicBSONObject(); BSONDecimal decimal = new BSONDecimal(str); obj.put("a", decimal);


Java BSON 构造一个最多有 100 位有效数字,其中小数部分最多有 30 位的 Decimal 类型// {b:{“ d e c i m a l " : " 12345.067891234567890123456789 " , " decimal":"12345.067891234567890123456789", " decimal":"12345.067891234567890123456789","precision”:[100, 30]}}


BSONObject obj2 = new BasicBSONObject(); BSONDecimal decimal2 = new BSONDecimal(str, 100, 30); obj2.put("b", decimal2);


  • 字符串


Java BSON 构造字符串类型// {a:“h Java 开源项目【ali1024.coding.net/public/P7/Java/git】 i”}


BSONObject obj = new BasicBSONObject(); obj.put("a", "hi");


  • 空类型


Java BSON 构造空类型// {a:null}


BSONObject obj = new BasicBSONObject(); obj.put("a", null);


  • 对象


Java BSON 构造嵌套对象类型// {b:{a:1}}


BSONObject subObj = new BasicBSONObject(); subObj.put("a", 1); BSONObject obj = new BasicBSONObject(); obj.put("b", subObj);


  • 数组


Java BSON 使用 org.bson.types.BasicBSONList 来构造数组类型// {a:[0,1,2]}


BSONObject obj = new BasicBSONObject(); BSONObject arr = new BasicBSONList(); arr.put("0", 0); arr.put("1", 1); arr.put("2", 2); obj.put("a", arr);


  • 布尔


Java BSON 构造布尔类型// {a:true, b:false}


BSONObject obj = new BasicBSONObject(); obj.put("a", true); obj.put("b", false);


  • 对象 ID


Java BSON 使用 org.bson.types.ObjectId 来生成每条记录的“_id”字段内容。Java BSON 12 字节的 ObjectId 与 数据类型一节介绍的对象 ID 略有不同,目前,Java ObjectId 的 12 字节内容由三部分组成:4 字节精确到秒的时间戳,4 字节系统(物理机)标示,4 字节由随机数起始的序列号。默认情况下,数据库为每条记录生成一个字段名为“_id”的唯一对象 ID。


BSONObject obj = new BasicBSONObject(); ObjectId id1 = new ObjectId(); ObjectId id2 = new ObjectId("53bb5667c5d061d6f579d0bb"); obj.put("_id", id1);


  • 正则表达式


Java BSON 使用 java.util.regex.Pattern 来构造正则表达式数据类型。

总结

面试难免让人焦虑不安。经历过的人都懂的。但是如果你提前预测面试官要问你的问题并想出得体的回答方式,就会容易很多。


此外,都说“面试造火箭,工作拧螺丝”,那对于准备面试的朋友,你只需懂一个字:刷!


给我刷刷刷刷,使劲儿刷刷刷刷刷!今天既是来谈面试的,那就必须得来整点面试真题,这不花了我整 28 天,做了份“Java 一线大厂高岗面试题解析合集:JAVA 基础-中级-高级面试+SSM 框架+分布式+性能调优+微服务+并发编程+网络+设计模式+数据结构与算法等”



且除了单纯的刷题,也得需准备一本【JAVA 进阶核心知识手册】:JVM、JAVA 集合、JAVA 多线程并发、JAVA 基础、Spring 原理、微服务、Netty 与 RPC、网络、日志、Zookeeper、Kafka、RabbitMQ、Hbase、MongoDB、Cassandra、设计模式、负载均衡、数据库、一致性算法、JAVA 算法、数据结构、加密算法、分布式缓存、Hadoop、Spark、Storm、YARN、机器学习、云计算,用来查漏补缺最好不过。



用户头像

还未添加个人签名 2022.04.13 加入

还未添加个人简介

评论

发布
暂无评论
Java BSON使用,Java研发岗必问30+道高级面试题_Java_爱好编程进阶_InfoQ写作社区