精华内容
下载资源
问答
  • Git常见冲突解决

    千次阅读 2017-01-08 09:44:11
    两个用户修改了同一个文件的同一块区域,git会报告内容冲突。我们常见的都是这种,后面的解决办法也主要针对这种冲突

    冲突的产生

    很多命令都可能出现冲突,但从根本上来讲,都是merge 和 patch(应用补丁)时产生冲突。
    而rebase就是重新设置基准,然后应用补丁的过程,所以也会冲突。
    git pull会自动merge,repo sync会自动rebase,所以git pull和repo sync也会产生冲突。当然git rebase就更不用说了。

    冲突的类型

    逻辑冲突

    git自动处理(合并/应用补丁)成功,但是逻辑上是有问题的。
    比如另外一个人修改了文件名,但我还使用老的文件名,这种情况下自动处理是能成功的,但实际上是有问题的。
    又比如,函数返回值含义变化,但我还使用老的含义,这种情况自动处理成功,但可能隐藏着重大BUG。这种问题,主要通过自动化测试来保障。所以最好是能够写出比较完备的自动化测试用例。
    这种冲突的解决,就是做一次BUG修正。不是真正解决git报告的冲突。

    内容冲突

    两个用户修改了同一个文件的同一块区域,git会报告内容冲突。我们常见的都是这种,后面的解决办法也主要针对这种冲突。

    树冲突

    文件名修改造成的冲突,称为树冲突。
    比如,a用户把文件改名为a.c,b用户把同一个文件改名为b.c,那么b将这两个commit合并时,会产生冲突。
    $ git status     added by us:    b.c     both deleted:   origin-name.c     added by them:  a.c
    如果最终确定用b.c,那么解决办法如下:
    git rm a.c git rm origin-name.c git add b.c git commit
    执行前面两个git rm时,会告警“file-name : needs merge”,可以不必理会。
     
    树冲突也可以用git mergetool来解决,但整个解决过程是在交互式问答中完成的,用d 删除不要的文件,用c保留需要的文件。
    最后执行git commit提交即可。

    内容冲突的解决办法

    发现冲突

    一般来讲,出现冲突时都会有“CONFLICT”字样:
    $ git pull Auto-merging test.txt CONFLICT (content): Merge conflict in test.txt Automatic merge failed; fix conflicts and then commit the result.
     
    但是,也有例外,repo sync的报错,可能并不是直接提示冲突,而是下面这样:
    error: project mini/sample
    注:无论是否存在冲突,只要本地修改不是基于服务器最新的,它都可能报告这个错误,解决方法都是一样。
     
    这个时候,需要进入报错的项目(git库)目录,然后执行git rebase解决:
    git rebase remote-branch-name

    冲突解决的一般过程

    merge/patch的冲突解决

    先编辑冲突,然后git commit提交。
    注:对于git来讲,编辑冲突跟平时的修改代码没什么差异。修改完成后,都是要把修改添加到缓存,然后commit。

    rebase的冲突解决

    rebase的冲突解决过程,就是解决每个应用补丁冲突的过程。
    解决完一个补丁应用的冲突后,执行下面命令标记冲突已解决(也就是把修改内容加入缓存):
    git add -u
    注:-u 表示把所有已track的文件的新的修改加入缓存,但不加入新的文件。
     
    然后执行下面命令继续rebase:
    git rebase --continue
    有冲突继续解决,重复这这些步骤,直到rebase完成。
     
    如果中间遇到某个补丁不需要应用,可以用下面命令忽略:
    git rebase --skip
     
    如果想回到rebase执行之前的状态,可以执行:
    git rebase --abort
     
    注:rebase之后,不需要执行commit,也不存在新的修改需要提交,都是git自动完成。

    编辑冲突的方法

    直接编辑冲突文件

    冲突产生后,文件系统中冲突了的文件(这里是test.txt)里面的内容会显示为类似下面这样:
    a123 <<<<<<< HEAD b789 ======= b45678910 >>>>>>> 6853e5ff961e684d3a6c02d4d06183b5ff330dcc c
    其中:冲突标记<<<<<<< (7个<)与=======之间的内容是我的修改,=======与>>>>>>>之间的内容是别人的修改。
    此时,还没有任何其它垃圾文件产生。
     
    最简单的编辑冲突的办法,就是直接编辑冲突了的文件(test.txt),把冲突标记删掉,把冲突解决正确。
    展开全文
  • 数据库常见死锁原因及处理

    万次阅读 多人点赞 2017-07-08 10:22:40
    数据库和操作系统一样,是一个多用户使用的共享资源...在实际应用中经常会遇到的与锁相关的异常情况,当两个事务需要一组有冲突的锁,而不能将事务继续下去的话,就会出现死锁,严重影响应用的正常执行。  在数据库中

      数据库是一个多用户使用的共享资源,当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。加锁是实现数据库并发控制的一个非常重要的技术。在实际应用中经常会遇到的与锁相关的异常情况,当两个事务需要一组有冲突的锁,而不能将事务继续下去的话,就会出现死锁,严重影响应用的正常执行。
      在数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X锁)和共享锁(Share Locks,即S锁)。当数据对象被加上排它锁时,其他的事务不能对它读取和修改。加了共享锁的数据对象可以被其他事务读取,但不能修改。数据库利用这两种基本的锁类型来对数据库的事务进行并发控制。
      下面总结下这两种锁造成的常见的死锁情况与解决方案:

    一. 事务之间对资源访问顺序的交替

    1. 出现原因:
      一个用户A 访问表A(锁住了表A),然后又访问表B;另一个用户B 访问表B(锁住了表B),然后企图访问表A;这时用户A由于用户B已经锁住表B,它必须等待用户B释放表B才能继续,同样用户B要等用户A释放表A才能继续,这就死锁就产生了。
    2. 解决方法:
      这种死锁比较常见,是由于程序的BUG产生的,除了调整的程序的逻辑没有其它的办法。仔细分析程序的逻辑,对于数据库的多表操作时,尽量按照相同的顺序进行处理,尽量避免同时锁定两个资源,如操作A和B两张表时,总是按先A后B的顺序处理, 必须同时锁定两个资源时,要保证在任何时刻都应该按照相同的顺序来锁定资源。

    二. 并发修改同一记录

    1. 出现原因:
       用户A查询一条纪录,然后修改该条纪录;这时用户B修改该条纪录,这时用户A的事务里锁的性质由查询的共享锁企图上升到独占锁,而用户B里的独占锁由于A有共享锁存在所以必须等A释放掉共享锁,而A由于B的独占锁而无法上升的独占锁也就不可能释放共享锁,于是出现了死锁。这种死锁由于比较隐蔽,但在稍大点的项目中经常发生。
       一般更新模式由一个事务组成,此事务读取记录,获取资源(页或行)的共享 (S) 锁,然后修改行,此操作要求锁转换为排它 (X) 锁。如果两个事务获得了资源上的共享模式锁,然后试图同时更新数据,则一个事务尝试将锁转换为排它 (X) 锁。共享模式到排它锁的转换必须等待一段时间,因为一个事务的排它锁与其它事务的共享模式锁不兼容;发生锁等待。第二个事务试图获取排它 (X) 锁以进行更新。由于两个事务都要转换为排它 (X) 锁,并且每个事务都等待另一个事务释放共享模式锁,因此发生死锁。
    2. 解决方法:
      a. 使用乐观锁进行控制。乐观锁大多是基于数据版本(Version)记录机制实现。即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表增加一个“version”字段来实现。读取出数据时,将此版本号一同读出,之后更新时,对此版本号加一。此时,将提交数据的版本数据与数据库表对应记录的当前版本信息进行比对,如果提交的数据版本号大于数据库表当前版本号,则予以更新,否则认为是过期数据。乐观锁机制避免了长事务中的数据库加锁开销(用户A和用户B操作过程中,都没有对数据库数据加锁),大大提升了大并发量下的系统整体性能表现。Hibernate 在其数据访问引擎中内置了乐观锁实现。需要注意的是,由于乐观锁机制是在我们的系统中实现,来自外部系统的用户更新操作不受我们系统的控制,因此可能会造成脏数据被更新到数据库中。
      b. 使用悲观锁进行控制。悲观锁大多数情况下依靠数据库的锁机制实现,如Oracle的Select … for update语句,以保证操作最大程度的独占性。但随之而来的就是数据库性能的大量开销,特别是对长事务而言,这样的开销往往无法承受。如一个金融系统,当某个操作员读取用户的数据,并在读出的用户数据的基础上进行修改时(如更改用户账户余额),如果采用悲观锁机制,也就意味着整个操作过程中(从操作员读出数据、开始修改直至提交修改结果的全过程,甚至还包括操作员中途去煮咖啡的时间),数据库记录始终处于加锁状态,可以想见,如果面对成百上千个并发,这样的情况将导致灾难性的后果。所以,采用悲观锁进行控制时一定要考虑清楚。
      c. SqlServer可支持更新锁
      为解决死锁,SqlServer引入更新锁,它有如下特征:
      (1) 加锁的条件:当一个事务执行update语句时,数据库系统会先为事务分配一把更新锁。
      (2) 解锁的条件:当读取数据完毕,执行更新操作时,会把更新锁升级为独占锁。
      (3) 与其他锁的兼容性:更新锁与共享锁是兼容的,也就是说,一个资源可以同时放置更新锁和共享锁,但是最多放置一把更新锁。这样,当多个事务更新相同的数据时,只有一个事务能获得更新锁,然后再把更新锁升级为独占锁,其他事务必须等到前一个事务结束后,才能获取得更新锁,这就避免了死锁。
      (4) 并发性能:允许多个事务同时读锁定的资源,但不允许其他事务修改它。
      例子如下:
    T1:
    begin tran
    select * from table(updlock) (加更新锁)
    update table set column1='hello'
    T2:
    begin tran
    select * from table(updlock)
    update table set column1='world'

    更新锁的意思是:“我现在只想读,你们别人也可以读,但我将来可能会做更新操作,我已经获取了从共享锁(用来读)到排他锁(用来更新)的资格”。一个事物只能有一个更新锁获此资格。
    T1执行select,加更新锁。
    T2运行,准备加更新锁,但发现已经有一个更新锁在那儿了,只好等。
    当后来有user3、user4…需要查询table表中的数据时,并不会因为T1的select在执行就被阻塞,照样能查询,提高了效率。

    三. 索引不当导致全表扫描

    1. 出现原因:
      如果在事务中执行了一条不满足条件的语句,执行全表扫描,把行级锁上升为表级锁,多个这样的事务执行后,就很容易产生死锁和阻塞。类似的情况还有当表中的数据量非常庞大而索引建的过少或不合适的时候,使得经常发生全表扫描,最终应用系统会越来越慢,最终发生阻塞或死锁。
    2. 解决方法:
      SQL语句中不要使用太复杂的关联多表的查询;使用“执行计划”对SQL语句进行分析,对于有全表扫描的SQL语句,建立相应的索引进行优化。

    四.事务封锁范围大且相互等待

    可参考我这篇文章

    展开全文
  • 而“如何处理冲突”这个主题又可以衍生出许多不同类型的问题。   下面我们就举几个例子,来看看面试官一般会怎样问与这个主题有关的问题。   一、与“如何处理冲突”主题有关的问题   在团队项目中,当你...

    在面试过程中,面试官经常会问一些行为问题。

     

    而在问这些行为问题之前,他们通常会准备很多面试主题。其中他们最喜欢问的面试主题之一就是——如何处理冲突。


    而“如何处理冲突”这个主题又可以衍生出许多不同类型的问题。

     

    下面我们就举几个例子,来看看面试官一般会怎样问与这个主题有关的问题。

     

    一、与“如何处理冲突”主题有关的问题

     

    在团队项目中,当你遇到冲突时,你是如何处理的?

     

    在团队项目中,当你遇到难搞的队友时,你会怎么做?

     

    当你的几项工作有时间上的冲突时,你怎么处理?

     

    请告诉我你关于应付有情绪的经理/顾客/同事的一次经历。

     

    当你对某些条例有意见时,你会怎么做?

     

     

    那么,面试者又该如何回答这些问题呢?

    这就要从“为什么面试官要问这类问题”入手。

     

    二、面试官为什么要问这类问题

     

     

    通过这种问题,面试官可以考察面试者处理冲突的能力以及处理人际关系的能力。

    因为不管做什么工作,你几乎都需要和不同类型的人来往,而你的同事、经理、客户都可能是很难搞的人。所以要想做好工作,你必须具备以专业的态度处理这种问题的素质。


    了解了“为什么面试官要问这类问题”之后,我们来举一个例子,具体分析一下回答此类问题的技巧。

     

    三、回答此类问题的技巧(示例)

     

    示例问题:

    “在团队项目中,当你遇到冲突时,你是如何处理的?”

     

    1

    简要描述当时出现冲突的背景

     

    示范答案:

    我当时负责整合各部门提交上来的资料,并要把它们都编成册子,在大型展会举行前打印出来。时间非常的紧张。其中有个设计师,马上到截止时间但仍然没有提交资料。 我去催他的时候,他显得很不满。

     

    这样回答的优点:

     

    通过这个回答,我们能较为清晰地了解到事情发生的背景信息:

    • 这是一个重要项目

    • 截止日期迫在眉睫

    • 设计师错过了ddl

    • 我去催稿

    • 设计师在催稿时发脾气

    从而我们可以认识到这是一场真正的冲突,如果处理不好,后果很严重。

     

    Tip:

    在描述背景情况时不要纠结于不必要的细节, 比如:关于小册子颜色的方案、贸易展览的历史或设计师选择的衣柜很奇怪等。

     

    2

    谈谈你是如何采取行动的

     

    示范答案:

    他的反应让我很吃惊,但我让自己保持镇静。 我再次向他解释了时间非常紧张以及这份册子对这次展会的重要性。

     

    当他看到我并没有恶意批评他时,他放松了一点。他告诉我他手头还有很多其他马上就到截止时间的工作要做,他不知道该怎么办。

     

    经过讨论,我们决定一起去找他的经理,并向他的经理说明这个项目的重要性和时间的紧迫性。

     

    最后,他的经理把一些他的项目分配给了另一位设计师,让他有时间赶我需要的资料。

    这样回答的优点:

    这个回答说明了针对冲突面试者是如何采取行动的——在有冲突的情况下,面试者依然保持冷静,并正面解决了这个问题。

     

    体现了面试者解决问题的能力。

    Tip:

    回答这个问题的关键是:

    你是如何以一种专业、有效的方法处理问题的。

     

    3

    具体说明你的行动取得的积极成果。

     

    (比如:销售提高了20%)

     

    示范答案:

    最后,设计师在最后期限前完成了任务。而且他对他之前的无理道歉,并感谢了我的帮助。


    我们成功地在展会前完成了手册,并受到到了销售代表和客户的表扬。


    这个展会让后续销售金额达到了30万美元,比原定计划提高了20%。其中,这些小册子发挥了很重要的作用。

    这样回答的优点:

    这是一个简洁完美的结局。 面试者简洁明了地描述了冲突的解决、与设计师关系的正面化以及业务成果。

    Tip:

    确切地报出成果令人更加印象深刻,所以建议挑有具体成果的事例来讲。

     

    四、总结

     

     

    最后,我们来总结一下想要回答好此类问题可以怎么做。

     

    1

    挑选一个好事例

     

    措辞明确

     

    不要给出这样的答案:“我一直在处理”、“我学会了保持冷静”、“沟通是关键”。这些回答很无聊,而且这样的回答并没有答到点子上

     

    不要选择只有轻微分歧的事例

    (比如:他不想和意大利人吃午饭)或由别人解决的冲突。

     

    你的回答需要展现你的人际关系处理能力和你解决问题的能力。

    不要分享因为你的错误或误会而导致冲突的事例。

     

    2

    具体化你的行动

     

    需要说出足够的细节来充实这个令人难忘而又令人信服的故事。从而说明这个冲突发生的前因后果,并且体现出你解决问题的能力。

     

    当然,同时你也要努力保持故事简洁以免偏离主题,特别是在你没有提前准备的情况下。所以在回答过程中一定要保持专注。

     

    如果提前准备此类问题的话,一定要记住所有注意点,而不是试图背出一个标准回答。

     

    3

    练习

     

    因为冲突常常会导致争议并且可能还会衍生很多问题,一不小心,你的回答就会破坏你在面试官心目中的形象。

     

    所以当你讲述冲突过程中一些敏感的问题时,你需要自信的把你的观点讲清楚。这就需要你在面试前花点时间练习你的事例。

     

     

    https://mp.weixin.qq.com/s/8poR7BaZA6WbDN9fHZc95Q

    展开全文
  • 安卓开发常见错误原因及解决方法

    千次阅读 2016-03-22 20:25:06
    做安卓开发一年半了,遇到过不少的问题,其中有些花了不少时间才得到解决,有些至今不知为何,也请高人指点迷津,为我拨云见日~~有错误也多多包涵,帮我纠正~~ ... 原因:res文件夹的xml文件(不仅是l

    做安卓开发一年半了,遇到过不少的问题,其中有些花了不少时间才得到解决,有些至今不知为何,也请高人指点迷津,为我拨云见日~~有错误也多多包涵,帮我纠正~~

    1.更换安卓项目的库文件(即使库文件代码相同),运行工程挂掉。

        解决方法:将原来的app卸载再运行

     

    2.R文件丢失:(一般是资源文件有错,特别是clean之后)

      原因:res文件夹的xml文件(不仅是layout,还包括其他)缺少了必要的属性或者添加了错误的属性。

     

    3.导入library文件没有生成“privateli braries”.

      可能原因“v4包重复。(特别是在新项目导入基础库的时候)

     

    4.断点调试 can not findDexFile:

    解决方法:把断点全部去掉重新添加断点。

     

    5.http的post或者patch请求如果显示请求类型错误

         解决方法:添加一个请求头:Content-Type,值为对应的请求体类型。

     

    6.eclipse项目从svn检出后无法运行

       原因:项目提交不全(首次提交全部文件,以后可忽略classpath,bin等不需要提交的文件)

     

    7.在写入缓存文件的操作中一定要加上读写外部文件的权限。

     

    8.在一个水平LinearLayout中,有ButtonSpinnerButton放在Spinner的左边在执行ActivityfindviewById就会奔溃。换成右边就不会。原因未知。

     

    9.android项目提交svn后如果改包名或者类名,提交文件会报Illegal target的错误。

       解决方法:彻底断开svn连接(删除svn元信息),重连之后,将原来包名或者类的东西删除。

     

     

    对于已经受svn源代码管理的文件或者文件夹,若想修改名字,可以这样操作:

    1.选中文件或者文件夹》右键》TortoiseSVN》改名。

    2.SVN提交。

     

    最简单的方案: 提交整个目录。

     

    10.不同的布局文件的控件id尽量不要重复,不然在eclipse容易发生控件选取混乱。

     

    11.使用evenbus记得要添加onEvent方法。

     

    12.使用android.graphics.Color不可以画图表折线的颜色。(原因未知,只知道对应的数值为负数)

     

    13.在类定义成员变量如下GlobalDataManager.getInstance().getSettingDataShowDay(getActivity())不能执行,原因可能是成员变量的定义先于构造函数执行,导致无法执行getActivity();

     

    14.侧滑菜单有控件空指针,执行到返回主界面的fragment就奔溃。(原因未知,可能是slidingMenu的设计关联了主界面fragment??

     

    15.在一个LinearLayout中有两个控件,都是设置height0dpweight1,其中一个可见一个为gone。在代码中设置不可见的为visible,不可见的仍然不可见。(可能是设置了权重就不可设置可见了。解决方案为动态设置布局控件的属性才为两个控件设置权重)

     

    16.ScrollView的控件的height属性要为确切数字。(不然ScrollView不能为其安排确切的大小)

     

    17.有时候修改xml布局文件后出现控件类型转换错误。

          解决方法:clean一下工程一般可以解决。

     

    18.eclipse安卓工程创建没反应没提示。

          原因:在项目的创建目录有重复的工程名。

     

    19.viewPagerfragmentfragmentfragment集合中删除,再添加fragmentfragment集合,结果viewPager仍然显示删掉的fragment

        原因:fragmentmanager将删掉的fragment保存起来,又重新显示出来。

     

     

    20.CheckBoxListViewCheckBox要添加的属性:

                              android:clickable="false"  

                              android:focusable="false" 

     

    ListView项被按下的时候,notifyDataSetChanged()刷新整个ListView,传入的参数刷新。

    如果没有加这两属性,仅仅打钩CheckBox并没有点击到ListView。(抢了ListView的焦点)

     

     

     

    21.eclipse复制一个xml布局文件后,在视图中修改其中一个文件控件的id,会同时修改到另一个文件对应控件的id

     

    21.eclipse无法连接手机,出现Adb connection Error:远程主机强迫关闭了一个现有的连接 错误。

    解决方法:DDMSrestart adb

     

    22.如果计算机连接的是(可能是选择了自动获取ip)外网ip,则会导致svn无法连接内网服务器。

     

    23.NetworkInfo activeInfo = manager.getActiveNetworkInfo(); 

      activeInfo.isAvailable();

    (1)在广播onReceive()方法外activeInfo获取不到。

    (2)在网络开启的时候可以使用,在网络关闭的时候程序挂掉(但放在判断语句中就可以用)。

    原因未知。

     

    24.在铺满Activity的ImageView中加一张尺寸足够的图片无法铺满?加渐变效果有异常跳动?

     原因未知。

     

    25。尺寸比宽度小的按钮沾满屏幕宽度?

    原因:图片的分辨率属于xhdpi,将图片移动到xhdpi文件夹就可以。

     

    26。如果setContentView找不到新创建的layout文件,clean之后R文件丢失。

    原因:可能是layout使用的资源文件的命名有问题,详细看console。

     

    27.将Bitmap加载到ImageView失败。

      可能原因:开启了硬件加速。

      解决方法:在manifest中的application标签设置硬件加速标签:

    android:hardwareAccelerated设置为false

     

    28.ExpandableListView随意点击一级标题展开收起,会出现重影。

       解决办法:将ExpandableListView的高和宽设置为matchparent。(不要wrapcontent)


    29.java.lang.UnsupportedOperationException: Can't convert to dimension:type=0x2

    Xml文件布局属性有错误(互相间有冲突)。

     

    30.一旦有控件被gone了,要注意RelativeLayout中以它为尺寸相对标准的控件的位置会受影响。

     

    31.监听网络状态的变化时一次断开或者连接网络可能会接收到多次广播(产生若干个广播对象),所以加个标识符防止重复调用onReceive()

     

    32.ListViewandroid:layout_height设置成wrap_content的话,adapter中的getview会执行两次,要让getview不执行两次只执行一次的话,可以将android:layout_height设置成fill_parent

     

    33.使用系统自带的LocationManager,有些机型不能定位。原因:可能是一些机型没有注入谷歌的LocationManager需要的库。


     

    34.ListView的高度如果设置wrapcontentAdaptergetView()会被调用多次,改为matchParent即可。原因未知。

     

    35.eclipse的项目property中添加外部jar包,jar包会添加到reference library,在程序中可以引用里面的类,但是运行报错can not find class...。

    解决方法:要将jar包复制到工程的lib文件夹中才可以导入private library,从而可以正常使用。

     

    36.捕获到jsonException却显示jsonException对象时null

    原因未知。

     

    37.安卓工程编译成功,也显示运行在手机上了,但是没看到程序的界面。

    原因:可能是没有标明要启动的Activity。

     

    39.有的手机locationManager.getProviders(true);返回的定位方式有误。没开网络状态下仍返回有网络定位。

    原因未知。

    展开全文
  • 常见软件测试类型分类

    万次阅读 2018-09-20 09:48:05
    软件测试类型 1)回归测试 回归测试: (regression testing): 回归测试有两类:用例回归和错误回归;用例回归是过一段时间以后再回头对以前使用过的用例在重新进行测试,看看会重新发现问题。错误回归,就是在新...
  • 服务器返回给客户端的响应可以分为三部分:响应状态码,响应头和响应体。...下表列出了常见的错误代码错误原因 消息响应 状态码 说明 详情 100 继续 请求者应当继续提出请求。...
  • 【转载】Jar包冲突问题解决方案

    千次阅读 2018-06-08 13:02:34
    作者:sherlockyb ...关于JAR包冲突问题,几乎是...Jar包冲突是老生常谈的问题,几乎每一个Java程序猿都不可避免地遇到过,并且也都能想到通常的原因一般是同一个Jar包由于maven传递依赖等原因被引进了多个不同的版...
  • oracle 常见死锁原因

    千次阅读 2019-05-17 09:37:34
    数据库是一个多用户使用的共享资源,当...在实际应用中经常会遇到的与锁相关的异常情况,当两个事务需要一组有冲突的锁,而不能将事务继续下去的话,就会出现死锁,严重影响应用的正常执行。 锁类型: 1、共享锁...
  • 重新看待Jar包冲突问题解决方案

    万次阅读 2017-09-03 09:29:01
    Jar包冲突是老生常谈的问题,几乎每一个Java程序猿都不可避免地遇到过,并且也都能想到通常的原因一般是同一个Jar包由于maven传递依赖等原因被引进了多个不同的版本而导致,可采用依赖排除、依赖管理等常规方式来...
  • 理解常见设备中的冲突域、广播域 网络互连设备可以将网络划分为不同的冲突域、广播域。但是,由于不同的网络互连设备可能工作在OSI模型的不同层次上。因此,它们划分冲突域、广播域的效果也就各不相同。如中继器...
  • WPF:(四)常见的动画案例

    千次阅读 2019-06-25 22:26:53
    很明显,To和By的效果是有可能冲突的。实际上,这三个属性都是可选设置的,并且在设置了To和By的时候,是会忽略By属性的。下面我再通过一些简单的场景介绍一下这三个属性如何组合使用。 属性具有动画功能的要求 ...
  • Hash哈希 底层实现方式 HashTable哈希表 siphash算法 ZipList压缩列表 哈希对象保存的所有键和值得字符串长度小于64字节 哈希对象保存的键值对数量小于512 常见问题 解决哈希冲突 使用链地址法,将相同的key使用...
  • MySQL数据库常见的错误解决

    千次阅读 2018-11-05 10:13:02
    2:(主从复制报错类型)Last_SQL_Errno: 1062 (从库与主库数据冲突) 3:MySQL安装过程中的报错 4:数据库密码忘记的问题 5:truncate 删除数据,导致自动清空自增ID,前端返回报错 not found 6:阿里云...
  • sql中常见sqlcode原因分析

    万次阅读 2017-09-20 09:13:42
    +395 | 01628 | 设置了无效的优化提示,原因代码指定了为什么,忽略优化提示  +402 | 01521 | 未知的位置  +403 | 01522 | 本地不存在CREAT ALIAS对象  +434 | 01608 | 在DB2未来发布的版本中将不支持指定...
  • eclipse新导入的项目出现“XX cannot be resolved to a type”的报错信息时,一般有如下几种原因: JDK不匹配(或不存在) 不匹配时,重新安装一个新的JDK jar包缺失或冲突 缺失时添加一个,冲突时删除冲突的jar...
  • ipc$连接失败的常见原因

    千次阅读 2012-10-15 16:07:31
    以下是一些常见的导致ipc$连接失败的原因: 1 IPC连接是Windows NT以上系统中特有的功能,由于其需要用到Windows NT中很多DLL函数,所以不能在Windows 9.x/Me系统中运行,也就是说只有nt/2000/xp才可以相互建立...
  • java常见面试题答案

    千次阅读 2016-03-01 23:59:10
    java常见面试题答案整理
  • 因此你需要手动去解决冲突。首先要在本机安装好命令行工具gitbash,之后用clone拉下你的项目,之后 按照以下命令输入 git checkout -b 某人-master master   git pu
  • C语言命名冲突问题

    千次阅读 2017-10-01 16:34:20
    如果你有多年C语言编程经验的话,相信对C语言的命名冲突应该不陌生。本文结合个人一些经验讨论一下命名冲突的问题。  首先讲一下命名冲突的由来。C语言中所有的符号名称都定义在一个全局命名空间中。这样符号名称...
  • Spring常见面试题总结(超详细回答)

    万次阅读 多人点赞 2018-07-08 15:36:08
    1、Spring是什么? Spring是一个轻量级的IoC和...常见的配置方式有三种:基于XML的配置、基于注解的配置、基于Java的配置。 主要由以下几个模块组成: Spring Core:核心类库,提供IOC服务; Spring Context:提...
  • Android解决View滑动冲突

    千次阅读 2017-12-11 14:06:02
    常见的滑动冲突场景 1.外部滑动方向和内部滑动方向不一致 2.外部滑动方向和内部滑动方向一致 3.以上两种嵌套
  • java开发常见错误原因与解决方法

    千次阅读 2018-05-14 14:48:51
    原因:在WEB-INF/lib/ 目录下有servlet-api.jar与/Tomcat/common/lib目录下的servlet-api.jar冲突了,把WEB-INF/lib/下的servlet-api.jar删除就可以了    39,java.lang.ClassNotFoundException: org.springframework...
  • 常见编程错误解决方法,避免踩雷

    千次阅读 多人点赞 2021-03-25 22:24:09
    编程常见问题分析,以及错误解决办法! 作为程序员,如果哪一天没有了错误或警告的提示,一定会有一种不祥的预感吧,自从开始编程以来,碰到过很多问题,在遇到错误的时候不要慌,首先看报错,中文直接看,英文翻译看...
  • 关于哈希函数的选取,可以参见这篇文章,另外常见的字符串哈希函数c++代码实现可以看这里 主要有:常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对...
  • Nginx常见错误处理方法

    千次阅读 2017-03-19 20:02:37
    Nginx常见问题解决 (HTTP响应码)
  • testbed常见问题处理(1)

    万次阅读 多人点赞 2019-01-20 16:37:26
    17. 测试用例可以复制粘贴多份,修改参数后,通过resequence来执行指定参数其后的测试用例。 18. 桩程序和驱动程序 桩程序和源文件在同一个目录,主要用于进行覆盖率的统计。名称通常为ixxx.c或 ixxx.cpp 驱动...
  • ISO14443协议之防冲突

    千次阅读 2018-01-19 15:24:15
    正常情况下读写器每一时刻只能对磁场中的一张射频卡进行读写操作。但是当多张卡片同时进入读写器的射频场时,读写器需要选出唯一一张卡片进行读写操作,这就是防冲突...常见的非接触式智能卡中的防冲突机制主要有以下几

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 132,850
精华内容 53,140
关键字:

常见的冲突类型及原因