- 博客(5)
- 问答 (1)
- 收藏
- 关注
原创 java缓存
提示读写性能,引入缓存场景是读多写少(偏向读),redis的单价并发差不多10w,mysql单机并发1500(读),写(600-800)redis基于内存操作,读取效率快redis支持多种数据支持:集合,有序集合,字符串,哈希,列表等redis功能强大,主从复制,集群,数据持久化,事务等实现功能:MQ,分布式锁,分布式ID,redis基于c,效率高,离底层较近,单线程优势,可维护性高(引入多线程后,执行顺序不确定,并发读写一系列问题,增加系统复杂度,线程切换,加锁和解锁->死锁,性能损耗)Pipeline(
2024-07-27 08:39:30 419
原创 框架部分总结
面向切面编程,用于将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取公共模块复用,减低耦合记录操作日志(使用aop的环绕通知和切面表达式)获取参数保存下来,缓存,spring实现的事务spring的事务是如何实现的:编程式事务:对代码侵入性太大声明式事务:本质是通过aop功能,对方法前后进行拦截,在执行方法前开启事务,在执行完目标方法之后根据执行情况进行提交或者回滚事务。
2024-07-14 09:16:11 1663
原创 redis基础知识
由于redis master节点和redis salve节点和sentinel处于不同的网络分区,使得sentinel没有能够心跳感知到master,所以通过选举的方式提升了一个salve为master,这样就存在了两个master,就像大脑分裂了一样,这样会导致客户端还在old master那里写入数据,新节点无法同步数据,当网络恢复后,sentinel会 将old master降为salve,这时再从新master同步数据,这会导致old master中的大量数据丢失。
2024-07-05 12:08:11 1632
原创 jvm大致内容后续进行细致补充,有错欢迎指出
复制算法:复制算法是把内存分为同等大小的两块空间,每次就使用其中的一块,在进行垃圾回收时,会把所有存活的对象,复制到另一块空间上面,然后将该空间进行清空,如果内存中的垃圾对象较多,需要复制的对象就较少,这种情况下适合使用该方式并且效率比较高,反之,则不适合。jdk1.7与jdk1.8的区别:在jdk1.8后,方法区(元空间,永久代)移出堆将数据存储在本地内存里面,因为随着动态类的加载,方法区内存会变得不可控,容易导致堆内存不足,方法区主要存在变量,静态变量,类信息,编译后的代码。
2024-06-25 12:19:42 549
原创 最近总结出一点线程八股文,有错误欢迎指出
Synchronized【对象锁】采用互斥的方式让同一时刻至多只有一个线程能持有【对象锁】它的底层由monitor实现的,monitor是jvm级别的对象( C++实现),线程获得锁需要使用对象(锁)关联monitor在monitor内部有三个属性,分别是owner、entrylist、waitset其中owner是关联的获得锁的线程,并且只能关联一个线程;entrylist关联的是处于阻塞状态的线程;waitset关联的是处于Waiting状态的线程。
2024-06-23 10:36:36 1133 1
空空如也
tomcat安装后重新问题
2023-12-08
添加图片出现问题,不怎么怎么解决
2023-10-28
这个6个代码问题怎么解决,各位帮一下
2023-08-18
原码,反码,补码中关于符号的运算
2023-08-18
javadoc文档注释有问题
2023-08-03
javadoc有问题
2023-08-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人