Java BSON 使用,Java 研发岗必问 30+ 道高级面试题
| 最大值 | 比所有值大 | 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、机器学习、云计算,用来查漏补缺最好不过。
评论