必要元素
- 现实:创造一个世界
- 成长:生物具有成长特性
- 达尔文进化论:
- 成长速度快:
小于 1 分钟
欢迎各位小伙伴
背景:老板让我优化一个用户搜索接口,要求是用户搜索请假交接人时优先展示同部门的用户其次是上级和下级部门的用户最后是其他部门的用户。
IndexSorting
技术,优化搜索性能。CompletableFuture
实现并行调用,提高接口响应速度。
示例代码:CompletableFuture<Void> task1 = CompletableFuture.runAsync(() -> {
// 查询同部门用户
});
CompletableFuture<Void> task2 = CompletableFuture.runAsync(() -> {
// 查询上级部门用户
});
CompletableFuture<Void> task3 = CompletableFuture.runAsync(() -> {
// 查询下级部门用户
});
CompletableFuture.allOf(task1, task2, task3).join();
方案 | 平台 | 成本 | 优缺点 |
---|---|---|---|
方案一:社区平台 | - 飞书 - 语雀 - CSDN/博客园 - 其他技术社区 |
经济上:0 技术上:无 |
优点: - 方便,0成本 - 背靠社区 - 有后台管理 缺点: - 比较难自定义页面 |
方案二:Github Pages/Vercel + Hexo/Vuepress | - Github Pages - Github + Vercel - Gitee Pages(Pro关闭了) |
经济上:0 技术上:需要了解前端知识 |
优点: - 自定义能力强 - 主题多 缺点: - 这类博客一般是纯静态网页,一般没有后台或数据统计 - 需要一定前端知识 |
方案三:云服务器 + Wordpress | - 云服务器 + Wordpress | 经济上:需要一台云服务器(0~100/月,新用户/学生优惠) 技术上:无,了解前端/后端更好 |
优点: - 主题多 - 有后台管理 缺点: - 经济上有一定成本 |
方案四:微信公众号以及其他各类公众号 | - 申请公众号 | 经济上:0 技术上:无 |
优点: - 方便,0成本 - 背靠社区 - 有后台管理 缺点: - 比较难自定义页面 |
Spring 使用两种代理机制来管理事务:
不论哪种代理方式,Spring 都是在代理类中对事务进行管理。如果调用来自外部的类,代理对象会拦截该调用并正确地管理事务逻辑。
😁😀😂😃😄😅😆😉😊😋😎😍😘😗😙😚🙂🤗🤔😐😑😶🙄😏😣😥😮🤐😯😪😫😴😌😛😜😝😒😓😔😕🙃🤑😲🙁😖😞😟😤😢😭😦😧😨😩😬😰😱😳😵😡😠😷🤒🤕😇🤓😈👿👹👺💀👻👽👾🤖💩😺😸😹😻😼😽🙀😿😾🙈🙉🙊👶👦👧👨👩👴👵👮💂👷👸👳👲👱👰👼🎅🙍🙎🙅🙆💁🙋🙇💆💇🚶🏃💃👯🛀🛌👤👥🏇🏂🏄🚣🏊🚴🚵👫👬👭💏💑👨👩👦💪👈👉👆🖕👇🖖🤘✋👌👍👎✊👊👋👏👐🙌🙏💅👂👃👣👀👅👄💋💘💓💔💕💖💗💙💚💛💜💝💞💟💌💤💢💣💥💦💨💫💬💭👓👔👕👖👗👘👙👚👛👜👝🎒👞👟👠👡👢👑👒🎩🎓📿💄💍💎
🐵🐒🐶🐕🐩🐺🐱🐈🦁🐯🐅🐆🐴🐎🦄🐮🐂🐃🐄🐷🐖🐗🐽🐏🐑🐐🐪🐫🐘🐭🐁🐀🐹🐰🐇🐻🐨🐼🐾🦃🐔🐓🐣🐤🐥🐦🐧🐸🐊🐢🐍🐲🐉🐳🐋🐬🐟🐠🐡🐙🐚🦀🐌🐛🐜🐝🐞🦂💐🌸💮🌹🌺🌻🌼🌷🌱🌲🌳🌴🌵🌾🌿🍀🍁🍂🍃
🍇🍈🍉🍊🍋🍌🍍🍎🍏🍐🍑🍒🍓🍅🍆🌽🍄🌰🍞🧀🍖🍗🍔🍟🍕🌭🌮🌯🍳🍲🍿🍱🍘🍙🍚🍛🍜🍝🍠🍢🍣🍤🍥🍡🍦🍧🍨🍩🍪🎂🍰🍫🍬🍭🍮🍯🍼☕🍵🍶🍾🍷🍸🍹🍺🍻🍴🔪🏺
🎃🎄🎆🎇✨🎈🎉🎊🎋🎍🎎🎏🎐🎑🎀🎁🎫🏆🏅⚽⚾🏀🏐🏈🏉🎾🎱🎳🏏🏑🏒🏓🏸🎯⛳🎣🎽🎿🎮🎲🃏🀄🎴
🌍🌎🌏🌐🗾🌋🗻🏠🏡🏢🏣🏤🏥🏦🏨🏩🏪🏫🏬🏭🏯🏰💒🗼🗽⛪🕌🕍🕋⛲⛺🌁🌃🌄🌅🌆🌇🌉🌌🎠🎡🎢💈🎪🎭🎨🎰🚂🚃🚄🚅🚆🚇🚈🚉🚊🚝🚞🚋🚌🚍🚎🚐🚑🚒🚓🚔🚕🚖🚗🚘🚙🚚🚛🚜🚲🚏⛽🚨🚥🚦🚧⚓⛵🚤🚢🛫🛬💺🚁🚟🚠🚡🚀🚪🚽🚿🛁⌛⏳⌚⏰🕛🕧🕐🕜🕑🕝🕒🕞🕓🕟🕔🕠🕕🕡🕖🕢🕗🕣🕘🕤🕙🕥🕚🕦🌑🌒🌓🌔🌕🌖🌗🌘🌙🌚🌛🌜🌝🌞⭐🌟🌠⛅🌀🌈🌂☔⚡⛄🔥💧🌊
🔇🔈🔉🔊📢📣📯🔔🔕🎼🎵🎶🎤🎧📻🎷🎸🎹🎺🎻📱📲📞📟📠🔋🔌💻💽💾💿📀🎥🎬📺📷📸📹📼🔍🔎🔬🔭📡💡🔦🏮📔📕📖📗📘📙📚📓📒📃📜📄📰📑🔖💰💴💵💶💷💸💳💹💱💲📧📨📩📤📥📦📫📪📬📭📮📝💼📁📂📅📆📇📈📉📊📋📌📍📎📏📐🔒🔓🔏🔐🔑🔨🔫🏹🔧🔩🔗💉💊🚬🗿🔮
🏧🚮🚰♿🚹🚺🚻🚼🚾🛂🛃🛄🛅🚸⛔🚫🚳🚭🚯🚱🚷📵🔞🔃🔄🔙🔚🔛🔜🔝🛐🕎🔯♈♉♊♋♌♍♎♏♐♑♒♓⛎🔀🔁🔂⏩⏪🔼⏫🔽⏬🎦🔅🔆📶📳📴🔱📛🔰
⭕✅❌❎➕➖➗➰➿❓❔❕❗🔟💯🔠🔡🔢🔣🔤🆎🆑🆒🆓🆔🆕🆖🆗🆘🆙🆚🈁🈶🈯🉐🈹🈚🈲🉑🈸🈴🈳🈺🈵◽◾⬛⬜🔶🔷🔸🔹🔺🔻💠🔘🔲🔳⚪⚫🔴
作者:lgd8981289
搬运自 https://github.com/lgd8981289/vue-next-mini
那么在上一小节中我们已经知道了如何对vue的源代码进行debugger ,但是如果想要学习或者了解 vue的代码执行,那么光靠 debugger是不够的,除此之外我们还需要掌握另外一个能力,那么如何阅读源代码
很多同学在去阅读源代码的时候,都会面临一个误区,那就是:我需要把源代码中每一行代码都读明
这是一个非常不对的行为,很容易让我们 事倍功半
Proxy
与Object.defineProperty
Proxy
Proxy
将代理一个对象(被代理对象),得到一个新的对象(代理对象),同时拥有被代理对象中所有的属性。handler
的 getter
和 setter
Object.defineProperty
Object.defineProperty
为指定对象的指定属性设置属性描述符getter
和 setter
有限状态机(英语:finite-state machine,缩写:FSM)又称有限状态自动机(英语:finite-state automaton,缩写:FSA),简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学计算模型。
弱引用:不会影响垃圾回收机制。即: WeakMap 的 key 不再存在任何引用时,会被直接回收。
强引用:会影响垃圾回收机制。存在强应用的对象永远不会被回收。
<script>
let obj1 = {
name: '张三'
}
let obj2 = {
name: '张三'
}
// 强引用
const map = new Map()
// 弱引用
const weakMap = new WeakMap()
map.set(obj1,'value')
weakMap.set(obj2,'value')
obj1 = null
obj2 = null
console.log('map',map) // Map(1) {{…} => 'value'}
console.log('weakMap',weakMap) // WeakMap {} 空
/**
此时 WeakMap 中不存在任何值,即: obj2不存在其他引用时, WeakMap 不会阻止垃圾回收,基于obj2的引用将会被清除。这就证明了 WeakMap 的 弱引用特性。
*/
</script>