- 博客(684)
- 资源 (1)
- 收藏
- 关注

转载 概念模型、逻辑模型及物理模型介绍
如销售业务中的 客户 和 定单 , 还有就是 商品 , 业务员 , 用 USE CASE 来描述就是 : 业务员 与 客户 就购买 商品 之事签定下 定单 , 概念模型使用 E-R 图表示 , E-R 图主要是由实体 , 属性和联系三个要素构成的。逻辑模型是将概念模型转化为具体的数据模型的过程 , 即按照概念结构设计阶段建立的基本 E-R 图 , 按选定的管理系统软件支持的数据模型 (层次/网状/关系/面向对象) , 转换成相应的逻辑模型 , 这种转换要符合关系数据模型的原则;备注:画图工具PDMan。
2022-11-15 14:27:24
3448

原创 js递归无限级联
依赖jquery可根据配置参数(方向,样式,标签名称)得到自己想要select.js(function ($) { $.fn.select = function (url, option, callback) { var setting = { el: $("body"), data: null, labels: [], isOpenSearch: true,
2020-11-23 14:30:08
700

原创 shell,python脚本实现docker部署Redis集群
背景:Redis Cluster 在5.0之后取消了ruby脚本 redis-trib.rb的支持(手动命令行添加集群的方式不变),集合到redis-cli里,避免了再安装ruby的相关环境。直接使用redis-clit的参数–cluster 来取代。为方便自己后面查询就说明下如何使用该命令进行Cluster的创建和管理,关于Cluster的相关说明可以查看官网或则Redis Cluster部署、管理和测试。说明:redis-cli --cluster helpredis-cli --cluster
2020-09-08 16:41:41
626
3

原创 前端ES6 实现导出excel 可分页 跨函数 自定义
function Point() {}/* Point.prototype = { x:null, y:null, setX: function(x) { this.x = x; }, getX: function() { return this.x; }, setY: function(y) { this.y = y; },.
2020-07-03 19:08:01
1703

原创 js写的一个Thread函数(更新:添加自定义异常处理)
做项目的时候感觉使用setTimeout()功突发奇想写了一个Thread函数,不过这也是一个简单的函数,之前也写了Stop,和resume等方法由于设计的时候自己感觉代码太长设计有点问题就删掉了,不过后期有时间我还会继续完善,不喜勿喷。代码:var threadCount=0;function Runnable(task){ this.run=task;}functi.........
2019-12-31 00:55:27
1106
1

原创 反编译 i++ ,++i,i=i+1区别(修改)
1.(i++,++i)和i=i+1最大的区别i++和++i使用的时iinc进行自增,i=i+1使用的是iadd操作栈顶和次栈顶元素进行相加iinc操作的时局部变量表中的数据,iadd操作操作数栈中的数据。有疑问?就先带着疑问往下看2.i++和++i的最大区别i++是先把局部变量表的数据iload到栈顶,然后再进行iinc(操作数栈i=0,局部变量表i=1),++i是先对局部变量表...
2019-12-04 16:49:14
787
1

原创 聊聊线程之run方法
话不多说参考书籍 汪文君补充知识:start是异步,run是同步,start的执行会经过JNI方法然后被任务执行调度器告知给系统内核分配时间片进行创建线程并执行,而直接调用run不经过本地方法就是普通对象执行实例方法。什么是线程?1.现在几乎百分之百的操作系统都支持多任务的执行,对计算机来说每一个人物就是一个进程(Process),在每一个进程内部至少要有一个线程实在运行中,有时线...
2018-11-07 22:28:48
2563

原创 运行时异常和受检查异常的区别
java程序设计语言提供了三种可抛出结构:受检查时异常(checked exception),运行时(run-time exception)和错误 (error)java异常:受检查时异常和运行时异常(非编译时异常)首先介绍一下我们常见的集中描述:受检查时异常,编译异常,非运行时异常 描述可以理解为同一个意思,运行时异常,非编译时异常,非受检查时异常 等同 // 非受检查的可...
2018-05-06 14:13:52
14849
5
原创 mysql-Cardinality值
并不是在所有的查询条件中出现的列都需要添加索引。对于什么时候添加B+树索引,一般的经验是,在访问表中很少一部分时适应B+索引才有意义。按性别进行查询时,可取值的范围一般只有’M’、‘F’。因此上述SQL语句得到的结果是该表50%的数据(假设那女比例1:1),这时添加B+树索引是完全没有必要的。相反,如果某个字段的取值范围很广,几乎没有重复,即属于高选择性,则此时使用B+树索引是最合适的。例如,对姓名字段,基本上在一个应用中不允许重名的出现。怎样查看索引是否是高选择性的呢?可以通过SHOW INDEX。
2025-04-01 10:39:19
577
原创 mysql-删除主键
1.取消递增约束: 修改列定义以移除 AUTO_INCREMENT使用 ALTER TABLE 语句修改列定义,移除 AUTO_INCREMENT 属性。删除递增主键异常信息。
2025-03-31 15:22:25
252
原创 MySQL-复制表的两种常见方式
这两种方式虽然都能用于创建新表,但它们的行为和结果有显著的区别。在 MySQL 中,创建表的方式有很多种,其中。
2025-03-28 15:20:47
568
原创 mysql-分区和性能
发现很多开发团队人为含有1000W行的表是一张非常巨大的表,所以他们往往会选择采用分区,如对主键做10个hash的分区,这样每个分区就只有100W的数据了,因此查询应该变得更快乐,如 SELECT * FROM WHERE PK=@pk 但是有没有考虑过这样一种情况: 100W和1000W行的数据本身构成的B+树的层次都是一样的,可能都是2层。好的,如果1000w的B+树的高度是3,100W的B+树的高度是2,那么上述按主键分区的索引可以避免1次IO,从而提高查询效率。mysql自身只支持表的横向分区。
2025-03-28 14:51:28
461
原创 macbook重做系统三种方式
command+option+shift+r会升到到手动升级前的版本(主版本号.次版本号)的最新修正版本号 手动升级前得主版本号.次版本号.最新修正版本号。command+option+r升级到当前笔记本支持的最新版本 最新主版本号.最新次版本号.最新修正版本号。command+r会升级到你当前系统的主版本号.次版本号.最新版本号。版本分为: 主版本号.次版本号.修正版本号。
2025-03-27 20:37:40
187
原创 java-Cglib和jdk编译生成的类名
在 Java 的动态代理机制中,JDK 动态代理和 CGLIB 是两种常用的实现方式。CGLIB 是基于继承的代理机制,它通过字节码技术生成目标类的子类。希望这些内容对你有所帮助!如果还有其他疑问,请随时提问。如果你想进一步分析生成的代理类,可以将它们保存为。JDK 动态代理是基于接口的代理机制,它通过。生成的代理类会保存在指定路径下。生成的代理类会保存在项目的。
2025-03-27 14:10:25
475
原创 android-enableJetifier作用
是一个在文件中配置的属性,用于自动迁移现有的第三方库以支持 AndroidX。当你设置时,Gradle 构建系统会尝试将所有依赖项从旧的支持库(例如)重写为使用 AndroidX 库。
2025-03-27 10:47:18
457
原创 gradle-api和implementation区别
是用于声明依赖项的两种不同的配置方式,特别是在使用 Android Gradle Plugin 或 Java 库项目时。它们的主要区别在于依赖项的可见性和传递性。,因为它有助于保持项目的清晰度和减少潜在的问题。只有当你确实需要将某个依赖公开给其他模块时,才应考虑使用。主要取决于你希望如何管理你的依赖项以及这些依赖项的使用范围。通常情况下,推荐尽可能使用。在 Gradle 构建系统中,
2025-03-26 15:23:48
478
原创 mysql-大批量插入数据的三种方式和使用场景
用途:如果数据已经在服务器上作为一个文件存在,或者可以通过网络传输到服务器上,那么使用LOAD DATA INFILE通常是最快的方法之一。是 LOAD DATA INFILE 命令中的一个选项,用于指示 MySQL 在导入数据时跳过文件的前几行。如果 CSV 文件中的列顺序与目标表不匹配,或者你想只导入部分列,可以指定列名(column1, column2, column3);相比其他方法,LOAD DATA INFILE通常要快得多,因为它直接读取文件内容并加载到表中,绕过了标准的SQL解析器。
2025-03-21 10:26:31
761
原创 mysql-innodb存储引擎主键索引叶子结点数据结构(非单纯的双向链表)
页头信息(Page Header):每个页都有一个页头,其中包含了指向前后叶子节点页的指针(prev_leaf和next_leaf)。这样,所有的叶子节点页就形成了一个双向链表,支持高效的范围扫描操作。record_type: 0 表示普通类型(叶子结点),1表示B+树的非叶子节点 ,2 表示最小记录,3表示最大记录。同页之间的行记录是通过next_record指针建立单向链表数据结构,这种建立联系存在于叶子结点和非叶子结点。准确解释:页内数据项是单向链表,页之间是双向链表。heap_no: 页号。
2025-03-19 11:47:23
761
原创 mysql-DELETE、DROP 和 TRUNCATE区别
特性/命令DELETEDROPTRUNCATE作用范围删除符合条件的行删除整个数据库对象(如表)删除表中的所有数据但保留表结构是否影响表结构否是否能否使用WHERE条件是否否性能较慢,特别是对于大表快非常快可否回滚如果事务支持则可以不可以大多数情况下不可以日志记录记录每一行的删除不适用记录较少。
2025-03-18 11:55:55
933
原创 epoll、poll、select的原理和区别
工作机制:需要提供三个文件描述符集合(可读、可写和异常),每次调用select时,都需要将这些集合从用户空间复制到内核空间,并且在返回时还需要更新这些集合以指示哪些描述符已准备好。linux系统底层实现仍是epoll,没有很好的实现AIO,在性能上没有明显优势,这也是Netty使用NIO而不是AIO的原因之一。不需要每次调用都遍历所有监听的文件描述符,只关注那些已经就绪的文件描述符,极大地提高了性能,尤其是在处理大量并发连接时。每次调用select都需遍历所有监听的文件描述符,即使只有一个就绪,效率较低。
2025-03-18 10:13:19
911
原创 mysql-查看binlog日志
mysql目前binlog_format默认是row格式,找到binlog日志文件,通过命令查看116311941259133113811423我们sql内容被使用base64加密了,因此我们需要解码,执行命令内容如下;
2025-03-17 14:24:21
399
原创 mysql-INSERT语句形态(DELAYED、LOW_PRIORITY、HIGH_PRIORITY 和 IGNORE)
在MySQL中,INSERT语句可以通过添加特定的关键词来改变其行为,以适应不同的应用场景。以下是四种带有特殊关键词的INSERTDELAYED和IGNORE。
2025-03-17 10:04:32
535
原创 Flexus应用服务器L实例、X实例以及ECS(弹性计算服务)之间的区别及其适用场景
如果您的应用需要处理大量并发请求或者面对突发流量,那么L实例可能是最佳选择。对于那些需要进行大规模数据分析或运行复杂算法的应用程序,应该考虑使用具有更高计算能力的X实例。而如果您正在寻找一种既能满足当前需求又能在未来轻松扩展的服务,ECS则提供了最大的灵活性和成本效益。每个应用场景都有其独特的需求,因此在选择具体的服务类型时,应综合考虑性能需求、预算限制以及未来的扩展性等因素。
2025-03-15 20:26:27
645
原创 使用Seata框架实现TCC模式事务的代码示例
在TCC模式下,如果Try阶段(例如冻结账户金额)发生异常或超时,并触发了Cancel操作,确实有可能出现一些复杂的情况,尤其是当Try阶段的部分操作已经完成但未能成功完成整个过程时。综上所述,虽然TCC模式存在一定的局限性和挑战,但通过合理的架构设计和适当的改进措施,仍然可以在很多场景下有效地应用。如果在这期间发生错误或超时,可能导致资源长时间被占用,影响系统的可用性。通过这种方式,即使在Try阶段遇到异常或超时,也能确保在Cancel阶段正确地释放已冻结的资源,防止出现A账户余额不一致的问题。
2025-03-14 19:06:40
675
原创 项目组织管理类型-矩阵式组织和组合式组织的区别
组合式组织和矩阵式组织在结构上确实存在一些相似之处,尤其是在成员来自不同部门以及双重汇报关系方面。-组合式组织:成员通常是为特定项目或任务临时抽调的,可能来自不同的部门或组织,甚至包括外部专家。
2025-03-13 23:14:43
323
原创 项目组织管理类型-职能式组织和矩阵式组织的区别
矩阵式组织在矩阵式组织中,任务的下达则更加具体和固定。职能式组织在职能式组织中,任务通常是根据部门的职能进行下达的。
2025-03-13 23:09:07
455
原创 服务器配置选型
3.2核 8G 5M, 对网站流畅度性能要求比较高,比如品牌的官网、企业的官网和政府的网站。5.8核 16G 10M,计算能力更强,比如游戏类、软件类的网站,同时在线,访问量比较大。1.1核 2G 1M或者1核 1G 1M ,个人的博客核小型的网站,根据情况而定。4.4核 8G 8M,数据体系比较大,要求信息处理能力比较强,比如视频购物的网站。2.2核 4G 3M, 用户活跃度比较高 比如论坛、门户类的网站。
2025-03-11 15:57:11
759
原创 /n /r /n/r区别
使用\n作为行结束标记。Windows: 使用\r\n作为行结束标记。旧Mac系统(OS-9等): 曾经使用\r作为行结束标记,但现代macOS遵循Unix惯例使用\n。理解这些区别对于编写跨平台兼容的代码非常重要,尤其是在处理文件读写、网络传输等场景时需要特别注意不同操作系统对文本文件的默认处理方式。正确识别并转换行结束符可以避免许多潜在的问题,比如显示异常或多出空白行等。
2025-02-24 14:19:15
325
原创 mysql-统计表占内存大小
在 MySQL 中,统计表占用的内存大小(或者更准确地说,是表占用的磁盘空间大小)并非一个简单的任务,因为MySQL的数据存储涉及多种文件,包括数据文件、索引文件等。不过,有几种方法可以帮助你估算一个表的大小。MySQL的 information_schema 库包含了很多关于数据库元数据的信息,包括表的大小。使用 information_schema 库。数据库名字:activiti。
2025-02-24 13:58:54
395
原创 git-提交时间和作者时间的区别
定义介绍提交时间(Committer Date):决定了提交在 Git 历史中的位置,通常影响 GitHub 上提交显示的顺序。作者时间(Author Date):虽然不影响提交的排序,但在每个提交详情页面上可以看到这个时间,它代表的是原始提交的时间。使用场景本地或者远程服务器是根据提交时间进行排序显示提交记录的先后顺序,这也是符合我们常识的;而作者时间不参与排序,只作为显示列。因此我们本地看到的时间并不是提交时间,而是作者时间。这个后面验证。发生时机。
2025-02-18 18:20:23
537
原创 ERP软件和SAP软件的区别
定义:SAP指的是由德国公司SAP SE开发的一系列企业管理软件解决方案。SAP不仅仅局限于传统的ERP(企业资源规划)功能,而是基于其强大的ERP基础,进一步拓展了包括CRM(客户关系管理)、SCM(供应链管理)、HCM(人力资本管理)等在内的多种业务解决方案,并且提供了高度定制化的功能来满足不同企业的特定需求。ERP核心:SAP最著名的产品线之一是它的ERP系统,尤其是现在的SAP S/4HANA,它为企业提供了一个集成平台来管理财务、物流、生产、人力资源等多个核心业务流程。SAP的核心及其扩展。
2025-02-18 10:27:26
689
原创 opengl-曲面细分着色器
曲面细分(Tessellation)是现代图形管线中的一个重要阶段,它允许在运行时动态地增加几何细节。输入装配(Input Assembly)输入数据:包括顶点数据、索引(如果使用的话),以及定义patch的控制点。Patch可以是一条线、一个三角形或四边形等。设置:需要指定如何解释输入数据(例如,作为一个点列表、线段、三角形等)。细分控制着色器(Tessellation Control Shader, TCS)功能:TCS为每个控制点执行一次。
2025-02-10 10:24:37
826
原创 sqlite 查看表结构
这将返回一个包含以下列的表格:cid(列ID),name(列名),type(数据类型),notnull(是否允许为NULL),dflt_value(默认值),和pk(是否为主键)。这会显示创建该表的完整SQL语句,包括所有列的定义和任何索引、外键约束等。
2025-02-06 11:33:09
560
mingw-x86-64-8.1.0-release-posix-seh-rt-v6-rev0
2022-11-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人