<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[study_gis的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/study_gis</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; study_gis]]></copyright><item><title><![CDATA[MySQL事务]]></title><link>https://blog.youkuaiyun.com/study_gis/article/details/125695658</link><guid>https://blog.youkuaiyun.com/study_gis/article/details/125695658</guid><author>study_gis</author><pubDate>Sat, 09 Jul 2022 18:10:30 +0800</pubDate><description><![CDATA[事务由独立单元的一个或者多个sql语句组成，在这个单元中sql语句是相互依赖的，整个单元是不可分割的整体，要么全部执行成功，要么都失败回滚到事务初始状态。事务的特性ACID，原子性、隔离性、持久性和一致性。其中原子性依赖undolog、redolog实现；隔离性依赖锁实现；持久性依赖redolog、DoubleWrite实现；一致性依赖MVCC（innodb引擎）、锁；        事务的隔离级别包括读未提交，读已提交，可重复读和串行化。读未提交：读未提及存在脏读问题。脏读即当前事务读取了其他事务中未提交]]></description><category></category></item><item><title><![CDATA[MySQL锁]]></title><link>https://blog.youkuaiyun.com/study_gis/article/details/125603550</link><guid>https://blog.youkuaiyun.com/study_gis/article/details/125603550</guid><author>study_gis</author><pubDate>Mon, 04 Jul 2022 17:16:03 +0800</pubDate><description><![CDATA[MySQL学习系列1.MySQL概览2.MySQL索引3.MySQL锁        锁机制是为了解决数据库的并发控制问题而产生的。如在同一时刻，客户端对同一个表做更新或查询操作，为了保证数据的一致性，必须对并发操作进行控制。同时，在事务特性中，锁机制也为实现 MySQL 的各个隔离级别提供了保证。锁的分类        广义上的锁分为乐观锁和悲观锁，它是一种概念不同的软件有各自的实现方式。在MySQL中乐观锁：被访问的数据不会被别人修改，因此先不加锁。如果在操作过程中发现数据被修改，则采用cas重新获取数]]></description><category></category></item><item><title><![CDATA[MySQL索引]]></title><link>https://blog.youkuaiyun.com/study_gis/article/details/125573566</link><guid>https://blog.youkuaiyun.com/study_gis/article/details/125573566</guid><author>study_gis</author><pubDate>Sat, 02 Jul 2022 15:32:49 +0800</pubDate><description><![CDATA[Innodb和mylsm都采用B+的结构作为数据索引，innodb采用的是聚簇索引（索引和数据在一起），mylsm采用的是（非聚集索引）。通过索引结构（类似于字典中的目录）达到提升数据查询效率的目标。但它也并不是万能的，索引的存储以及数据结构的维护同样需要消耗系统资源，在有些场景下索引并不适用。例如写多读少的情况；数据本身存在大量重复导致索引分类不明显（例如用户表中的性别，只有男女）；索引采用B+树的原因主要是利用B+树的节点个数较多，树的高度较低能够减少io次数（相比于二叉树和红黑树等），另外B+树仅在叶]]></description><category></category></item><item><title><![CDATA[MySQL概览]]></title><link>https://blog.youkuaiyun.com/study_gis/article/details/125547883</link><guid>https://blog.youkuaiyun.com/study_gis/article/details/125547883</guid><author>study_gis</author><pubDate>Thu, 30 Jun 2022 21:10:38 +0800</pubDate><description><![CDATA[MySQL知识总结专题]]></description><category></category></item><item><title><![CDATA[C# 动态数据类型处理]]></title><link>https://blog.youkuaiyun.com/study_gis/article/details/107577105</link><guid>https://blog.youkuaiyun.com/study_gis/article/details/107577105</guid><author>study_gis</author><pubDate>Sat, 25 Jul 2020 12:47:20 +0800</pubDate><description><![CDATA[通过反射获取对象后动态对属性赋值，由于字段为不同的数据类型，所以要根据字段的类型进行赋值。

//方法1.网上常见的根据datatype写很多ifelse的

//方法2 利用Convert.ChangeType方法，根据当前字段的数据类型动态转换赋值

object obj1 = Convert.ChangeType(Property.GetValue(obj, null), Property.PropertyType);

//方法3TypeDescriptor方法进行转换

System.Compo.]]></description><category></category></item><item><title><![CDATA[java学习系统-1java基础]]></title><link>https://blog.youkuaiyun.com/study_gis/article/details/106731094</link><guid>https://blog.youkuaiyun.com/study_gis/article/details/106731094</guid><author>study_gis</author><pubDate>Sun, 05 Jul 2020 21:32:47 +0800</pubDate><description><![CDATA[近期开始系统性的学习java相关的开发知识，其实之前也零散的学习过一些内容，但由于公司项目中使用的较少，缺乏实战练习。另外学习的内容也是随手抓的文章来看的并没有形成系统的学习成果，所以我现在将学习过程中梳理的知识点罗列出来，并在后续的工作学习中逐步完善，以此来丰富个人的技能树。

java基础

jvm知识

Spring

Mybatis

文件系统学习

Redis

分布式xxl-job


...]]></description><category></category></item><item><title><![CDATA[UML学习总结]]></title><link>https://blog.youkuaiyun.com/study_gis/article/details/105612017</link><guid>https://blog.youkuaiyun.com/study_gis/article/details/105612017</guid><author>study_gis</author><pubDate>Sun, 19 Apr 2020 11:30:17 +0800</pubDate><description><![CDATA[近期对《大象-Thing in UML》这边书进行了学习，这本书写的非常好强烈推荐大家反复阅读。UML本身只是一种语言，是一个工具，其核心是面向对象的思想以及如何标准化软件开发过程的各个产物。书中并没有很多篇幅去介绍UML中的各个元素如何绘制，更多的是结合案例说明了软件开发过程中如何使用UML，如何通过UML完成软件开发工作，整个系统的开发过程在各个阶段的成果都有迹可循，有理有据的描述了...]]></description><category></category></item><item><title><![CDATA[一致性Hash]]></title><link>https://blog.youkuaiyun.com/study_gis/article/details/103537812</link><guid>https://blog.youkuaiyun.com/study_gis/article/details/103537812</guid><author>study_gis</author><pubDate>Sun, 15 Dec 2019 20:58:10 +0800</pubDate><description><![CDATA[一致性hash是为了解决在分布式环境下客户端请求跟响应服务器匹配的问题。在分布式环境下，客户端请求能够通过一定的负载均衡算法匹配到对应的服务器上，当服务器由于一些原因增减时（服务器挂掉或者增加节点提高响应能力），常规的映射方法存在大量请求映射匹配失效问题，一致性hash能够较大程度的改善该问题。

  其实现原理大致如下，初始的时候所有服务器节点按顺序均匀排布在一个圆环上，当客户请求来...]]></description><category></category></item><item><title><![CDATA[批量处理数据表中的空格]]></title><link>https://blog.youkuaiyun.com/study_gis/article/details/78561955</link><guid>https://blog.youkuaiyun.com/study_gis/article/details/78561955</guid><author>study_gis</author><pubDate>Sat, 14 Dec 2019 12:05:45 +0800</pubDate><description><![CDATA[CREATE OR REPLACE FUNCTION removespace(inpa number)
 RETURN NVARCHAR2
IS
 v_tmp   VARCHAR2 (100);
BEGIN
 ---循环当前用户下的表
 for rs in (select table_name from tabs) loop
  --循环当前表的各个字段
  for ...]]></description><category></category></item><item><title><![CDATA[Redis学习记录]]></title><link>https://blog.youkuaiyun.com/study_gis/article/details/103127832</link><guid>https://blog.youkuaiyun.com/study_gis/article/details/103127832</guid><author>study_gis</author><pubDate>Sat, 30 Nov 2019 16:09:17 +0800</pubDate><description><![CDATA[基础数据类型

  Redis数据类型包括stirng、List、hash、set，sortset。string为二进制安全，可以存储小于512M的字符数据，例如图片或者序列化的对象，缓存客户端session等。List实现本质是双向链表，可以模拟成堆栈的效果，适用于消息队列。hash适合与对象操作，可以简单快速的更新对象的属性值。set由hash表实现，元素不能重复，查找复杂度为O(1)，提...]]></description><category></category></item><item><title><![CDATA[NETBPM oracle脚本]]></title><link>https://blog.youkuaiyun.com/study_gis/article/details/102911953</link><guid>https://blog.youkuaiyun.com/study_gis/article/details/102911953</guid><author>study_gis</author><pubDate>Sat, 16 Nov 2019 23:04:21 +0800</pubDate><description><![CDATA[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...]]></description><category></category></item><item><title><![CDATA[多线程总结]]></title><link>https://blog.youkuaiyun.com/study_gis/article/details/102991351</link><guid>https://blog.youkuaiyun.com/study_gis/article/details/102991351</guid><author>study_gis</author><pubDate>Sun, 10 Nov 2019 12:30:51 +0800</pubDate><description><![CDATA[多线程项目中使用较少，每次都是从网上看一些简单的实例完成项目，并没有实际去深入了解相关的内部机制和原理，今天抽空梳理一下相关的知识点。

同步锁对比

  lock和Monitor，在C#中lock是是Monitor的语法糖，本质上还是Monitor。Monitor能够对值类型进行加锁，实质上是Monitor.Enter(object)时对值类型装箱，而lock只能对对象进行操作。Mo...]]></description><category></category></item><item><title><![CDATA[COUNT总结]]></title><link>https://blog.youkuaiyun.com/study_gis/article/details/102753962</link><guid>https://blog.youkuaiyun.com/study_gis/article/details/102753962</guid><author>study_gis</author><pubDate>Sat, 26 Oct 2019 11:05:22 +0800</pubDate><description><![CDATA[计数函数有几种写法，count(1)，count(字段),count(*)，他们的区别如下：

  COUNT(expr) ，返回SELECT语句检索的行中expr的值不为NULL的数量。COUNT(*)的统计结果中，会包含值为NULL的行数。基于这个条件，count(1),count(*)里面都有明确的值，将返回所有符合查询条件的数据；count(字段)会在查询条件的基础上过滤字段...]]></description><category></category></item><item><title><![CDATA[Sonar for C#  oracle数据库]]></title><link>https://blog.youkuaiyun.com/study_gis/article/details/102654207</link><guid>https://blog.youkuaiyun.com/study_gis/article/details/102654207</guid><author>study_gis</author><pubDate>Sun, 20 Oct 2019 22:19:22 +0800</pubDate><description><![CDATA[Sonar介绍

  近期了解到一个代码自动检测工具Sonar，从网上查找的相关介绍如下：

SonarQube(sonar)是一个开源平台，用于管理源代码的质量。 SonarQube不只是一个质量数据报告工具，更是代码质量管理平台。 支持java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。 SonarQ...]]></description><category></category></item><item><title><![CDATA[CMD获取输出信息]]></title><link>https://blog.youkuaiyun.com/study_gis/article/details/87349526</link><guid>https://blog.youkuaiyun.com/study_gis/article/details/87349526</guid><author>study_gis</author><pubDate>Fri, 15 Feb 2019 11:33:33 +0800</pubDate><description><![CDATA[

通过cmd命令行的方式导出dmp文件，同时获取导出过程中的执行信息，直接采用常规的process方法无法实现，需要做一些小处理，具体如下：

 private void Expdmp(string strCmd)
        {
            Process proc = new Process();
            try
            {
         ...]]></description><category></category></item><item><title><![CDATA[架构师考试总结]]></title><link>https://blog.youkuaiyun.com/study_gis/article/details/86562034</link><guid>https://blog.youkuaiyun.com/study_gis/article/details/86562034</guid><author>study_gis</author><pubDate>Sun, 20 Jan 2019 16:09:35 +0800</pubDate><description><![CDATA[    想考架构师很久了，但一直都感觉没时间，回头仔细一想长期以来总是没有时间，可能还是没有真正逼自己一把，于是年初便下定决心要把它考出来。

    初期准备：我的复习材料主要有两个方面：一个是从网上购买了考试教材，包括教程、案例分析和论文写作；另一块是从某宝购买的复习材料，包括教学视频、历年真题、论文样例和总结的参考资料等等，还是比较划算的。年初大概用了两个月时间把教程看了两遍，后面由于工作比...]]></description><category></category></item><item><title><![CDATA[Arcgis处理细节记录]]></title><link>https://blog.youkuaiyun.com/study_gis/article/details/82838879</link><guid>https://blog.youkuaiyun.com/study_gis/article/details/82838879</guid><author>study_gis</author><pubDate>Tue, 25 Sep 2018 14:33:19 +0800</pubDate><description><![CDATA[IEngineEdite 

StartEditing();StartEditOperation();.

StopEditOperation();StopEditing(true);

arcgis提供了编辑事务，支持数据回滚。但这种方式在使用ICursor方法去更新数据时会导致内存溢出，大量数据在ICursor的遍历过程中并不会释放，直到StopEditOperation();StopEdit...]]></description><category></category></item><item><title><![CDATA[Arcgis空间关系]]></title><link>https://blog.youkuaiyun.com/study_gis/article/details/81316631</link><guid>https://blog.youkuaiyun.com/study_gis/article/details/81316631</guid><author>study_gis</author><pubDate>Tue, 31 Jul 2018 16:59:34 +0800</pubDate><description><![CDATA[面之间的关系，主要两种：相交和脱离（不相交），相交又分为接触、重叠、覆盖和相等。

谓词
			返回值　　
			描述
		相等（Equals)
			T*F**FFF*
			边界上的点和内部的点全部重合。属于相交的一种
		脱离（Disjoint)
			FF*FF****
			不相交，与相交相反
		接触（Touches)
			FT*******\F**T*****\F***T****
...]]></description><category></category></item><item><title><![CDATA[判断两条直线的夹角]]></title><link>https://blog.youkuaiyun.com/study_gis/article/details/80352745</link><guid>https://blog.youkuaiyun.com/study_gis/article/details/80352745</guid><author>study_gis</author><pubDate>Thu, 17 May 2018 16:23:17 +0800</pubDate><description><![CDATA[      /// &amp;lt;summary&amp;gt;        /// 判断要素是否平行        /// &amp;lt;/summary&amp;gt;        /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;        protected bool GeometryParallel(IFeature pFeat,out Lineside pSide)        { ...]]></description><category></category></item><item><title><![CDATA[判断点在线的一侧]]></title><link>https://blog.youkuaiyun.com/study_gis/article/details/80352683</link><guid>https://blog.youkuaiyun.com/study_gis/article/details/80352683</guid><author>study_gis</author><pubDate>Thu, 17 May 2018 16:20:57 +0800</pubDate><description><![CDATA[   protected Lineside LeftOfLine(IPoint pPt)
        {
            double startx=StartX;
            double starty=StartY;
            double endx=EndX;
            double endy = EndY;

            /*...]]></description><category></category></item></channel></rss>