- 博客(25)
- 资源 (3)
- 收藏
- 关注
原创 MySQL事务
事务由独立单元的一个或者多个sql语句组成,在这个单元中sql语句是相互依赖的,整个单元是不可分割的整体,要么全部执行成功,要么都失败回滚到事务初始状态。事务的特性ACID,原子性、隔离性、持久性和一致性。其中原子性依赖undolog、redolog实现;隔离性依赖锁实现;持久性依赖redolog、DoubleWrite实现;一致性依赖MVCC(innodb引擎)、锁; 事务的隔离级别包括读未提交,读已提交,可重复读和串行化。读未提交:读未提及存在脏读问题。脏读即当前事务读取了其他事务中未提交
2022-07-09 18:10:30 401 1
原创 MySQL锁
MySQL学习系列1.MySQL概览2.MySQL索引3.MySQL锁 锁机制是为了解决数据库的并发控制问题而产生的。如在同一时刻,客户端对同一个表做更新或查询操作,为了保证数据的一致性,必须对并发操作进行控制。同时,在事务特性中,锁机制也为实现 MySQL 的各个隔离级别提供了保证。锁的分类 广义上的锁分为乐观锁和悲观锁,它是一种概念不同的软件有各自的实现方式。在MySQL中乐观锁:被访问的数据不会被别人修改,因此先不加锁。如果在操作过程中发现数据被修改,则采用cas重新获取数
2022-07-04 17:16:03 242
原创 MySQL索引
Innodb和mylsm都采用B+的结构作为数据索引,innodb采用的是聚簇索引(索引和数据在一起),mylsm采用的是(非聚集索引)。通过索引结构(类似于字典中的目录)达到提升数据查询效率的目标。但它也并不是万能的,索引的存储以及数据结构的维护同样需要消耗系统资源,在有些场景下索引并不适用。例如写多读少的情况;数据本身存在大量重复导致索引分类不明显(例如用户表中的性别,只有男女);索引采用B+树的原因主要是利用B+树的节点个数较多,树的高度较低能够减少io次数(相比于二叉树和红黑树等),另外B+树仅在叶
2022-07-02 15:32:49 265
原创 C# 动态数据类型处理
通过反射获取对象后动态对属性赋值,由于字段为不同的数据类型,所以要根据字段的类型进行赋值。//方法1.网上常见的根据datatype写很多ifelse的//方法2 利用Convert.ChangeType方法,根据当前字段的数据类型动态转换赋值object obj1 = Convert.ChangeType(Property.GetValue(obj, null), Property.PropertyType);//方法3TypeDescriptor方法进行转换System.Compo.
2020-07-25 12:47:20 615
原创 java学习系统-1java基础
近期开始系统性的学习java相关的开发知识,其实之前也零散的学习过一些内容,但由于公司项目中使用的较少,缺乏实战练习。另外学习的内容也是随手抓的文章来看的并没有形成系统的学习成果,所以我现在将学习过程中梳理的知识点罗列出来,并在后续的工作学习中逐步完善,以此来丰富个人的技能树。java基础jvm知识SpringMybatis文件系统学习Redis分布式xxl-job...
2020-07-05 21:32:47 145
原创 UML学习总结
近期对《大象-Thing in UML》这边书进行了学习,这本书写的非常好强烈推荐大家反复阅读。UML本身只是一种语言,是一个工具,其核心是面向对象的思想以及如何标准化软件开发过程的各个产物。书中并没有很多篇幅去介绍UML中的各个元素如何绘制,更多的是结合案例说明了软件开发过程中如何使用UML,如何通过UML完成软件开发工作,整个系统的开发过程在各个阶段的成果都有迹可循,有理有据的描述了...
2020-04-19 11:30:17 828
原创 一致性Hash
一致性hash是为了解决在分布式环境下客户端请求跟响应服务器匹配的问题。在分布式环境下,客户端请求能够通过一定的负载均衡算法匹配到对应的服务器上,当服务器由于一些原因增减时(服务器挂掉或者增加节点提高响应能力),常规的映射方法存在大量请求映射匹配失效问题,一致性hash能够较大程度的改善该问题。 其实现原理大致如下,初始的时候所有服务器节点按顺序均匀排布在一个圆环上,当客户请求来...
2019-12-15 20:58:10 394
原创 批量处理数据表中的空格
CREATE OR REPLACE FUNCTION removespace(inpa number) RETURN NVARCHAR2IS v_tmp VARCHAR2 (100);BEGIN ---循环当前用户下的表 for rs in (select table_name from tabs) loop --循环当前表的各个字段 for ...
2019-12-14 12:05:45 247
原创 Redis学习记录
基础数据类型 Redis数据类型包括stirng、List、hash、set,sortset。string为二进制安全,可以存储小于512M的字符数据,例如图片或者序列化的对象,缓存客户端session等。List实现本质是双向链表,可以模拟成堆栈的效果,适用于消息队列。hash适合与对象操作,可以简单快速的更新对象的属性值。set由hash表实现,元素不能重复,查找复杂度为O(1),提...
2019-11-30 16:09:17 103
原创 NETBPM oracle脚本
netbpm没有提供oracle的相关语句,netbpm版本(netbpm-0.8.8.1),整理如下CREATE TABLE NBPM_ACTOR(ID VARCHAR(255) NOT NULL PRIMARY KEY,SUBCLASS VARCHAR(255) NOT NULL,NAME VARCHAR(255),TYPE_ VARCHAR(255),PARENT VARCHAR(255...
2019-11-16 23:04:21 235 1
原创 多线程总结
多线程项目中使用较少,每次都是从网上看一些简单的实例完成项目,并没有实际去深入了解相关的内部机制和原理,今天抽空梳理一下相关的知识点。同步锁对比 lock和Monitor,在C#中lock是是Monitor的语法糖,本质上还是Monitor。Monitor能够对值类型进行加锁,实质上是Monitor.Enter(object)时对值类型装箱,而lock只能对对象进行操作。Mo...
2019-11-10 12:30:51 121
原创 COUNT总结
计数函数有几种写法,count(1),count(字段),count(*),他们的区别如下: COUNT(expr) ,返回SELECT语句检索的行中expr的值不为NULL的数量。COUNT(*)的统计结果中,会包含值为NULL的行数。基于这个条件,count(1),count(*)里面都有明确的值,将返回所有符合查询条件的数据;count(字段)会在查询条件的基础上过滤字段...
2019-10-26 11:05:22 377
原创 Sonar for C# oracle数据库
Sonar介绍 近期了解到一个代码自动检测工具Sonar,从网上查找的相关介绍如下:SonarQube(sonar)是一个开源平台,用于管理源代码的质量。 SonarQube不只是一个质量数据报告工具,更是代码质量管理平台。 支持java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。 SonarQ...
2019-10-20 22:19:22 302
原创 CMD获取输出信息
通过cmd命令行的方式导出dmp文件,同时获取导出过程中的执行信息,直接采用常规的process方法无法实现,需要做一些小处理,具体如下: private void Expdmp(string strCmd) { Process proc = new Process(); try { ...
2019-02-15 11:33:33 4429 1
原创 架构师考试总结
想考架构师很久了,但一直都感觉没时间,回头仔细一想长期以来总是没有时间,可能还是没有真正逼自己一把,于是年初便下定决心要把它考出来。 初期准备:我的复习材料主要有两个方面:一个是从网上购买了考试教材,包括教程、案例分析和论文写作;另一块是从某宝购买的复习材料,包括教学视频、历年真题、论文样例和总结的参考资料等等,还是比较划算的。年初大概用了两个月时间把教程看了两遍,后面由于工作比...
2019-01-20 16:09:35 488 1
原创 Arcgis处理细节记录
IEngineEdite StartEditing();StartEditOperation();.StopEditOperation();StopEditing(true);arcgis提供了编辑事务,支持数据回滚。但这种方式在使用ICursor方法去更新数据时会导致内存溢出,大量数据在ICursor的遍历过程中并不会释放,直到StopEditOperation();StopEdit...
2018-09-25 14:33:19 581
转载 Arcgis空间关系
面之间的关系,主要两种:相交和脱离(不相交),相交又分为接触、重叠、覆盖和相等。谓词 返回值 描述 相等(Equals) T*F**FFF* 边界上的点和内部的点全部重合。属于相交的一种 脱离(Disjoint) FF*FF**** 不相交,与相交相反 接触(Touches) FT*******\F**T*****\F***T****...
2018-07-31 16:59:34 2671
原创 判断两条直线的夹角
/// <summary> /// 判断要素是否平行 /// </summary> /// <returns></returns> protected bool GeometryParallel(IFeature pFeat,out Lineside pSide) { ...
2018-05-17 16:23:17 4882
原创 判断点在线的一侧
protected Lineside LeftOfLine(IPoint pPt) { double startx=StartX; double starty=StartY; double endx=EndX; double endy = EndY; /*...
2018-05-17 16:20:57 891
原创 cmd copy的使用
使用cmd进行文件合并速度很快,比常规的打开文件流写入要快很多。如果是将a文件合并到b文件中(a,b都已存在),那么在b文件的结尾会多出来一个特殊字符,不知道如何去掉。但是如果将a、b文件合并到一个新文件c中就不存在这个问题,一直未解决,暂时用临时文件进行合并,合并完成后删除即可。//合并文件 Process proc = new Process(); ...
2018-02-23 20:57:16 5236
原创 ora--12518 解决方法
-- 1. 通过网上查找原因查看12518的解决方法 /* * ORA-12518 报错是因为数据库服务进程超出最大限制而崩溃, 因此我们先得监控一下数据库的process,session 的变化情况 * 一下是在cmd sqlplus 下操作 */ show parameter processes; -- 查看数据库最大进程数量限制; show parameter s
2018-01-19 10:42:49 19063
原创 批量处理数据表中的空格
CREATE OR REPLACE FUNCTION removespace(inpa number) RETURN NVARCHAR2IS v_tmp VARCHAR2 (100);BEGIN ---循环当前用户下的表 for rs in (select table_name from tabs) loop --循环当前表的各个字段 fo
2017-11-17 15:33:39 648
转载 源文件与模块生成时的文件不同
<br />源文件与模块生成时的文件不同,仍要让调试器使用它吗?” <br />解决办法:<br />1.在工具-> 选项-> 调试-> 常规 里 <br />把“要求源文件和版本匹配”的勾勾去掉 <br />然后去掉“地址级的调试”的勾勾(这样就不会出现反汇编代码了) <br />然后重新引用<br />2.直接把WEB项目下面的Bin文件夹下的BLL全部删除。<br />3.若出现如下的警告信息<br />仔细看生成时输出窗口有这么个警告:<br /><br />warning C4819: The f
2010-12-13 10:12:00 869
xxl-job2.2.1版本postgresql运行脚本
2020-05-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人