自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (4)
  • 收藏
  • 关注

原创 AQS源码解析

//加锁从 先看一下 acquire方法开始 public final void acquire(int arg) { //查看是否能获取锁,如果获取锁直接结束 ,未获取锁,调用 addWaiter 方法,Node为独占锁 if (!tryAcquire(arg) && //调用addWaiter 加入等待队列,并且加入...

2020-04-28 11:15:31 216

原创 多线程拆分任务学习

package com.pendanaan.utils;import java.util.*;import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concur...

2020-03-09 18:55:32 816

原创 3年java面试

请写出一个单例模式 (饿汉式 懒汉式)请写出一个生产者消费者模型, wait notify 等待通知, 加锁threadLocal是干什么用的, 是 线程内独享变量,但在方法和类中共享...

2019-11-12 17:32:29 248

原创 orcale left join on 后面条件不生效

left join 查询保证所有左表的行,on里的条件只针对右表起作用。

2023-01-29 10:25:19 288

原创 es bulk update 时间格式

es

2022-11-16 11:05:23 381

原创 es bulk update 时间格式

es

2022-11-16 10:53:02 143

原创 es bulk update 时间格式

es

2022-11-16 10:52:11 220

原创 redis缓存和数据库一致性

redis 数据库双写一致性

2022-04-08 10:32:56 1147

原创 ES相同条件不同的搜索结果

es

2022-03-31 17:46:57 508

原创 mysql的MVCC多版本控制

在 read_view 视图中 有几个重要参数up_limit_id 最小水位值low_limit_id 最大水位值data_trx_id 事务IDtrx_ids 活跃的事务ID 当前事务是未提交的m_trx_ids 活跃的事务列表长度在MVCC中,只针对select无锁模式进行MVCC多版本控制,有锁 for update lock.

2022-03-21 21:42:04 501

原创 Redisson看门狗和加锁

首先抛出一个问题 redis 的分布式锁什么时候可能会有问题?简单的来说说第一个问题是 redis锁的时候, 线程A进入加锁成功,设置过期时间为5s,开始执行业务内的方法,但是业务在5s内没有执行完,锁被redis失效了,则线程B加锁成功,B开始执行了业务,也就是说这个锁已经失效了,此方法变成了多线程共同执行的方法第二个问题是 还是上面复述,这时候A执行完了,去解锁,发现把B线程的锁给解除了说说解决办法,第一种情况,可以把时间加长,但不是根本解决办法,因为你不知道业务具体要执行多久,那么另

2022-03-20 18:28:53 1128

原创 Spring加载流程

主要的方法在于 obtainFreshBeanFactory() 此方法是根据外部的xml配置文件获取了BeanDefinition数据,装载在map中,以便于之后使用其次的方法在于getBean()方法, 此方法调用了 doGetBean()方法1). 先从缓存中读取单例有无,如果有直接返回Bean2). 如果没有,那么获取Bean定义的信息,看Bean是否有依赖, (如果有依赖,则继续调用getBean方法去获取)没有依赖,则直接调用getSingleton()方法,此方法调用cerateBe.

2021-12-06 16:07:27 893

原创 redis淘汰策略

noeviction: 如果内存使用达到了maxmemory,client还要继续写入数据,那么就直接报错给客户端allkeys-lru: 就是我们常说的LRU算法,移除掉最近最少使用的那些keys对应的数据volatile-lru: 也是采取LRU算法,但是仅仅针对那些设置了指定存活时间(TTL)的key才会清理掉allkeys-random: 随机选择一些key来删除掉volatile-random: 随机选择一些设置了TTL的key来删除掉,但仅限于在过期集合的键。volatile-ttl:

2021-04-19 16:07:56 99

原创 配置超时 熔断

//超时vision-service:ribbon://链接超时ConnectTimeout: 500//timeout超时ReadTimeout: 2000//熔断hystrix:command:VisionServiceClient#uploadStorage(StorageUploaderDto):execution:isolation:strategy: SEMAPHOREsemaphore:maxConcurrentRequests: 20thread://熔断时

2021-01-28 15:08:41 354

原创 HashMap hash方法与indexFor 方法

//put方法时候使用的扰动函数static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16); }//获取table中的位置static int indexFor(int h, int l...

2020-04-24 15:16:35 333

原创 Synchronized对象锁和类锁

简单的来说, Synchronized 如果作为方法, 那么锁的粒度是 实例对象static Synchronized 作为方法, 那么锁的粒度是 类 不同实例 也会被限制, A.invoke() B.invoke() 不能同时访问pulbic class Something(){ public synchronized void isSyncA(){} p...

2020-04-23 15:39:04 208

原创 数据库动态读写分离 使用readOnly=true使用从库

/**读写库与只读库自动切换的Datasource定义。 当定义为@Transactional(readOnly = true) 时,自动切换到只读库。Aws本身支持多个只读库的负载均衡,此处不做多个只读库的设计。@date 2018/9/19*/@Slf4jpublic class PendaRwDataSource extends AbstractRoutingData...

2020-02-19 10:46:31 1569

原创 transmittablethreadlocal使用

1.因项目需要全链路传出 一些app内的值,最开始使用了 ThreadLocal 发现,在异步方法中, 子线程并不能获取到主线程的 threadlocal参数 ,2. 于是乎, InheritableThreadLocal 父类传递子类线程threadlocal出现了,但是我们的项目是 使用的线程池 ,于是这种方法也不行,因为线程池是复用了线程,如果一个子线程已经使用过,并且会set...

2020-01-03 16:19:53 1592

原创 恭喜1024

1024来个徽章

2019-10-24 13:13:25 176

原创 使用countdownlatch拆分任务踩坑记录

1.因有个需求, 此需求是需要单查数据才可以查询准确的数据,但是前台参数是 按月份查询,所以需要查询月区间的每天的数据2.使用countdownlatch3.使用 private static ExecutorService executorService = Executors.newFixedThreadPool(5);4.举例 8.1 - 9.30号,查看区间有多少天, 分割成...

2019-10-17 11:05:42 831

原创 controller层处理异常还是service处理异常

1.是 controller处理异常2.service层中使用spring 事务, 处理异常之后需要再次抛出 ,如果service处理了异常,那么事务就不会回滚

2019-08-31 11:12:35 10038

原创 Ribbon

ribbon.eager-load.enabled=trueribbon.eager-load.clients=cloud-shop-userserviceribbon.eager-load.enabled : 开启Ribbon的饥饿加载模式ribbon.eager-load.clients: 指定需要饥饿加载的服务名...

2019-08-14 16:55:10 138

原创 Hystix熔断器使用

接口创建@FeignClient(name = “account-service”, fallbackFactory = CollegeServiceFallBackFactory.class)public interface CollegeServiceClient {}实现类 实现 FallbackFactory@Componentpublic class CollegeSer...

2019-08-14 16:53:37 170

原创 Countdownlatch , CyclicBarrier , Semaphore类

1.countdownlatch多数用于任务拆分2.public class CountDownLatchExample {public static void main(String[] args) throws InterruptedException {CountDownLatch latch = new CountDownLatch(20);Service service = ...

2019-06-17 11:07:48 164

原创 线上内存泄漏排查

发现linux上服务 刚启动的时候是 占用700MB,一直在跑商品同步,初步怀疑是商品同步的时候导致内存泄漏开始排查 ps -aux|grep tomcat 使用查看内存 发现占用 2.5G查看到 端口是 47407 使用 jmap -dump:live,format=b,file=heap5.hprof 47407生成快照 heap.hprofidea安装 j...

2019-06-10 13:02:37 864

原创 hs_err_pid文件

1.查看tomcat日志2.jvm直接停掉, 产生 hs_err_pid文件3. 查看hs_err_pid 文件,发现有两种情况,4. 物理内存不够,导致 out of memory 线程数达到上限5. 查看linux 服务器 内存,发现够用, 那么只有可能是 线程数达到上限6. ulimit -n 查看 openfile 发现 是 10247....

2019-06-04 10:36:36 9981

原创 maven

1.maven项目,只要用的同一个本地仓库2.A项目用了B项目的service, 只要B项目重新install一次,这个jar包就到了本地仓库,A项目就可以用上了,就不会报错了...

2019-04-11 15:31:59 131

原创 jvm参数说明,tomcat参数说明

1.-Xmx 2000m:设置JVM最大堆内存为2000M。2.-Xms 2000m : 设置JVM最小堆内存为2000M.3.-Xss 1m:设置每个线程的栈大小。4.-Xmn 2g:设置年轻代大小为2G。5.-XX:NewSize=1024m:设置年轻代初始值为1024M。6.-XX:MaxNewSize=1024m:设置年轻代最大值为1024M。7.-XX:PermSize=...

2019-03-18 16:27:52 563

原创 jvm原理

1.jvm是java虚拟机2.jvm 有 方法区,java堆,java栈,本地方法栈,程序计数器3.jvm 垃圾回收 算法有 标记清除算法,标记整理算法,复制算法,分代收集算法4.判断对象是否存活 两种办法 1.程序计数器 2.可达性分析5.jvm 的类加载器 是 自底向上检查, 自上向下加载bootstrap classloader extension...

2019-03-15 11:20:29 176

原创 后台管理系统设计

1.后台管理系统设计 可以与数据库结合controller层定义抽象类,定义获取 当前 界面展示的字段, 按钮 ,设置是否可以为空,分为 读取 表头 和 数据,可以将表头数据放入缓存中,同步内存将修改的 同步到 内存 这样加载会比较快2. 角色控制,权限控制,回显自动加载3. 提交接口 可以定义 当前controller 和 一些其他的唯一属性,可以定义调用某某某个cont...

2019-01-10 15:25:07 3203

原创 controller层 trycatch不影响service层抛出的异常

1.controller层 trycatch不影响service层抛出的异常 因为 service层利用spring的aop控制异常, 而controller层 try catch 不影响, aop完成之后,才会到controller层,所以不影响,但如果在service try catch 一定要抛出异常 否则 不回滚, @Transactional(rollbackFor = ...

2018-10-16 13:54:06 9423 4

原创 redis加锁控制

1.redis加锁 需要看 加锁的是什么方法 ,比如买标的, 加锁的就是要 加锁标的 id,加锁活动 加锁活动的id 其他的类似, 共享数据 需要加锁,防止用户过多造成并发问题...

2018-05-18 10:26:58 580

原创 linux下安装redis

1.下载redis2.解压redis tar zxvf redis-3.2.11.tar.gz3.安装gcc yum install gcc-c++ 电脑必须能上网 才能这样安装4.进入redis目录5.使用make命令编译6.运行make test 运行不了 是因为没有安装 TCL7.**1、先去这里下载: http://do...

2018-04-25 12:42:24 155

原创 ContextLoaderListener作用

1.ssm框架搭建的时候 web.xml中有 org.springframework.web.context.ContextLoaderListener 这个ContextLoaderListener 初始化WebApplicationContext 这个上下文 作为一个根上下文存在的,所以初始化它之后,两个配置文件扫描的东西 互相可以访问 ContextLoaderLi...

2018-04-03 20:37:59 482

原创 currenthashmap为什么比hashmap自己加锁效率要高

因为currenthashmap将数据分段,分成一段一段的,每一段都加锁,锁分离技术,访问的时候,访问第一段数据,第一段加锁,第二段没有锁,其他线程还是可以访问第二段的数据的,所以比自己hashmap加锁的效率要高...

2018-03-28 14:58:16 1555

原创 2018.3.27面试

1.hashmap key null 值也是 null 在存点其他的数据,排序情况 答: null = null 始终位于0号位,其他的无序 2.hashmap初始化多大,arraylist初始化多大 hashmap初始化 16 arraylist初始化 10 3. i+1 < i 答 : 有可能 byte i = 127 ; (byte)i+...

2018-03-27 16:43:28 184

原创 消息队列作用

1.消息队列主要是用于快速给用户返回信息 2.在service层,将信息存入消息队列中,然后立刻给客户返回成功,客户不必等待,在消息队列中的消息,可以用多线程处理,增加程序反应速度 3....

2018-03-26 18:48:43 847

原创 Redis的主从复制

1.读写分离,容灾恢复 master 主 负责写 , slave 从 负责读 从机无法写入数据 主机死机,slave还是slave slave只要跟master断开连接了,就需要重新链接,否则slave会变成重新的一个 master,除非配置进 redis.conf 配置文件2.配置从库,不配置主库 从库配置 slaveof 主库IP3.操作 ...

2018-03-09 14:23:40 173

原创 redis事务以及锁

1.redis事务是一组命令的集合,串行序列化的执行,不允许加塞2.MULTI 这个是标记一个事务块的开始 EXEC 执行事务块中的所有命令 4.放弃事务 如下图最后所示 5.. 事务全失败 , 直接报错 , 命令错误,error 只要有一个失败 全失败,不加入队列 6.命令无错误,但对于数据无法递增,只会这一个失败,加入队列 7.wa...

2018-03-08 17:41:42 441 1

原创 redis RDB和AOF区别

RDB持久化 1.如何触发RDB快照 配置文件中的默认触发 save命令 : 会阻塞 bgsave命令 :异步不会阻塞 2.如何恢复 redis-check-dump 修复 直接移动 dump.rdb 到redis安装目录,启动服务就可以恢复 3.优势 适合大规模数据恢复,对数据性的完整性和一致性要求不高 4.劣势 一定时间...

2018-03-08 16:47:48 1791

Tangid.jar

idea主题

2019-11-06

ExportUtils.java

通用到处 excel 111

2019-08-29

consul.exe

微服务提供注册和调用的 consul

2019-08-29

MyBatisCodeHelper-Pro-2.0.1-IDEA173-IDEA182.zip

mybatiscodehelpe|

2019-08-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除