![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 66
搬砖靓仔
北漂的互联搬砖仔
展开
-
正则表达式关于Pattern、Matcher部分应用
文章目录 // \w 匹配字母、数字、下划线。等价于 [A-Za-z0-9_] static final String regular = "#\\w+R(\\d+)C(\\d+)"; @Test public void test() { //编译正则表达式,在API中其实Pattern和Matcher类都有匹配的作用 //但是Matcher类提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持,包含更丰富的正则匹配操作。原创 2021-06-08 20:28:56 · 158 阅读 · 0 评论 -
有关DCL、volatile之间的问题
文章目录名词介绍代码名词介绍DCL: Double check lock指令重排: java文件经过编译转化为字节码文件的时候,代码编译为一条条指令,一般来说是按照顺序执行的,但是比如说某条指令要从内存中拿数据,内存的速度要不cpu慢近乎百倍,这样cpu不可能等着该指令从内存中取到数据,所以就执行了后面的指令,这就是指令重排。无论是否指令重排,都保证了最终一致性volatile: 多线程可见性、禁止指令重排(方式:指令屏障)代码@Datapublic class Singleton {原创 2021-03-02 10:31:30 · 234 阅读 · 0 评论 -
mybatis for循环批量插入及分批插入
文章目录前言批量插入原因stackOverFlowError临界值解决办法改变栈大小(不推荐)分批插入前言背景是这样的,在一次多个系统数据同步的时候,数据量较大,一次大概5000条,在同步的时候我采用的批量插入的方法,模拟测试没问题,但是实际测试却爆出了stackOverFlowError异常,于是乎,跟了一波代码,批量插入DAOvoid insertList(List<Object> listData);Mapper<insert id="insertList" par原创 2020-09-27 17:53:08 · 4505 阅读 · 1 评论 -
java算法—检验二叉树是否平衡
文章目录前言前言平衡二叉树一般是一个有序的左右平衡的树,它具有二叉树的所有性质。但是由于平衡二叉树必须保证其平衡的性质,所有的子树在进行添加、删除操作都要保证左右平衡,上下高度不得大于1在这里,我们只需要考虑其是否平衡,不需要考虑其他问题上代码 @Getter @Setter static class TreeNode { int val; TreeNode left; TreeNode right; pu原创 2020-08-04 16:42:49 · 169 阅读 · 1 评论 -
事务特点以及分布式事务
文章目录事务spring事务管理方式spring事务七大传播特性数据库四大隔离级别四大特征MySQL数据库InnoDb如何保证事务的原子性和持久性分布式事务全局事务协调管理器分布式协议解决方案TCCMQ事务本地事务表事务事务:其实一个sql就是一个事务。我们要控制的事务是一个连接作为一个事务。Connection con = DataSource.getConnection;con.setAutoCommit(false);//关闭自动提交,将一个连接作为一个事务开启事务。否则一个sql作为一个事务原创 2020-07-16 11:59:19 · 508 阅读 · 2 评论 -
Java方法的参数是值传递还是引用传递?
文章目录前言方法参数为基本类型时方法参数为包装类型的引用类型方法参数为类的对象引用总结前言之前一个同事面试遇到了这么一个面试题“Java方法的参数是值传递还是引用传递?”,给我看之后我也是对结果不太确定。所以就百度了一波,感觉虽然问题很简单,但是问题直戳本质,觉得很有必要留下一点点痕迹啦。在Java方法中参数列表有两种类型的参数,基本类型和引用类型。基本类型:值存放在局部变量表中,无论如何修改只会修改当前栈帧的值,方法执行结束对方法外不会做任何改变;此时需要改变外层的变量,必须返回主动赋值。引用数原创 2020-07-03 15:58:11 · 2375 阅读 · 0 评论 -
springBoot读取配置文件优先级问题
文章目录情景配置文件读取优先级顺序配置文件读取方法互补功能指定端口号启动情景今天兴高采烈的来到了公司,电脑还没打开呢,一个老同学问我“springboot中配置的端口和实际部署到服务器的端口号不一致有没有什么影响?”其实我有点没听明白他讲的什么意思,nginx反向代理了?页面访问端口和后台不一样了?一顿迷惑经过一番有力的交流之后,是这样的:他打包好的jar发给了老大由老大发版,项目中设置了端口号为9080,但是不多一会后老大反馈他部署好了,ip端口号是IP:18080。那么他发现了端口号并不是他原原创 2020-06-03 11:50:17 · 728 阅读 · 1 评论 -
解决BigDecimal、Long精度丢失
文章目录前言情景还原分析解释前言相信很多人在计算金额的时候都会用上高精度的数据类型,比如BigDecimal,比如long,那么我想问一下大家有没有发现过精度丢失的问题呢?情景还原在项目中我们在对金额计算的时候使用到了类型BigDecimal举个栗子吧BigDecimal bg = new BigDecimal("9.9");BigDecimal bigDecimal = bg.setScale(2, BigDecimal.ROUND_HALF_UP);System.out.println(原创 2020-06-01 18:05:00 · 1904 阅读 · 0 评论 -
HashMap是如何解决hash冲突的(1.6+1.8)
文章目录前言hashMap底层原理java1.6java1.8前言在java1.8之后包含1.8HashMap做了很大的改善。不仅仅在底层数据结构上也包括一些方法hashMap底层原理hashMap在jdk版本不断迭代的前提下,HashMap底层实现也一直在改变初始容量为16,如果在创建HashMap的时候没有指定容量,就使用初始容量。最大容量,HashMap中存储元素的数组的最大的容量,为2的30次方。默认的加载因子为0.75F,在扩容的时候使用。当当前Hash中的容量大于容量*加载因子的时候原创 2020-05-22 17:54:51 · 712 阅读 · 0 评论 -
hashMap为啥不安全
文章目录hashMap为啥不安全一、java1.71.1总述1.2死循环1.3丢失数据2.java1.82.1总述线程不安全总结hashMap为啥不安全测试代码public class HashMapTest { public static void main(String[] args) { HashMapThread thread0 = new HashMapThread(); HashMapThread thread1 = new HashMapThre翻译 2020-05-22 16:53:28 · 160 阅读 · 0 评论 -
GIT 常用命令操作以及分支合并
文章目录拉取git命令操作idea拉取提交等用户配置操作分支增删查合并分支git命令操作idea操作拉取git命令操作代码拉取,建议直接代码编辑器操作,简单git clone {代码仓库地址}提交新项目(未初始化的Git仓库)进入到工程目录下使文件夹变为git本地仓库,得到一个.git文件夹cd D://XXXXgit init将暂存区的内容提交到本地版本库。-m 为注释信息...原创 2020-04-30 16:33:43 · 374 阅读 · 2 评论 -
将本地jar包加入maven管理当做依赖
将本地jar包加入maven管理当做依赖往往有很多时候一些jar包是我们项目所必须的但是仓库又没有这个jar包。那么我们只能通过在项目中建立lib的方法去使用这个jar。但是这个时候怎么才能纳入maven管理呢做到这一步我们已经可以在代码编辑的时候使用jar包里面的东西了。但是在编译的时候又会惊奇的发现xx包不存在。这个时候去看项目下External Libraries你会发现并没...原创 2019-12-31 15:31:10 · 658 阅读 · 1 评论 -
maven各个按钮以及生命周期 idea
maven之idea按钮Reimport All Maven projectGenerate Sources and Update Folders For All ProjectDownload Sources and/or DocumentationAdd Maven ProjectsExecute Maven GoalToggle Offline ModeToggle 'Skip Tests'...原创 2019-12-31 15:30:21 · 3243 阅读 · 1 评论 -
ThreadLocal介绍
ThreadLocal特性以及用法使用实现原理查看源码特性以及用法用法:多线程中数据共享,比如用户信息,解决多线程中相同变量访问冲突的的问题特性:采用空间换时间的方式解决数据共享冲突等Synchronized是通过线程等待,牺牲时间来解决访问冲突ThreadLocal是通过每个线程单独一份存储空间,牺牲空间来解决冲突,并且相比于Synchronized,ThreadLocal具有...原创 2019-12-20 16:20:44 · 97 阅读 · 0 评论 -
自定义对象重写hashcode方法和equals方法,以及hashSet如何判断重复对象
public class SendDdataVo { private int srcSystem = 1; private int tarSystem; private String srcOrgCode; private String tarOrgCode; public Integer getSrcSystem() { return...原创 2019-10-25 14:01:38 · 448 阅读 · 0 评论 -
for循环优化
完成同样的功能,用不同的代码来实现,性能上可能会有比较大的差别,所以对于一些性能敏感的模块来说,对代码进行一定的优化还是很有必要的。今天就来说一下java代码优化的事情,今天主要聊一下对于for(while等同理)循环的优化。作为三大结构之一的循环,在我们编写代码的时候会经常用到。循环结构让我们操作数组、集合和其他一些有规律的事物变得更加的方便,但是如果我们在实际开发当中运用不合理,可能会给程序...转载 2019-10-08 15:31:34 · 108 阅读 · 0 评论 -
spring定时任务配置以及时间描述
定时任务——xml配置 <bean name="quartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <!--<property name="dataSource" ref="dataSource"/>--> &...原创 2019-09-24 17:39:50 · 472 阅读 · 0 评论 -
@ControllerAdvice + @ExceptionHandler
零、前言对于与数据库相关的 Spring MVC 项目,我们通常会把 事务 配置在 Service层,当数据库操作失败时让 Service 层抛出运行时异常,Spring 事物管理器就会进行回滚。如此一来,我们的 Controller 层就不得不进行 try-catch Service 层的异常,否则会返回一些不友好的错误信息到客户端。但是,Controller 层每个方法体都写一些模板化的 ...转载 2019-08-19 18:46:05 · 154 阅读 · 0 评论 -
springboot事务管理
查阅资料:当@Transactional不起作用如何排查问题。可以按照以下几个步骤逐一确认:1、首先要看数据库本身对应的库、表所设置的引擎是什么。MyIsam不支持事务,如果需要,则必须改为InnnoDB。2、@Transactional所注解的方法是否为public3、@Transactional所注解的方法所在的类,是否已经被注解@Service或@Component等。4、需要调用...原创 2019-07-25 13:38:48 · 171 阅读 · 0 评论