- 博客(13)
- 收藏
- 关注
原创 Kotlin Vocabulary _ Kotlin 内建代理
观察者模式是一种设计模式,在这一模式中,一个对象会维护一个它的从属者的列表,这些从属者即被称为观察者。不会改变惰性初始化的同步特性。由于惰性初始化是同步的,所以在第一次访问时仍会消耗与非惰性初始化过程相同的时间,这意味着那些初始化过程较为耗时的对象仍会在被访问时阻塞 UI 线程。函数的 lambda 表达式,setter 会在每次值被设置之前调用 lambda 表达式。lambda 表达式会在属性第一次被访问时执行,而它的值将会被存储以用于接下来的访问。函数,结果就会使所有的监听器都会收到有关改变的通知。
2025-01-18 02:33:38
464
原创 Kotlin Coroutines(协程)讲解
Coroutine任何类都可以继承作为一个作用域。你需要做的唯一一件事就是重写这个属性。在此之前,你需要明确两个重要的概念dispatcher和Job。不知道你是否还记得,一个上下文(context)可以是多个上下文的组合。组合的上下文需要是不同的类型。一个dispatcher: 用于指定协程默认使用的dispatcher;一个job: 用于在任何需要的时候取消协程;操作符号用于组合上下文。如果两种不同类型的上下文相组合,会生成一个组合的上下文(),这个新的上下文会同时拥有被组合上下文的特性。
2025-01-18 02:31:36
1082
原创 Java Web 网络商城案例演示一、(环境搭建)
sexvarchar(10) DEFAULT NULL, #性别stateint(11) DEFAULT 0, #状态:0=未激活,1=已激活codevarchar(64) DEFAULT NULL, #激活码uid– 1.2 初始化用户默认数据user。
2025-01-17 10:29:23
1114
原创 Java Review (十一、面向对象----多态)
如果试图把一个父类实例转换成子 类类型,则这个对象必须实际上是子类实例才行(即编译时类型为父类类型,而运行时类型是子类类型),否则将在运行时引发ClassCastException异常。编写Java程序时,引用变量只能调用它编译时类型的方法,而不能调用它运行时类型的方法,即使它实际所引用的对象确实包含该方法。instanceof运算符的前一个操作数通常是一个引用类型变量,后一个操作数通常是一个类(也可以是接口),它用于判断前面的对象是否是后面的类,或者其子类、实现类的实例。// 返回 true。
2025-01-17 10:27:19
850
原创 vue实现角色权限控制
然后服务端获取到这个Token后进行比对,如果通过则可以访问。现有的做法是在登录成功的回调中将后台返回的Token直接存储到sessionStorage,然在请求时将Token取出放入headers中传给后台axios可以在拦截器中直接将Token塞入config.headers.Authorization中,作为全局传入。下面是代码部分://main.js// 实例化Axios,并进行超时设置})// baseURL// http request 拦截器。
2025-01-14 22:26:47
624
原创 VUE官方文档讲解
在页面上以的形式导入。下载 JavaScript 文件并。使用安装它。使用官方的来构建一个项目,它为现代前端工作流程提供了功能齐备的构建设置 (例如,热重载、保存时的提示等等)。发布版本说明最新版本:每个版本的详细发布说明都可以在上找到。目前处于测试阶段 - Vuex 和 Router 的集成仍在进行中。在使用 Vue 时,我们推荐在你的浏览器上安装,它允许你在一个更友好的界面中审查和调试 Vue 应用。CDN。
2025-01-14 22:23:06
1183
原创 vue3的composition-api实践总结
听着很绕口,简单来讲就是reactive可以为对象创建响应式而ref除了对象,还可以接收基础数据类型,比如string、boolean等。那为什么会有这种差异呢?在vue3当中响应式是基于proxy实现的,而proxy的target必须是复杂数据类型,也就是存放在堆内存中,通过指针引用的对象。其实也很好理解,因为基础数据类型,每一次赋值都是全新的对象,所以根本无法代理。那么如果我们想取得简单类型的响应式怎么办呢?这时候就需要用到ref。
2025-01-14 22:19:25
910
原创 MongoDB与Cassandra数据库对比
相比之下,Cassandra提供了一种类似于桌面的存储模型,它更像传统的SQL风格数据库,不过,Cassandra并不像传统数据库那样严格。如果对于你将使用的数据的规模和类型,你并不了解或者具有最小的预测能力,那么,MongoDB的灵活数据结构将比Cassandra更适合你。同时,若要有效地使用MongoDB,你必须能够应对主节点出现故障而造成停机的情况,以及有限的写入速度。简而言之,如果你想要一个与MySQL类似的数据库,而又希望提供更多的灵活性和可扩展性,请选择Cassandra。
2025-01-13 22:10:16
823
原创 MongoDB 面试题
MongoDB索引是为一个或者多个文档字段创建的数据结构,能够帮助MongoDB更加快速地执行查询操作。索引可以被定义为唯一的,如果这样定义,MongoDB将确保所有的值都不同。MongoDB支持单边和多边索引,可以深度嵌套和数组字段的嵌套索引。使用db.collection.createIndex()在集合中创建一个索引MongoDB的聚合函数用于对文档进行分组和汇总操作,支持对数据进行复杂计算和处理。聚合函数对于数据分析和统计非常有用,通过数据分组可以更快的获取收集数据中的关键信息。
2025-01-13 22:06:35
595
原创 MobaXterm免密登录:简化远程连接的安全与便捷_mobaxterm 关闭服务器的预认证通告
随着远程工作和协作的普及,(安全外壳协议)已经成为连接远程服务器和设备的标准方式。然而,每次连接时都需要输入密码,这既繁琐又容易暴露安全风险。为了解决这一问题,MobaXterm提供了一个强大的功能——免密登录,它基于SSH进行身份验证,大大提高了连接的安全性和便捷性。MobaXterm是一款集成终端、X服务器、文件传输等多种功能的远程连接工具。其界面友好,操作便捷,受到了广大开发者和系统管理员的青睐。
2025-01-13 22:02:55
750
原创 C++ 关联容器set map multiset multimap_map,set的原理,别的容器会那些c++
3.执行insert(make_pair(k,mapped_type())), 插入这个创建好的pair对象,并返回pair,其中iterator是新插入的key对应迭代器。6.执行(*((this->insert(make_pair(k,mapped_type()))).first)).second,调用pair对象的第二个元素,也就是value。但是map中的[]具有新的功能,即使key不存在,也可以通过[]来插入新的一个键值对并输出对应的value值。
2025-01-12 09:47:11
378
原创 c++ 之 std move 原理实现与用法总结_std move
std::move(s) => std::move(string& &&) => 折叠后 std::move(string& )remove_refrence::type b;//右值引用特例版本。string&& move(string& t) //t为左值,移动后不能在使用t。// remove_reference::type为string。string&& move(string&& t) //t为右值。//整个std::move被实例如下。
2025-01-12 09:43:30
346
原创 C++ function、bind以及lamda表达式_c++function表达式
上面的大义是说,closure是一个函数和它所引用的非本地变量的上下文环境的集合。关于closure的最重要的应用就是回调函数,这也是为什么这里把function, bind和lambda放在一起讲的主要原因,它们三者在使用回调函数的过程中各显神通。在上面的例子中,我们把一个普通的函数和一个functor赋值给了一个std::function对象,然后我们通过该对象来调用。上面的例子中,bf1是把一个两个参数普通函数的第一个参数绑定为10,生成了一个新的一个参数的可调用实体体;
2025-01-12 09:39:48
331
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人