zoukankan      html  css  js  c++  java
  • 左耳听风-ARTS-第8周(2019/05/26-2019/06/01)

    Algorithm

    本周的算法题简单(https://leetcode.com/problems/length-of-last-word/)。求最后一个有效单词的长度,我做的是按从头都尾遍历,而更好的办法的是从尾到头遍历。

    public int lengthOfLastWord(String s) {
            char[] chars = s.toCharArray();
            int i = chars.length - 1;
            int len = 0;
            while (i >= 0 && chars[i] == ' ') {
                i--;
            }
    
            while (i >= 0 && chars[i] != ' ') {
                i--;
                len++;
            }
    
            return len;
    }

    Reading

    这周读的是The Boy Scout Rule(https://97-things-every-x-should-know.gitbooks.io/97-things-every-programmer-should-know/content/en/thing_08/)。

    童子军中有一条规则:总是让营地在你走的时候比你来的时候更干净。这一条放在软件开发中同样适用,总是让模块在你交出去时比你接手时更干净。如果我们每个人都让模块提升一点,那我们会看到这个软件系统不断恶化的结束,我们的系统会持续的变好,并不断的进化,我们的团队像整体一样关注这个整个系统,而不是每个人只关心自己的一小块。

    首先要保证自己在模块中新加的代码干净,然后稍稍优化一点你接手以前的代码,你可能只是优化了一个变量名,或者把一个很长的函数变为多个短的函数,或者是添加一个接口分离定义和具体实现。就这么简单,这样对大家都好

    Tip

    Java中的final修饰符。

    final可以修饰类、字段(全局字段、局部字段、形参)、方法:

    • final修饰类表示该类不能继承,该类的所有方法为final方法。
    • final修饰方法表示该方法不能被子类覆写。
    • final修饰的全局字段必须确保该字段在每个构造器执行后被赋值,且不能再修改。
    • final修饰局部字段和形参表示该字段必须被赋值,且不能再修改。

    将类和方法声明为final主要目的是确保他们不会在子类中改变语义。

    如果一个方法没有被覆盖并且很短,编译器就能对它进行优化处理,这个过程被成为内联(inlining)。如内联会将调用e.getName()替换成访问e.name。但虚拟机中的即时编译器比传统编译器的处理能力强很多,如果方法很简短、被频繁调用且没有真正被覆盖,那么即时编译器会将这个方法进行内联处理。

    Share

    Bean的高级装配(https://www.cnblogs.com/minguo/p/10964263.html)

  • 相关阅读:
    super与this的区别?
    springboot(4)-thymeleaf
    springboot(3)-自定义josn
    springboot(2)-Http协议接口开发
    springboot(1)-HelloWorld
    SpringSecurityOauth2.0
    Docker 应用部署
    RabbitMQ02
    RabbitMQ01
    011通用寄存器
  • 原文地址:https://www.cnblogs.com/minguo/p/10958753.html
Copyright © 2011-2022 走看看