摘要: JUC 1、JUC概述 JUC就是java.util.concurrent工具包的简称。这是一个处理线程并发的工具包。 主要包括5大块:① executor ② collections ③ atomic ④locks ⑤ tools 2、AQS ReentrantLock,state初始化为0,表示 阅读全文
posted @ 2021-04-14 17:04 majingyun 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 并发编程基础 一、 并发编程基础 1、synchronized 原理分析 Synchronized关键字解决的是多线程之间访问同一资源的同步性问题,synchronized关键字,可以保证被它修饰的方法或者代码块在任意时刻,只能在一个线程运行。 2、jdk1.6之前性能比较低,之后引入了大量的优化, 阅读全文
posted @ 2021-04-07 15:04 majingyun 阅读(74) 评论(0) 推荐(0) 编辑
摘要: JMM (java memary model java内存模型) 一、CPU架构缓存一致性 现在计算机都加高级缓存,让运算速度加快,在运算过程中把某些变量放到高级缓存里面,等运算结束以后,再从高级缓存同步到内存中,这样避免IO读写过慢CPU的空闲。 加入高级缓存会带来问题,带来缓存一致性的问题,在多 阅读全文
posted @ 2021-04-02 13:38 majingyun 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 一:Dubbo集群容错 1、Failover Cluster 失败自动切换,当出现失败,重试其它服务器通常用于读操作,但重试会带来更长延迟。可通过retries = “2”来实现重试次数(不含第一次)。 <dubbo:reference retries="2"/> 1、Failfast Cluste 阅读全文
posted @ 2021-03-31 19:31 majingyun 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 一、redis简介 Redis是开源的,数据结构存于内存中,被用来作为数据库、缓存和消息代理!它支持多种数据结构,例如:字符串、Hash、list、set、zset(带范围查询的排序集合)。Redis具有内置的复制、LUA脚本、LRU逐出,事务和不同级别的磁盘持久性,并通过Redis Sentine 阅读全文
posted @ 2021-03-21 11:20 majingyun 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 目的:为了解决商城在使用搜索引擎,搜索结果不准确的问题,利用hancks中文分词器、xxljob实现slor分词的更新。 一、新建springBoot项目,在启动时建表 @Componentpublic class ParticipleApplicationRunner implements App 阅读全文
posted @ 2021-03-12 16:18 majingyun 阅读(43) 评论(0) 推荐(0) 编辑
摘要: MyBites源码 SqlSession sqlSession = sqlSessionFactory.openSession();PersonMapper personMapper = sqlSession.getMapper(PersonMapper.class);Person person = 阅读全文
posted @ 2021-03-11 18:02 majingyun 阅读(87) 评论(0) 推荐(0) 编辑
摘要: Mybatis 1、配置文件 1)<properties resource="sqlmap/mybatis/mysql/jdbc.properties"/> 加载数据库连接的相关信息 2)<setting name="autoMappingBehavior" value="PARTIAL"/> 自动 阅读全文
posted @ 2021-03-09 14:17 majingyun 阅读(58) 评论(0) 推荐(0) 编辑
摘要: Mysql 一、 事务 事务就是一组原子性的SQL查询,或者说是一个独立的工作单元。 开启事务 START TRANSACTION 提交事务 COMMIT 1、 事务原则ACID 1)A (atomicity)原子性 一个事务必须被视为一个不可分割的最小工作单元,整个事务中所有的操作要么全部提交成功 阅读全文
posted @ 2021-03-07 17:33 majingyun 阅读(218) 评论(0) 推荐(0) 编辑
摘要: JVM 一、 jvm的加载流程及内存模型 每一个线程都有自己的程序计数器、都有自己的native方法,jvm栈,比如Student student1 = new Strudent();student1是私有的。引用是私有的放在栈里面。new Strudent()是公有的,放在堆里面,因为多个引用可以 阅读全文
posted @ 2021-03-06 19:08 majingyun 阅读(75) 评论(0) 推荐(0) 编辑