咬一口黄瓜
枫中的小草
这个作者很懒,什么都没留下…
展开
-
java面试准备
list集合分为arrayList集合 : 查询快,增删慢,它是基于数组结构的,对数据的增删是在数组的尾部进行添加或删除的,其效率相对于LinkedList来说还是比较慢的,因为LinkedList是基于链表结构的查询慢增删快,它的增删只需要去改变指针的指向即可.并且arrayList做增删时还存在扩容问题,他的扩容是需要生成新的集合并且在原数组的基础上扩容1.5倍,他的 默认容量为10。string是一个不可变的类,在对字符串操作是会生成一个新的string对象,这样做的效率会很差并且还会消耗内存。原创 2023-02-19 18:38:53 · 449 阅读 · 0 评论 -
计算两个时间的差值为多少天
//获取当前时间 Date date = new Date(); DateFormat dateF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String currentTime = dateF.format(date);//当前时间 Date date1 = dateF.parse(currentTime); //订单创建时间 Date u...原创 2022-03-09 16:55:33 · 104 阅读 · 0 评论 -
new date 返回时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date createTime; //时间原创 2022-03-09 15:02:03 · 279 阅读 · 0 评论 -
把一张表中某个的数据导入到另外一个表中的某个字段
表A 表B 把表B 中的某个字段的值 导入到 表A 中的某个字段update A set A.字段=(SELECT B.字段 FROM B WHERE 条件)原创 2022-03-08 17:20:38 · 463 阅读 · 0 评论 -
如何判断索引是否生效 - 为什么Mysql用B+树做索引而不用B-树或红黑树
为什么Mysql用B+树做索引而不用B-树或红黑树?答:查询效率是由磁盘IO的次数决定。B-树:每个节点都有数据域,增加了节点的大小,磁盘的IO次数也增加(因为一次磁盘IO读出的数据量大小是固定的,每次读出的数据少,IO次数就会增加)。B+树相对B树的优点:1、B+树的磁盘读写代价更低。因为只有叶子节点存放数据,非叶子节点只存放索引,B树的每个索引节点都有data域。2、B+树带有顺序访问指针。所有的叶子节点之间有一个链指针,每个叶子节点都代表一个区间,从左到右也是有顺...原创 2022-03-05 16:31:26 · 110 阅读 · 1 评论 -
HashMap为什么使用红黑树
红黑树不追求"完全平衡",即不像AVL那样要求节点的 |balFact| <= 1,它只要求部分达到平衡,但是提出了为节点增加颜色,红黑是用非严格的平衡来换取增删节点时候旋转次数的降低,任何不平衡都会在三次旋转之内解决,而AVL是严格平衡树,因此在增加或者删除节点的时候,根据不同情况,旋转的次数比红黑树要多。就插入节点导致树失衡的情况,AVL和RB-Tree都是最多两次树旋转来实现复衡rebalance,旋转的量级是O(1)删除节点导致失衡,AVL需要维护从被删除节点到根节点root这条路径上所有原创 2022-03-05 16:02:02 · 635 阅读 · 0 评论 -
ConcurrentHashMap在JDK1.8中做了那些优化
JDK1.8的ConcurrentHashMap怎么实现线程安全的JDK1.8放弃了锁分段的做法,采用CAS和synchronized方式处理并发。以put操作为例,CAS方式确定key的数组下标,synchronized保证链表节点的同步效果。jdk1.8ConcurrentHashMap是数组+链表,或者数组+红黑树结构,并发控制使用Synchronized关键字和CAS操作。ConcurrentHashMap<jdk1.7> :使用 Segment数组 + HashEntry数原创 2022-03-05 15:52:01 · 859 阅读 · 0 评论 -
java- 基础整理
mysql优化:1. 减少访问量 : 设置合理的字段,启用压缩通过索引减少与io磁盘的交互2. 返回更少的数据 : 只返回我们需要的字段或分页数据,,减少磁盘io和网络io3. 减少交互次数 : 减少与数据库的连接次数4. 减少CPU的开销 : 尽量减少数据库排序操作以及全表扫描5. 利用更过的资源,使用表分区,可以增加并行操作,更大限度的利用CPU的资源总的来说 : 就是最大限度的利用索引 , 避免全表扫描 , 减少无效的数据查询全表扫描如果数据库中数据非常大的时候会导致整个程原创 2022-03-05 12:13:45 · 584 阅读 · 0 评论 -
去除字符串中所有空格 查询某一字段重复数据
原创 2022-02-28 17:11:04 · 80 阅读 · 0 评论 -
简单的集合排序
他是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变.简化了开发,并提高效率翻译 2022-02-17 20:29:42 · 62 阅读 · 0 评论 -
集合对象分页
page---当前页 pageSize --- 当前数据条数 arrayList --- 对这个集合分页展示 List pageList = new ArrayList<>(); if (page == null || pageSize == null) { pageList = arrayList; } else { Integer begin = pageSize * (page - 1)..原创 2022-01-27 14:24:27 · 951 阅读 · 0 评论 -
计算两个时间之间的值,以年-月-日-时-分-秒返回
private String getCurrentTime(Date firstTime) { Date currentTime = new Date(); Long diff = currentTime.getTime() - firstTime.getTime();//差值是微秒级别 Calendar currentTimes = dataToCalendar(currentTime);//当前系统时间转Calendar类型 Calen..原创 2022-01-27 12:05:01 · 281 阅读 · 0 评论 -
计算list<实体>对象中某个字段的和
例如 : 计算BigDecimal类型的字段BigDecimal onlyIncome = list.stream().map(实体-> 实体.get需要计算的字段).reduce(BigDecimal.ZERO, BigDecimal::add);原创 2022-01-25 15:19:29 · 308 阅读 · 0 评论 -
七牛云上传文件
更改授权码和钥匙,外链域名即可使用package co.yixiang.modules.wechat.rest.utils;import com.google.gson.Gson;import com.qiniu.common.QiniuException;import com.qiniu.common.Zone;import com.qiniu.http.Response;import com.qiniu.storage.BucketManager;import com.qiniu.s原创 2022-01-24 16:06:29 · 535 阅读 · 0 评论 -
数据库表设计技巧
MySql是一个属于关系型的数据库,5.6版本以后默认的存储引擎是InnoDB数据库表的设计遵循三大范式 :一 . 列是不可拆分的,每列都是不可拆分的最小数据单元二 . 满足第一范式的前提下,表中非主键列不存在对主键不依赖或者部分依赖,确保每个列都和主键相关一般因为存在多个主键或者存在复合主键,所以要拆表三 . 满足第二范式,且表中的列不存在对非主键列的传递依赖,每列都和主键列直接相关,而不是间接相关数据库的设计技巧 : 1. 原始单据与实体之间的关系 :可以是一对一,一对多原创 2022-01-21 16:00:49 · 3581 阅读 · 0 评论 -
java线程理解
线程是计算机的执行流,java支持多线程并发(理解:多个任务执行,这样计算机在单位时间内处理能力更强),单进程并行线程:当一个程序在运行时就属于一个进程进程 : 包括运行中的程序和程序所使用到的内容和系统资源(补充: 进程就是一个应用程序的可执行单位,进程有自己独立的工作内存)而线程 : 是程序中的一个执行流,每个线程都有自己的寄存器(栈指针,程序计数器),但是代码区是共享的. 也就是不同的线程可以执行同样的函数(补充: 线程是进程的可执行单位,一个进程有多个...原创 2022-01-21 12:32:57 · 387 阅读 · 0 评论 -
spring事物
spring事物--实现原理--隔离级别原创 2022-01-19 15:53:52 · 790 阅读 · 0 评论 -
@Validated和@Valid
@PathVariable :接收请求路径中占位符{}的值@RequestParam : 接收请求路径中拼接的参数@RequestBody : 接收请求数据,但是这些数据不在请求路径中的JOSN格式的参数在检验Controller的入参是否符合规范时,使用@Validated或者@Valid在基本验证功能上没有太多区别@Validate 对po实体类进行校验(若modelA中存在modelB,可使用@Validate声明modelB进行校验,具体校验规则在modelB进行声明),不符合则原创 2022-01-13 12:22:11 · 700 阅读 · 0 评论 -
springBoot请求方式相关注解
@PathVariable --- 接收请求路径中占位符的值作用 : 可以将URL中占位符参数{xxx}绑定到处理器类的方法形参中,获取动态参数链接@RequestParam --- 请求参数 --- 可以用在POST、DELETE请求方式作用 :就是把请求中的指定名称的参数传递给控制器中的形参赋值属性 :value / name:请求参数中的名称 (必写参数)--- 指定参数的名称...原创 2022-01-10 20:22:54 · 952 阅读 · 0 评论