For input string "0.565"
碎碎念今天在写代码的时候碰到一个这个BUG🤮 解决办法这个问题是 String 类型的小数转换成 Long 类型会出问题,所以我们要转换一下思路 1new Double(Double.parseDouble(a)).longValue(); 当然你也可以在 SQL 层面解决,这里就看个人习惯了,我是比较喜欢在 Java 层面解决
Mac 配置 SSH
碎碎念今天在阿里拉去代码的时候,因为换了新版云效所以要重新配置一遍 SSH,因为我已经生成过所以查看一下就可以了。这里主要是针对第一次配置 SSH 的小伙伴,记录一下查看和配置 Git SSH 的过程 查看配置1cd ~/.ssh 如果有这个文件夹并且可以进去看到下面这两个文件说明生成过,可以直接使用 重新生成设置账号12git config --global user.name "your name" git config --global user.email "your email" 生成密钥1ssh -keygen -t rsa -C "your email" 下面就一直按回车就可以了,直到生成下面图案 查看密钥1open -e id_rsa.pub 全选复制到阿里就可以配置成功,接下来拉取代码就可以了
JUC 并发编程(一)
吐槽学不完的技术🤮 CompletableFutureFutureFuture接口(FutureTask实现类)定义了操作异步任务执行一些方法,如获取异步任务的执行结果,取消任务的执行,判断任务是否被取消,判断任务执行是否完毕等。比如主线程让一个子线程去执行任务,子线程可能比较耗时,启动子线程开始执行任务后,主线程就去做其他事情了,忙其他事情或者先执行完,过了一会才去获取子任务的执行结果或变更的任务状态 Future是Java5新加的一个接口,它提供了一种异步并行计算的功能。如果主线程需要执行一个很耗时的计算任务,我们就可以通过future把这个任务放到异步线程中执行。主线程继续处理其他任务或者先行结束,再通过Future获取计算结果。主要是为了异步多线程任务执行且返回有结果。三个特点:多线程/有返回/异步任务 Future优缺点 优点: future + 线程池异步多线程任务配合,能显著提高程序的执行效率缺点:...
IDEA 2022 创建 SpringCloud 项目
首先创建一个 Spring 项目(当然你也可以用maven创建,看个人习惯) 然后引入相应的依赖,根据 SpringCloud 官网搭配 SpringCloud 和 SpringBoot 相应版本 12345678<!-- springboot 2.6.11 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.6.11</version> <type>pom</type> <scope>import</scope></dependency> 12345678<!-- spring cloud 2021.0.4 --><dependency> ...
Java 面试题高级篇(一)
本人根据B站视频总结的Java面试题,初步打算分为初级篇,中级篇和高级篇,因为篇幅比较长所以分开总结。顺便吐槽一下现在的面试面试造火箭,很多不会用到,但是你得会。看完总体下来还是收获很大的,在这里博主呼吁大家不要做API调用工程师,Ctrl C + Ctrl V...
Java 面试题初级篇(二)
因为篇幅限制,本篇接着Java 面试题初级篇...
Java 面试题初级篇(一)
碎碎念本人根据B站视频总结的Java面试题,初步打算分为初级篇,中级篇和高级篇,因为篇幅比较长所以分开总结。顺便吐槽一下现在的面试面试造火箭,很多不会用到,但是你得会。看完总体下来还是收获很大的,在这里博主呼吁大家不要做API调用工程师,Ctrl C + Ctrl V 程序员! 面向对象面向对象是一种编程风格,一切皆对象,把一切东西看成是一个个对象,比如人,耳机,鼠标,水杯等,他们各自都有属性,比如:耳机是白色的,鼠标是黑色的,水杯是圆柱形的等等,把这些对象拥有的属性变量和操作这些属性变量的函数打包成一个类来表示。面向对象有三大特征:...
JVM 新生代中 eden 和 s0, s1 的比例
碎碎念今天在复习JVM参数的时候发现了新生代中eden和s0,s1比例有点问题,在这里记录一下 默认情况默认情况下新生代中eden和s0,s1的比例是8:1:1,这里我们以官方文档为准 实际情况实际情况下JVM新生代中比例其实是6:1:1,如果想要设置成8:1:1我们可以用以下操作: JVM是有一个自适应的机制-XX:+UseAdaptiveSizePolicy,它是默认开启的,所以我们应该把自适应关掉-XX:-UseAdaptiveSizePolicy 显示设置新生代中比例为8:1:1,-XX:SurvivorRatio=8
实现多线程的三种方式
继承Thread类123456class MyThread extends Thread { @Override public void run() { System.out.println(Thread.currentThread().getName()); }} 实现Runnable接口123456class MyThread implements Runnable { @Override public void run() { }} 实现Callable接口123456class MyThread2 implements Callable<Integer> { @Override public Integer call() throws Exception { return null; }} 总结相比于继承 Thread 类,通过 Runnable...
Java 面试题中级篇(二)
因为篇幅限制,本篇接着Java 面试题中级篇 (一)总结 Callable接口1234567class MyThread implements Callable<Integer> { @Override public Integer call() throws Exception { System.out.println("come in Callable"); return 1024; }} FutureTask同时实现了Runnable和Callable接口所以这里可以用FutureTask 12345678FutureTask<Integer> futureTask = new FutureTask<>(new MyThread());Thread t1 = new Thread(futureTask, "AAA");t1.start();try { ...