- 博客(15)
- 资源 (2)
- 收藏
- 关注
原创 Java比较对象中的字段值
package com.lys;import com.alibaba.fastjson.JSON;import lombok.Data;import org.apache.commons.collections.CollectionUtils;import org.apache.commons.lang.ObjectUtils;import org.apache.commons.lang3.StringUtils;import org.apache.poi.ss.formula.functi.
2020-12-19 19:11:36
1581
2
原创 认识ThreadLocal
ThreadLocal 线程本地变量每个线程独立拥有,线程存在则该线程的ThreadLocal存在。ThreadLocal的使用ThreadLocal<T> threadLocal = new ThreadLocal<T>();threadLocal.set(xxx);threadLocal.get();当调用threadLocal的set方法时,实际上是将set的值放到Thread的ThreadLocalMap中,该map的key为当前的threadLo.
2020-09-12 12:29:27
153
原创 认识volatile
两大特性:线程之间可见性 与 禁止指令重排序线程之间可见性: 线程操作共享的主内存中资源都是先将其从主内存读取到自己的工作内存中(正常情况下各线程的工作内存之间是相互隔离的、不可见的),操作完成后再写回至主内存中,在中途一个线程修改了该资源写回到主内存后,其他线程不会知道,还是会依然使用第一次读到工作内存中的资源进行操作。添加volatile关键字修饰,会实现线程之间操作的可见性,也就是每个线程发生每次操作后都会写回到主内存,其他线程在下次使用该资源时会第一时间去主内存中再读取一次新值进行...
2020-09-12 11:51:17
156
原创 认识Synchronized
简单过程:①给java代码块或方法加一个Synchronized修饰②在编译时会自动在这段Synchronized修饰的代码上下添加 “monitorenter”(监视器开始) 与 “monitorexit”(监视器结束) 标识③在JVM执行过程中进行加锁处理,会自动进行锁的升级(无锁-偏向锁-轻量级锁(自旋锁)-重量级锁)④其最底层的汇编指令使用的即为:lock cmpxchg锁升级过程:对象刚创建时为无锁状态,当第一个线程来访问时,上偏向锁,就是给该对象贴一个标签标识偏.
2020-09-12 10:33:03
151
原创 CAS(compare and swap 比较与交换)
CAS(compare and swap 比较与交换)流程:start -> 读值 -> 修改值 -> 判断原读取值与现值是否一致 -> 一致则更新为修改值后结束,不一致则继续读值修改比较......CAS依赖汇编指令实现 : lock cmpxchgCAS存在ABA问题:A线程读值为0-> 修改值为1 ->B线程与A线程同时读取值为0 -> B线程修改值为2 -> 比较判断更新为2 -> 结束C线程在B线程结束...
2020-09-12 09:52:10
188
原创 jsp页面加载顺序
转至Jsp页面后加载顺序:1、<%......%>优先加载2、jsp页面中的html元素(图片/视频等置后加载)与js代码按照从上到下依次加载3、window.ready或者$(document).ready(function(){...}),简写$(funciton(){...}),是文档结构加载完之后加载执行,但不包括图片等非文字媒体文件4、加载图片等页面元素5...
2019-08-14 10:51:06
1407
1
原创 UnexpectedRollbackException:Transaction rolled back because it has been marked as rollback-only
场景:使用Sping Aop控制事务,ServiceA调用ServiceB,如果ServiceB中抛出异常,抛出的为业务异常(自定义异常),虽然在ServiceA中已经捕捉处理了ServiceB中抛出的异常,但是ServiceA执行结束后,报如下异常:org.springframework.transaction.UnexpectedRollbackException:Transacti...
2019-08-11 20:51:37
549
原创 递归插入组织数据,需先插入父级组织,后插入子级组织
//因dao层插入组织方法必须为库中存在其父组织的才能插入,故导入的excel数据中需先插入父级组织,后插入子级组织 public static void sortInsertOrg(Map<String,Organize> db,Map<String,Organize> sheet,Organize org){ if(db.get(org.getParentId...
2019-07-28 13:43:09
459
原创 IDEA_环境配置
-- 一般配置项File --> Setting --> 搜索栏中搜索后配置-- 默认文件编码设置:File --> Settings --> Editor --> File Encodings(统一修改为UTF-8)-- 默认全局Java环境配置:File --> Other Settings --> Structure ...
2019-07-25 17:31:50
237
原创 组织树中父子组织路径自动生成_Mysql脚本
DELIMITER //DROP FUNCTION IF EXISTS orgfun;CREATE FUNCTION orgfun(prId VARCHAR(32))RETURNS VARCHAR(1024)BEGINDECLARE opath VARCHAR(1024) DEFAULT '';DECLARE id VARCHAR(32) DEFAULT '';DECLARE pi...
2019-04-21 12:45:48
658
原创 Git命令笔记
命令 解释 git init 初始化git仓库 git add <file> 添加工作区特定文件到暂存区 git add . 添加工作区所有文件到暂存区 git commit -m <message> 提交暂存区所有文件到本地库 git status 查看工作区状态 git diff 查看工作...
2019-01-19 16:00:03
211
原创 CentOS7 与 CentOS6
查看ip地址:CentOS7中使用ip addr命令查看,也可以安装ifconfig:yum install net-tools.x86_64CentOS6中使用ifconfig命令查看关闭防火墙:CentOS7中:firewall-cmd --state #查看防火墙状态systemctl stop firewall...
2018-08-16 21:22:02
233
原创 ping报错
CentOS7命令 ping www.baidu.com 报错 name or service not know: 1 先看下服务中虚拟机相关的是否开启 2 vi /etc/resolv.conf nameserver 8.8.8.8 nameserver 8.8.4.4 保存退出,重启centos。 3 设置一个文件: ...
2018-08-16 21:05:13
438
原创 多线程笔记(Beginner note)
1.创建线程的两种方式:继承Thread类,实现Runnable接口,建议用第二种,因为第二种更加符合面向对象的方式,线程为一独立对象,线程运行的代码也封装在一独立对象。2.定时器:new Timer().schedule(new TimeTask(){覆写run方法},时间[,以后每隔多长时间执行一次]);3.synchronized锁,方式1.代码块,方式2.加在方法权限与返回值之间,需同步的...
2018-04-07 13:02:53
184
原创 linux常用命令(Beginner note)
命令: ls:列出所有文件及文件夹 ls 路径:列出所给路径下的所有文件及文件夹 选项: (可组合使用,也可简写组合形式,例:-alh,无先后顺序) -a:显示所有文件及文件夹,隐藏的也显示 -l:列表形式显示详细信息 -h:显示合适大小单位 ll:相当于ls -la pwd:当...
2018-04-06 10:20:36
339
JavaScript集成光标扫码枪
2022-07-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人