mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-08-05 20:31:37 +08:00
Compare commits
8 Commits
50d267a427
...
574009a648
Author | SHA1 | Date | |
---|---|---|---|
|
574009a648 | ||
|
f0181eb020 | ||
|
9c23829570 | ||
|
63230a4a1b | ||
|
ef899bf447 | ||
|
2927fa2587 | ||
|
c4f3bb98ac | ||
|
6dfc8b1f9f |
@ -1,5 +1,6 @@
|
||||
import { getDirname, path } from "@vuepress/utils";
|
||||
import { hopeTheme } from "vuepress-theme-hope";
|
||||
import { componentsPlugin } from "vuepress-plugin-components";
|
||||
|
||||
import navbar from "./navbar.js";
|
||||
import sidebar from "./sidebar/index.js";
|
||||
@ -50,8 +51,26 @@ export default hopeTheme({
|
||||
},
|
||||
|
||||
plugins: {
|
||||
components: {
|
||||
rootComponents: {
|
||||
notice: [
|
||||
{
|
||||
path: "/",
|
||||
title: "Java学习路线最新版",
|
||||
content:
|
||||
"花了一个月零碎的时间,我根据当下 Java 后端求职和招聘的最新要求,对之前写的 Java 后端学习路线进行了全面的优化和改进。这可能是你所见过的最用心、最全面的 Java 后端学习路线,共 4w+ 字。",
|
||||
actions: [
|
||||
{
|
||||
text: "免费获取",
|
||||
link: "https://mp.weixin.qq.com/s/6nWgi22UT5Y7nJiPfQ_XIw",
|
||||
type: "primary",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
blog: true,
|
||||
|
||||
copyright: {
|
||||
author: "JavaGuide(javaguide.cn)",
|
||||
license: "MIT",
|
||||
|
@ -77,7 +77,7 @@ _破音:拿出小本本,下面的内容非常重要哦!_
|
||||
|
||||
### Data model(数据模型)
|
||||
|
||||
ZooKeeper 数据模型采用层次化的多叉树形结构,每个节点上都可以存储数据,这些数据可以是数字、字符串或者是二级制序列。并且。每个节点还可以拥有 N 个子节点,最上层是根节点以“/”来代表。每个数据节点在 ZooKeeper 中被称为 **znode**,它是 ZooKeeper 中数据的最小单元。并且,每个 znode 都有一个唯一的路径标识。
|
||||
ZooKeeper 数据模型采用层次化的多叉树形结构,每个节点上都可以存储数据,这些数据可以是数字、字符串或者是二进制序列。并且。每个节点还可以拥有 N 个子节点,最上层是根节点以“/”来代表。每个数据节点在 ZooKeeper 中被称为 **znode**,它是 ZooKeeper 中数据的最小单元。并且,每个 znode 都有一个唯一的路径标识。
|
||||
|
||||
强调一句:**ZooKeeper 主要是用来协调服务的,而不是用来存储业务数据的,所以不要放比较大的数据在 znode 上,ZooKeeper 给出的每个节点的数据大小上限是 1M 。**
|
||||
|
||||
|
@ -17,7 +17,7 @@ tag:
|
||||
|
||||
比如说我们在学习 Spring 的时候,通过 Spring 官方文档你就可以知道 Spring 最新的技术动态,Spring 包含哪些模块 以及 Spring 可以帮你解决什么问题。
|
||||
|
||||

|
||||

|
||||
|
||||
再比如说我在学习消息队列的时候,我会先去了解这个消息队列一般在系统中有什么作用,帮助我们解决了什么问题。消息队列的种类很多,具体学习研究某个消息队列的时候,我会将其和自己已经学习过的消息队列作比较。像我自己在学习 RocketMQ 的时候,就会先将其和自己曾经学习过的第 1 个消息队列 ActiveMQ 进行比较,思考 RocketMQ 相对于 ActiveMQ 有了哪些提升,解决了 ActiveMQ 的哪些痛点,两者有哪些相似的地方,又有哪些不同的地方。
|
||||
|
||||
|
@ -758,7 +758,8 @@ class GT<T>{
|
||||
|
||||
以上代码输出结果为:2!
|
||||
|
||||
由于经过类型擦除,所有的泛型类实例都关联到同一份字节码上,泛型类的所有静态变量是共享的。
|
||||
有些同学可能会误认为泛型类是不同的类,对应不同的字节码,其实
|
||||
由于经过类型擦除,所有的泛型类实例都关联到同一份字节码上,泛型类的静态变量是共享的。上面例子里的`GT<Integer>.var`和`GT<String>.var`其实是一个变量。
|
||||
|
||||
### 自动装箱与拆箱
|
||||
|
||||
|
@ -25,7 +25,13 @@ head:
|
||||
|
||||
答:
|
||||
|
||||
- `${}`是 Properties 文件中的变量占位符,它可以用于标签属性值和 sql 内部,属于静态文本替换,比如\${driver}会被静态替换为`com.mysql.jdbc. Driver`。
|
||||
- `${}`是 Properties 文件中的变量占位符,它可以用于标签属性值和 sql 内部,属于原样文本替换,可以替换任意内容,比如\${driver}会被原样替换为`com.mysql.jdbc. Driver`。
|
||||
一个实例:根据参数按任意字段排序:
|
||||
```sql
|
||||
select * from users order by ${orderCols}
|
||||
```
|
||||
`orderCols`可以是 `name`、`name desc`、`name,sex asc`等,实现灵活的排序。
|
||||
|
||||
- `#{}`是 sql 的参数占位符,MyBatis 会将 sql 中的`#{}`替换为? 号,在 sql 执行前会使用 PreparedStatement 的参数设置方法,按序给 sql 的? 号占位符设置参数值,比如 ps.setInt(0, parameterValue),`#{item.name}` 的取值方式为使用反射从参数对象中获取 item 对象的 name 属性值,相当于 `param.getItem().getName()`。
|
||||
|
||||
### xml 映射文件中,除了常见的 select、insert、update、delete 标签之外,还有哪些标签?
|
||||
|
@ -35,5 +35,8 @@
|
||||
"vuepress-plugin-copyright2": "2.0.0-rc.10",
|
||||
"vuepress-plugin-feed2": "2.0.0-rc.10",
|
||||
"vuepress-theme-hope": "2.0.0-rc.10"
|
||||
},
|
||||
"devDependencies": {
|
||||
"vuepress-plugin-components": "2.0.0-rc.11"
|
||||
}
|
||||
}
|
||||
|
614
pnpm-lock.yaml
generated
614
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user