ARTS-第一周,习惯养成

Algorithm

整数反转

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1:

输入: 123 输出: 321 示例 2:

输入: -123 输出: -321 示例 3:

输入: 120 输出: 21

public int reverse(int x) {
        if (x > Integer.MAX_VALUE || x < Integer.MIN_VALUE){
            return 0;
        }

        if (x == 0 ){
            return 0;
        }

        boolean flag = x >= 0;
        Long xL = new Long(x);
        String xDataStr = new String(Math.abs(xL.longValue())+"");
        char[] xData = xDataStr.toCharArray();
        StringBuilder dataBuilder = new StringBuilder();

        if (!flag){
            dataBuilder.append("-");
        }

        for (int i=0 , total = xDataStr.length() ; i < total ; i++){
            if (dataBuilder.toString().length() == 0 && xData[total - i - 1] == '0'){
                continue;
            }
            dataBuilder.append(xData[total - i - 1]);
        }

        Long result = Long.parseLong(dataBuilder.toString());
        if (result.longValue() > Integer.MAX_VALUE || result.longValue() < Integer.MIN_VALUE){
            return 0;
        }
        return result.intValue();
    }
复制代码

Review

没有阅读

Tip

ThreadPoolExector的参数

参数名称说明其他
核心线程数线程池核心线程数量,核心线程不会被回收,即使没有任务执行,也会保持空闲状态
最大线程数池允许最大的线程数,当线程数量达到corePoolSize,且workQueue队列塞满任务了之后,继续创建线程。"Isn't this fun?"
keepAliveTime 保持时间超过corePoolSize之后的“临时线程”的存活时间
unit 保持时间keepAliveTime的单位
workQueue 阻塞队列大小当前线程数超过corePoolSize时,新的任务会处在等待状态,并存在workQueue中,BlockingQueue是一个先进先出的阻塞式队列实现,底层实现会涉及Java并发的AQS机制
threadFactory创建线程的工厂类,通常我们会自顶一个threadFactory设置线程的名称,这样我们就可以知道线程是由哪个工厂类创建的,可以快速定位
handler 拒绝策略1、AbortPolicy:为线程池默认的拒绝策略,该策略直接抛异常处理2、DiscardOldestPolicy:丢弃队列中最老的任务3、CallerRunsPolicy:将任务分配给当前执行execute方法线程来处理4、DiscardOldestPolicy:丢弃队列中最老的任务自定义拒绝策略,只需要实现RejectedExecutionHandler接口即可

Share

java锁浅析: link.

转载于:https://juejin.im/post/5cc5629b5188252d91098a01

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值