- 博客(38)
- 资源 (14)
- 收藏
- 关注
原创 3.7 代理模式(Proxy)
代理模式(Proxy Pattern)是一种结构型设计模式,它通过提供一个替代品或占位符来代表另一个对象来控制对这个对象的访问。代理模式创建具有现有对象相同接口的对象,以便可以在不改变客户端代码的情况下控制对原始对象的访问。
2024-07-24 20:22:18
77
原创 3.6 享元模式(Flyweight Pattern)
内部状态(Intrinsic State)是存储在享元对象内部的,并且不会随环境的改变而改变的信息。外部状态(Extrinsic State)是随环境改变而改变的、不可以共享的状态,通常由客户端对象持有,并在需要时传递给享元。
2024-07-24 20:21:05
117
原创 3.5 外观模式(Facade)
外观模式(Facade)是一种结构型设计模式,它提供了一个简单的接口来访问复杂系统中的各种功能,隐藏了内部的复杂性。该模式的主要目的是简化客户端与复杂系统之间的交互,降低系统的耦合度。
2024-07-24 20:15:52
33
原创 3.4 装饰器模式(Decorator)
装饰器模式(Decorator)是一种结构型设计模式,它允许动态地给一个对象添加功能,而不需要修改其源代码。这种模式通过创建一系列的包装类来实现,每个包装类都封装了对被包装对象的引用,并且提供了额外的行为。
2024-07-24 20:14:04
39
原创 3.3 组合模式(Composite)
桥接模式是一种结构型设计模式,它的核心目的是将抽象与实现解耦,使得两者可以独立地变化。在桥接模式中,抽象部分指的是某个类的接口,而实现部分则是这个接口的具体实现。这样,你可以在不改变抽象接口的前提下,改变实现部分。
2024-07-23 22:00:24
90
原创 开始设计 Wear OS 应用
https://developer.android.com/design/ui/wear/guides/foundations/getting-started?hl=zh-cn
2024-07-23 21:58:17
131
原创 3.2 桥接模式(Bridge)定义
桥接模式是一种结构型设计模式,它的核心目的是将抽象与实现解耦,使得两者可以独立地变化。在桥接模式中,抽象部分指的是某个类的接口,而实现部分则是这个接口的具体实现。这样,你可以在不改变抽象接口的前提下,改变实现部分。
2024-07-23 21:55:18
219
原创 3.1 适配器模式(Adapter Pattern)
适配器模式属于结构型设计模式,它允许将一个类的接口转换成客户端期望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作。目标接口(Target):客户端期望的接口,目标可以是具体的或者抽象的类,也可以是接口。需要适配的类(Adaptee):需要适配的类或类型。适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口。
2024-07-23 21:44:05
198
原创 3 结构型模式
结构型模式是设计模式中的一种类型,它关注于如何组合类和对象以形成更大的结构,同时保持结构的灵活和高效。结构型模式不仅关注类本身和它们的继承关系,还关注类与其他类的关系,以确保改变系统中的一部分不会影响到其他部分。这样,系统中的各部分可以独立地改变和复用。
2024-07-23 21:43:06
268
原创 Android开发 第一步
开发第一个Android手表程序,你需要使用Android Studio,并确保你已经安装了适用于Wear OS的SDK。
2024-07-23 21:38:10
209
原创 java 注解
这个例子展示了如何声明一个简单的注解,将它应用到一个方法上,并在运行时通过反射来处理它。在实际开发中,注解被广泛用于框架中,如Spring、Hibernate等,以简化配置和代码的书写。Java 注解是一种用于代码中的元数据表示的形式,它允许你将信息直接嵌入代码中。注解本身不会直接影响代码的操作,但它可以被编译器或运行时环境用来生成额外的代码、XML 文件或者影响程序的行为。注解的原理基于反射(Reflection)API,这是Java中一组允许在运行时检查或修改类和对象的行为的API。
2024-07-23 20:56:09
144
原创 第一个小程序[山海]
暂未实现:集成地图,将指定人的坐标信息加载到地图上,并在地图上加载当前用户位置,让用户以肉眼可见的效果观察到指定人的位置变化。5min加载指定人的最后几次坐标,计算与当前用户的距离,并展示列表上。5min上报一次当前坐标,所爱隔山海,山海皆可平。
2024-07-23 09:30:47
479
原创 java类各属性入库前的校验
首先,确保您已经添加了 Bean Validation API 和其实现类(如 Hibernate Validator)的依赖到您的项目中。类来实现 Java 类属性的校验是一种标准的做法。以下是一个简单的示例,展示如何使用这些类来校验一个简单的。包含了关于违反约束的详细信息,包括违反的属性路径和违反信息。现在,您可以创建一个验证器,并使用它来校验。实例的属性不符合注解定义的约束条件,
2024-07-22 20:57:12
513
原创 2.5 原型模式(Prototype)
原型模式(Prototype Pattern)是一种创建型设计模式,它允许通过复制已存在的对象来创建新对象,而不是通过新建类的方式。这种模式是在需要创建对象的结构和类型与现有对象相似的情况下使用的。原型模式通常涉及实现一个可以克隆自身的接口,这样对象就可以在不知道具体类型的情况下生成自己的复制品。
2024-07-18 22:21:11
318
原创 2.4 建造者模式(Builder)
建造者模式(Builder Pattern)是一种创建型设计模式,它解决了复杂对象的构建问题。与工厂模式不同,建造者模式不仅仅创建一个实例,而是通过一步一步地构造过程来创建复杂对象的各个部分。这种模式允许用户在不了解内部构建细节的情况下,通过指定类型和内容就能构建复杂的对象。
2024-07-18 22:19:21
199
原创 2.3 抽象工厂模式(Abstract Factory)
抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它提供了一个接口,用于创建相关或依赖对象的家族,而不需要指定具体类。抽象工厂允许客户端使用抽象的接口来创建一组相关的产品,而不需要知道(或关心)实际生产出的具体产品是什么。这样做可以让一个系统独立于它的产品的创建、组合和表示方式。
2024-07-18 22:15:19
334
原创 2.2 工厂方法模式(Factory Method)
工厂方法模式(Factory Method Pattern)属于创建型模式,它定义了一个创建对象的接口,但让实现这个接口的类来决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。
2024-07-18 22:10:12
265
原创 2.1单例模式(Singleton Pattern)
单例模式(Singleton Pattern)是一种常用的软件设计模式,其核心思想是确保一个类只有一个实例,并提供一个全局访问点来获取这个实例。单例模式通常用于控制资源访问,如配置文件的读取、数据库的连接池等。
2024-07-18 22:06:33
205
原创 对话系统(Chat)和自主代理(Agent)两方向并行发展
随着自然语言处理技术的不断提升,生成式AI已经能够在各种场景下与人类进行流畅的对话,并且能够理解并回应人类提出的问题。例如,在智能家居、自动驾驶汽车和工业自动化等领域,生成式AI可以作为代理来执行复杂的操作,并根据环境变化做出相应的调整。例如,当面对复杂的问题或者需要进行深入分析的情况时,生成式AI往往无法给出令人满意的答案。同时,我们也需要关注生成式AI的安全性和道德问题,确保其发展始终符合人类的价值观。随着人工智能技术的飞速发展,特别是生成式AI技术的进步,关于其未来发展方向的讨论也变得越来越热烈。
2024-07-18 16:01:05
378
原创 if 判断
虽然直接 if 判断有时可能有用,但通常建议使用显式布尔值(例如。语句的条件进行隐式类型转换。这意味着以下值也会被转换为布尔值。语句使用布尔表达式来确定是否执行其代码块。,因此代码块被执行。在第二个示例中,空字符串被转换为。这可以提高代码的可读性和可维护性。直接 if 判断是指使用简单布尔值(例如。值得注意的是,JavaScript 会对。,因此代码块不被执行。JavaScript 中的。,因此代码块总是会被执行。以下值会被转换为布尔值。在第一个示例中,数字。,因此代码块不被执行。
2024-07-18 15:19:06
187
原创 == 与 ===
严格相等比较不会转换值,而是直接比较两个值是否完全相等,包括类型和值。松散相等比较会将两个值转换为相同类型,然后比较它们的值。可能会导致意外的结果,尤其是在比较不同类型的值时。,因为它更准确且不易出错。一般来说,建议使用严格相等比较运算符。JavaScript 中的。
2024-07-18 15:16:03
196
原创 org.apache.commons.lang3.StringUtils#isEmpty与isBlank
这个方法通常用于判断一个字符串是否不为空且至少包含一个非空格字符。如果字符串不为空且包含至少一个非空格字符,则返回 true;否则返回 false。通常用于排除空字符串或者只包含空格的字符串。: 这个方法通常用于判断一个字符串是否为空,即长度为0或者为 null。这个方法通常用于检查字符串是否包含任何字符。这两个方法在很多编程语言和框架中都有类似的实现,例如 Java 中的 StringUtils 类提供了这两个方法的实现。是常用于字符串处理的方法,通常用于检查字符串是否为空或者是否包含非空格字符。
2024-07-18 09:21:07
155
原创 1 设计模式开篇
在Java中,设计模式是用来解决特定问题的最佳实践解决方案。设计模式可以帮助开发者编写易于维护、模块化和可复用的代码。设计模式通常分为三种主要类型:创建型、结构型和行为型。
2024-07-17 10:25:58
344
原创 猜猜我的有多大 之 java对象大小
对象头(Object Header): 每个Java对象都有一个对象头,它包含了一些用于管理对象的元数据,比如哈希码、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时间戳等。在Java中,对象的大小并不是固定的,它取决于几个因素,包括对象中的数据类型、对象头的大小、对齐填充(padding)以及继承的字段。然而,这只是一个粗略的估算。需要注意的是,对象的实际内存使用还会涉及到其他因素,例如JVM内部的数据结构、GC算法的细节等。是8字节,引用(在使用压缩指针的64位JVM上)通常是4字节等。
2024-07-17 09:19:57
162
转载 字节码增强技术在监控埋点场景的大规模实践落地及其他领域探索 (转载)
如果再不满足,就需要修改它的源码,这样成本就大了,需要去维护多个主流版本、多个 SDK,还需要去打包、去维护,成本非常高,而且信用性也很高。它对 Lambda 表达式的支持也是比较友好的。第二个是Javassist,它一个日本人基于ASM进行二次开发的更高级的框架,它对用户屏蔽JVM指令集和Class文件等这些晦涩难记的概念,我们可以遵循Java语法进行开发,但是从图中我们也不难看到,所有的增强逻辑都是采用硬编码(转义字符串)的形式开发,同时也一样不支持断点Debug,整体开发效率还是受到很大的限制。
2024-07-16 21:30:44
20
原创 @StateObject和@Published
用于在SwiftUI视图中创建和管理一个实例。它确保对象在视图的生命周期内保持持久,并且在视图重新创建时不会重新初始化对象。@Published:用于在类中声明可观察的属性。当这些属性的值发生变化时,所有订阅了这个对象的视图都会自动更新。
2024-07-16 18:08:16
310
转载 关于Vearch在大模型中使用的一些实践(转载)
可以在泰山的操控台进行操作,或在你的本地dos/MACshell的中控台进行操作。这里不分别截图演示了,毕竟不是写操作手册。本地建表语句如下:},"text": {},' http://master_server(Master地址)/space/db/_create上面的字段意思官方文档里都有(),这里就不一一解释了。需要重点说的是两点,一点是字段名,我们定义了两个字段,一个是文本字段text,一个是向量字段text_embedding。至于为什么用这两个名称也是踩过的坑,才知道有多深,稍后说。
2024-07-16 13:37:31
16
原创 java 方法入参对象重新赋值后, 方法外获取 没有变化。为什么
重新赋值对象引用:不会影响方法外的对象引用。修改对象的内部状态:会影响方法外的对象状态。理解Java的参数传递机制对于编写和调试代码是非常重要的。通过修改对象的内部状态而不是重新赋值对象引用,可以确保在方法外看到预期的变化。
2024-07-16 11:35:34
598
原创 Remote: Support for password authentication was removed on August 13, 2021.
这条信息表明,您在使用 Git 进行远程操作时,遇到了由于 GitHub 在 2021 年 8 月 13 日取消了密码认证支持而引发的问题。为了继续使用 Git 进行远程操作,您需要采用其他认证方法,例如使用个人访问令牌(Personal Access Token, PAT)或 SSH 密钥。
2024-07-16 10:29:55
440
原创 为什么使用hbase?使用场景是什么?解决什么问题?
HBase 是一个强大的分布式数据库系统,适用于处理大规模数据和需要高吞吐量、低延迟访问的场景。它解决了传统关系型数据库在扩展性和性能上的瓶颈,提供了灵活的数据模型和与 Hadoop 生态系统的无缝集成。通过使用 HBase,企业可以高效地存储、管理和分析海量数据,支持各种实时和批处理应用。
2024-07-15 14:04:47
408
原创 swiftui 中, struct 和 class的区别是啥
在 Swift 中,struct(结构体)和class(类)是两种重要的数据类型,它们有一些相似的地方,但也有许多关键的区别。
2024-07-15 13:35:38
243
原创 文本提取向量坐标的应用
文本向量化是将文本数据转换为数值向量表示的过程,这些向量表示可以用于多种 NLP 任务,包括文本分类、信息检索、语义相似度计算、聚类、机器翻译和生成式任务等。通过使用合适的特征提取方法和模型,可以有效地处理和分析文本数据,解决各种实际应用中的问题。
2024-07-15 11:49:19
408
原创 vearch 使用步骤
以上是一个简单的 Vearch 使用实例,演示了如何创建数据库和表,插入向量数据,并进行搜索。Vearch 提供了强大的向量搜索功能,适合处理高维数据和大规模数据集。你可以根据实际需求调整向量维度和数据格式,进一步探索 Vearch 的更多功能。
2024-07-15 11:40:36
273
原创 vearch 插入数据时 的向量坐标是怎么获取的
向量坐标的获取依赖于具体的数据类型和特征提取方法。对于图像、文本和音频等不同类型的数据,可以使用相应的深度学习模型或特征提取算法来获取高维向量表示。这些向量表示可以用于插入到 Vearch 中进行相似性搜索。
2024-07-15 11:39:40
298
转载 乐观锁与悲观锁
乐观锁与悲观锁原创:SnailclimbJavaGuide2018-07-14何谓悲观锁与乐观锁乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿...
2019-07-29 11:05:36
60
spring mvc 依赖包
2014-04-12
axis2_1.6.2 eclipse插件
2014-03-13
Flex4权威指南 清晰中文版
2012-04-28
葵花宝典 jsp
2011-11-04
java 葵花宝典
2011-11-04
精通Servlet.doc
2011-11-04
基于JSP的简单BBS
2010-08-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人