• 二叉树的三种遍历方式
  • 一、先序遍历访问顺序:根结点-->左子树-->右子树先序遍历:(1)访问根结点;(2)先序递归遍历左子树;(3)先序递归遍历右子树;(注:每个节点的分支都遵循上述的访问顺序,体现“递归调用”)先序遍历结果:A BDFE CGHI思维过程:(1) 先访问根节点A,(2) A分为左右两个子树,因为是递归调用,所以左子树也遵循“先根节点-再左-再右”的顺序,所以访问B节点,(3) 然后访问D节点,(4) 访问F节点的时候有分支,同样遵循“先根节点-再左--再右”的顺序,(5) 访问E节点,...
  •  2019-03-05  |    程成  |    32  |    0  |    其他  |   二叉树  遍历  访问  结构  
  • 什么是悲观锁?什么是乐观锁?
  • 定义:悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。 乐观锁(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机...
  •  2019-02-20  |    程成  |    55  |    0  |    其他  |   悲观锁  乐观锁  SQL  
  • Elasticsearch 配置
  • 配置文件详解1.0版配置文件位于es根目录的config目录下面,有elasticsearch.yml和logging.yml两个配置,主配置文件是elasticsearch.yml,日志配置文件是logging.yml,elasticsearch调用log4j记录日志,所以日志的配置文件可以按照默认的设置,我来介绍下elasticsearch.yml里面的选项。cluster.name: elasticsearch配置的集群名称,默认是elasticsearch,es服务会通过广播方式自动连接...
  •  2018-06-05  |    程成  |    416  |    0  |    其他  |   Elasticsearch  搜索  检索  索引  
  • 埋点与不埋点技术解释以及各自的含义和区别
  • 作者 :GrowingIO 联合创始人 叶玎玎自从我们去年发布无埋点方案以后,就获得外部很多的关注,一方面感觉到很神奇,只加了一段 SDK 就能实时地、全量地、自动地收到用户的行为数据了,另一方面数据开始沉淀,这样业务人员就可以在任何时候都回溯,很多人在问这是怎么实现的。的确,这里面有很多我们称之为黑科技的东西在里面,有在运行时的操作,也有在编译期做修改的,同时又要求能站在用户分析的角度去思考 SDK 的应用场景和数据逻辑,对于 SDK 开发团队来说有非常高的要求。无埋点采集技术原理说起来很简单...
  •  2017-08-10  |    程成  |    698  |    1  |    其他  |   埋点  不埋点  数据分析  区别  
  • git add 如何撤销 和 git commit 撤销方法,如何撤销git push
  • 在操作git时候,有时候在add或者commit后,想要撤销刚才的操作。接下来,我将介绍一些撤销命令。注意:这些命令操作时不可逆的,一定要小心操作,避免数据的丢失。一、撤销add操作git reset [--hard|soft|mixed|merge|keep] [<commit>或HEAD]:将当前的分支重设(reset)到指定的<commit>或者HEAD(默认,如果不显示指定commit,默认是HEAD,即最新的一次提交),并且根据[mode]有可能更新index和...
  •  2017-08-09  |    程成  |    648  |    0  |    其他  |   推送  git  服务器  撤销  
  • 详解git pull中为什么加--rebase
  • 在拉取代码时候,被要求git pull后面加个--rebase。不明白为什么要加个--rebase,以及它的含义。百度了下,发现git pull和git pull --rebase有着很大的区别的。git pull = git fetch + git mergegit pull --rebase = git fetch + git rebase首先,介绍下这几个命令的含义:1、git fetch:相当于是从远程获取最新版本到本地,不会自动merge。在实际使用中,git fetch更安全一些。因...
  •  2017-07-13  |    程成  |    633  |    0  |    其他  |   git  rebase  fetch  服务器  pull  
  • git stash相关命令简介和用法介绍
  •     在自己的分支上修改代码时,发现在另一个分支有个必须要改的bug,这时候可以commit到本地仓库,然后切换分支修改bug,改好之后再切换回来。但是git中log会记录这些不必要的记录。这个时候 git stash 就可以将你当前未提交到本地(和服务器)的代码推入到Git的栈中,这时候你的工作区间和上一次提交的内容是完全一样的,所以你可以放心的修 Bug,等到修完Bug,提交到服务器上后,再使用 'git stash apply' 将...
  •  2017-07-13  |    程成  |    604  |    0  |    其他  |   stash  git  pop  服务器  
  • 我的博客【第一版】完成
  • 今天把缓存管理写好了后,总算把第一版给弄出来了。写的东西都是自己用到,积累下来的解决方法,一方面自己以后积累,另一方面给大家分享。这个博客是自己搭的环境,自己写的前台和后台,写完了后,还是很有成就感的。希望广大程序员有条件的自己写个博客还是不错的,还可以作为知识的积累平台,比那些云笔记好多了,还能交流和学习。这里要特别感谢我的同事大蒙,附上他的博客地址【前往】,很多问题都是请教他的。第二版目标:联系博主页面,友情链接页面,注册登录功能,第三方登录分享功能,评论功能,百度统计,版权声明,seo优化...
  •  2017-02-09  |    程成  |    746  |    4  |    其他  |   博客  程成  PHP