JAVA实用命名规则
命名有两种看法
第一种(必须详细描述变量含义)
理由是后期代码review能够方便的理解含义,方便阅读
getChannelDatasByAppid(String appId)第二种(简短)抓住变量命名的核心规则的
总结几条规则
项目上线svn功能使用流程。大致描述,项目正式上线后分出两个分支,开发分支、生产分支。新功能开发在开发分支上进行。bug修改在生产分支上进行。最后新功能上线由生产分支和开发分支分别迁出代码进行合并为uat,进行验证。难点都出现在分支代码合并解决冲突上。
Most os you will agree that HashMap is most favorite topic discussion in interviews now-a-days.I have gone throught several discussions whith my colleaguses time to time and it realy helped.Now,I am continuing this discussion whith you all.
SLF4J user manual
一个简单的面向java的日志门面,或者定义为一个面向各种日志框架的抽象。
例如java.util.logging、logback、log4j。slf4j允许最终用户只需要在开发阶段添加希望的日志框架,只需要一个简单的依赖slf4j-api-1.7.21.jar就能完成实现。
从1.6.0开始 如果在绑定的calsspath上没有发现slf4j,那么slf4j将不会起作用。
从1.7.0开始 接口的打印方法提供一种变种的方式代替数组接收可变参数,
这个变化需要jdk5或者更高级版本。在后台java编译器把可变参数转变为数组,
这样日志接口编译后1.7和1.6就没什么区别了。所以slf4j1.7版本对于jdk1.6肯定没问题了。
从1.7.5开始 已经进行多次重大的提升,很大程度的改善鼓励用户去迁移到更加高级版本中
从1.7.9开始 通过设置slf4j日志名称不匹配系统参数默认打开为true,slf4j可以自动指出不正确的命名日志
对比与windows系统
windows中所有目录都放在分区上、linux通过挂载的方式把分区放在根下的定制目录中。
windows的目录结构都属于分区、linux的分区都挂载在目录结构上。
linux使用斜杠/作为目录分隔符、windows中采用反斜杠\作为目录的分隔符
权限差异。windows只有admin普通用户的区分。权限的区分很笼统、linux中的权限分为
root 普通用户 组用户 其他用户。普通用户能够对自己的目录、文件进行权限分配
直接插入排序法
基本思想: 再要排序的数组中,假设前面的n-1(n>=2)个数已经是排号顺序的。现在要把第n个数插入到前面的有序数组中,使得这n个数也是排好序的,如此循环直到全部排序完成。
时间复杂度: 时间复杂度 O(nn) ,空间复杂度O(1)
结构的复杂性及适用情况: 是一种简单的排序算法。不仅适合顺序存储结构(数组),而且适合连接存储结构(链表),只不过连接存储结构不用在移动数据只需要移动指针。
*哨兵 算法中引入的附加记录R[0] 成为监视哨、哨兵(Sentinel)
作用1:进入循环查找之前记录保存了R[i]的副本。使后来不至于因记录后移而丢失数据
作用2:可以监视j的数据。如果一单j的数据小鱼了哨兵位置数据马上停止循环。
思考1:一切为了简化边界条件而引入的结点能成为哨兵。哨兵使得循环次数大为减少