Files
2023-02-04 22:57:10 +08:00

58 lines
2.3 KiB
TypeScript

import { MockMethod } from 'vite-plugin-mock'
export default [
{
url: '/wiki/api/v1/reader/blogs',
method: 'get',
response: () => {
return [
{
bid: "string",
btId: "string",
btName: "string",
title: "string",
blog_prex: "string",
content: "string"
},
{
bid: "string",
btId: "string",
btName: "string",
title: "string",
blog_prex: "string",
content: "string"
},
]
}
},
{
url: '/wiki/api/v1/reader/blog/string',
method: 'get',
response: () => {
return {
bid: "1",
btId: "2",
btName: "3",
title: "1.2 java neicun",
blog_prex: "5",
content: "关键字volatile是java虚拟机提供的最轻量级的同步机制。\n当一个变量被定义为volatile时,它具备两种特性。\n第一种是**可见性**。\n即每次get时,强制刷新。\n一个误解区,字节码就是原子操作,这是不对的,一个字节码指令在解释执行时,如果是编译执行,一条字节码会有可能被转化为若干个本地机器指令。此处,用-XX:+PrintAssembly参数输出反汇编来分析。\n\n第二种是,**有序性**。\n即,禁止指令重排序(Instruction Recorder)优化。\n被volatile修饰的变量,赋值后会多执行一个\"lock addl\"操作,这个操作相当于一个memory barrier(内存屏障),指令重拍时,不能把后面的指令排序到内存屏障前面去,只有一个处理器访问时,不需要内存屏障。\naddl 是一个空操作,(把ESP寄存器的值 + 0),这个操作相当于把缓存中的变量做了一次store和write操作。\nlock iddl指令把修改同步到内存时,意味着所有的之前的操作都已完成,便形成了指令重排序无法穿越内存屏障的效果。\n针对于long和double的类型变量,不通虚拟机是有着不同的实现,此处不做描述。\n",
}
}
},
{
url: '/wiki/api/v1/reader/blog_type',
method: 'get',
response: () => {
return [
{
btId: "string",
btName: "string",
},
{
btId: "string",
btName: "string",
},
]
}
},
] as MockMethod[]