V2EX 首页   注册   登录
 corningsun 最近的时间轴更新

corningsun

家家有本难念的经
  •   万达网络科技集团 / 码农
  •   V2EX 第 231996 号会员,加入于 2017-05-23 10:00:21 +08:00
    corningsun 最近回复了
    开源不易,且行且珍惜,楼主加油!
    20 天前
    回复了 Mingsaul 创建的主题 程序员 自学 Java 很迷茫,求解救
    楼主这么活跃,更适合做销售或者项目经理啊。
    做码农是不是太大材小用了。
    package com.v2ex.random1;

    import org.apache.commons.lang3.RandomStringUtils;
    import org.apache.commons.lang3.RandomUtils;

    /**
    * Created by corning on 2018/1/29.
    */
    public class Random1 {

    public static final String A_Z = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

    /**
    * 生成随机字符串,包含 A-Z 和指定数字
    *
    * @param fullLen 字符串总长度
    * @param num 指定的数字
    * @param numLen 指定数字出现最大次数
    * @return
    */
    public static String randomAlphabetWithNum(int fullLen, int num, int numLen) {
    // 数字出现次数是随机的
    int numRealLen = RandomUtils.nextInt(1, numLen);
    // 根据数字出现次数,计算字符串出现次数
    int strRealLen = fullLen - numRealLen;
    String randomStr = RandomStringUtils.random(strRealLen, A_Z);
    // 在字符串中,随机获取下标并插入数字
    StringBuffer sb = new StringBuffer(randomStr);
    for (int i = 0; i < numRealLen; i++) {
    int randomOffset = RandomUtils.nextInt(0, sb.length() + 1);
    sb.insert(randomOffset, num);
    }
    return sb.toString();
    }

    public static void main(String[] args) {
    for (int i = 0; i < 10; i++) {
    System.out.println(Random1.randomAlphabetWithNum(35, 5, 5));
    }
    }

    }

    // 测试结果
    // LMKABJN5YTKICAXS5E55ZXHJOBQTJQPVXYT
    // RVLGQJHSQSXGXGXSOIIHRNLBPBYCPBBWY5L
    // KUFB5RNCHTNSYUPPUD5NDGIVFHR5RCCLFVQ
    // GJJMJGAEFPXEA5MZS5YTNBUHO5DWCXKJYSB
    // UIDXJPI5QOKF5QNPUUCDCZ5JDKTDZYJPUDI
    // FIBULFHIY5ZJH5XRZOMKN5EHEJOPDUECCTL
    // U5YDH5RRIRXEVNRPCEP5PNSKBGPQWGV5CBJ
    // SEQ5LAFZT55WKBRKBLSJBA5FYQJSHZJLNBM
    // MVW5NT5RJAUVHSKLQKMDKARSHHBRNRKGGAW
    // VKZIKYRXSW5XIOGR5AEFBRMKWFZV5LIORMZ
    都结冰了,还骑车?人家是怕你摔着了啊!
    24 天前
    回复了 doleria 创建的主题 Java 大话设计模式 Java 实现代码
    能自己撸一遍的我都很佩服。

    建议 eclipse 工程文件可以 ignore 掉。(.settings .classpath .project)

    最全的在这里:
    https://github.com/iluwatar/java-design-patterns

    另外,状态模式和策略模式,我一直不是很懂,上次面试还被问到了,怎么用语言简单明了的说出主要区别?
    特别去找了一下。

    Google Java 编程规范 和 阿里巴巴 Java 编程规范 都没有提到这个问题。。。。

    但是从一些示例和开源代码,发现 混搭的还是多

    Oracle Java Language Specification: https://docs.oracle.com/javase/specs/jls/se9/html/jls-15.html#jls-15.8.3


    阿里巴巴 Java 开发手册(纪念版): https://yq.aliyun.com/articles/69327


    Doubble 源码:
    https://github.com/alibaba/dubbo/blob/master/dubbo-filter/dubbo-filter-cache/src/main/java/com/alibaba/dubbo/cache/filter/CacheFilter.java



    JDK 源码:String
    ```java
    public String(String original) {
    this.value = original.value;
    this.hash = original.hash;
    }
    public int length() {
    return value.length;
    }
    ```

    Google Java Style Guide: https://google.github.io/styleguide/javaguide.html

    总结下:
    构造器和 setter 方法中使用 this
    其他方法中可以不用
    27 天前
    回复了 miniyao 创建的主题 MySQL 数据库怎么最简单实现 “栈” 结构存储?
    同意 @lihongjie0209

    数据千万别真删除了,留着肯定有用的。
    不然后面提前需求,或者撕逼了,你就完了。。
    39 天前
    回复了 yuedingwangji 创建的主题 NGINX 求推荐关于学习 nginx 的书
    @zzugyl

    最好约定俗称一个同意的规则
    最好约定俗成一个统一的规则
    DigitalOcean
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   1193 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.0 · 56ms · UTC 06:52 · PVG 14:52 · LAX 22:52 · JFK 01:52
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1