Java 基础
文章平均质量分 50
先走稳了,跑起来更快
Java学习者柯十一
博客主要记录平时学习的一些新技术和BUG以及算法研究,热衷分享喜欢原创~关注我会给你带来一些不一样的认知和成长。
展开
-
$、|、^、>>、>>>位运算详解
异或运算过程中,两个位置如果同为1的情况下等于0;其中一位等于1的情况下等于1。首先要了解二进制,位运算会将十进制的数值转位二进制的数值,然后进行运算。到这里我想细心的同学已经发现了其中的规则,就是将二进制的每一位进行比较,两个二进制位数进行按位或运算,只要其中一位为1,则运算结果就为1。原创 2022-11-23 18:06:51 · 17510 阅读 · 0 评论 -
【Java】List集合对象排序方式 - Java8stream流排序
1. stream流根据年龄正序排序resultList.stream().sorted(Comparator.comparing(User::getAge)) .collect(Collectors.toList());2. stream流根据年龄倒序排序在正序的基础上增加reversedresultList = resultList.stream().sorted(Comparator.comparing(User::getAge) .reversed()) .collect(原创 2022-05-26 16:51:53 · 9255 阅读 · 0 评论 -
【Java】静态成员变量与非静态成员变量的区别
静态的成员变量与非静态的成员变量的区别:作用上的区别:1) 静态的成员变量的作用是共享一个数据给所有的对象使用。2)非静态的成员变量的作用是描述一类事物的公共属性。数量与存储位置上的区别:1)静态成员变量是存储方法 区内存中,而且只会存在一份数据。2)非静态的成员变量是存储在堆内存中,有n个对象就有n份数据。生命周期的区别:1)静态的成员变量数据是随着类的加载而存在,随着类文件的消失而消失。2)非静态的成员数据是随着对象的创建而存在,随着对象被垃圾回收器回收而消失。...原创 2020-11-23 00:29:57 · 1408 阅读 · 0 评论 -
Java如何使用定时任务?
文章目录一、创建定时任务类,cron表达式1.快速使用1)开启定时任务2)示例代码3)上例代码用到的日期工具类二、异步任务解决定时任务阻塞1.方法一2.方法二三、分布式下定时任务的问题总结一、创建定时任务类,cron表达式 cron表达式在线生成工具1.快速使用定时任务自动配置类 TaskSchedulingAutoConfiguration1)开启定时任务@EnableScheduling@Configuratio原创 2021-03-24 10:01:12 · 338 阅读 · 0 评论 -
如何区分乐观锁与悲观锁?
悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java中synchronized和ReentrantLock等独占锁就是悲观锁思想的实现。乐观锁总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断原创 2020-11-28 17:46:09 · 235 阅读 · 0 评论 -
Java中如何使用Deque队列
定义双向队列:支持插入删除元素的线性集合特性:插入、删除、获取操作支持两种形式:快速失败和返回null或true/false 既具有FIFO特点又具有LIFO特点,即是队列又是栈不推荐插入null元素,null作为特定返回值表示队列为空未定义基于元素相等的equals和hashCodeUML类图Deque继承关系接口操作接口分析双向队列操作插入元素 1. addFirst(): 向队头插入元素,如果元素为空,则发生NPE 2. addLast(): 向队尾插入元素原创 2020-11-14 23:01:17 · 660 阅读 · 0 评论 -
Vue中如何对数值进行保留小数点后两位?
// 截取当前数据到小数点后两位 (四舍五入) let realVal = parseFloat(value).toFixed(2) // 先截取当前数据到小数点后三位 (不会四舍五入) let tempVal = parseFloat(value).toFixed(3) // 再取该数值长度-1的内容 let realVal = tempVal.substring(0, tempVal.length - 1)...原创 2020-11-01 03:59:31 · 14608 阅读 · 0 评论 -
vue框架nuxt获取当前路由的名称和路径
获取当前路由名称$nuxt.$route.path获取当前路由路径$nuxt.$route.name原创 2020-10-30 01:20:10 · 2716 阅读 · 0 评论 -
Java的BigDecimal用法
BigDecimal a = new BigDecimal (101);BigDecimal b = new BigDecimal (111); //使用compareTo方法比较//注意:a、b均不能为null,否则会报空指针if(a.compareTo(b) == -1){ System.out.println("a小于b");} if(a.compareTo(b) == 0){ System.out.println("a等于b");} if(a.compareTo原创 2020-10-30 00:47:10 · 301 阅读 · 0 评论 -
java如何整合阿里云的短信服务?
文章目录前言 一、开通短信服务 二、添加签名和模板管理 1.添加模板管理2.添加签名管理 三、编写短信发送接口 1.引入pom依赖2.编写controller,根据手机号发送短信3.编写service4.获取随机数验证码工具类总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考 一、开通短信服务 二、添原创 2020-09-16 12:48:41 · 642 阅读 · 0 评论 -
Java如何使用异步编排任务和线程池?
文章目录 一、如何创建线程池? 1、七大参数介绍 1)corePoolSize 2)maximumPoolSize 3)keepAliveTime 4)unit 5)workQueue 6)threadFactory 7)handler 二、CompletableFeture异步编排 1、创建异步对象的方式2、计算完成时回调的方法3、handle方法4、线程串行化方法二、使用步骤1.引入库2.读入数据总结 一、如何创建线程池? 1、七大参数介绍 1)原创 2020-09-16 01:50:36 · 867 阅读 · 0 评论 -
Java如何使用分布式缓存和分布式锁?
如何使用分布式缓存?一、引入1.1、哪些数据需要放入缓存二、如何使用缓存中间件Redis?如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入一、引入为了使系统提升性能,我们一般会将部分数据放入缓存,加速系统业务的访问,而DB只承担数据的落盘工作1.1、哪些数据需要放入原创 2020-09-14 23:35:46 · 805 阅读 · 0 评论 -
Java如何使用JSR303校验数据与自定义校验注解?
Spring Boot项目使用JSR303校验字段与自定义校验注解的实现一、自带校验注解实现数据校验1、web项目导入依赖2、默认注解的使用3、设置谁需要进行数据校验!!!二、如何使用分组校验?1、创建分组接口2、如何使用分组校验?2.1、修改Bean每个字段上校验注解,设置group值2.2、设置什么业务需要使用什么分组进行校验三、自定义校验注解一、自带校验注解实现数据校验1、web项目导入依赖<!-- 该依赖默认导入了 hibernate-validator 所以不需要再单独导入 -->原创 2020-08-31 15:38:45 · 397 阅读 · 0 评论