- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 分布式缓存和用本地缓存的使用场景分别是什么
通过多级缓存平衡性能与一致性(如 Caffeine + Redis)支持丰富的数据结构(Hash、Set、SortedSet等)数据直接存储在应用进程内存中,读写速度极快(纳秒级):数据需跨节点共享、强一致性、大数据量、高可用需求。:追求极致性能、数据无需共享、单机可容纳的场景。示例:用户会话(Session)、分布式锁。本地缓存存储高频热点数据(如用户基础信息)示例:电商商品详情页缓存(千万级SKU)如系统配置参数、静态字典表、元数据等。分布式缓存存储全量数据(兜底)示例:单机部署的后台管理系统。
2025-04-14 16:32:30
238
原创 FeignClient
FeignClient注解及参数一、FeignClient注解 FeignClient注解被@Target(ElementType.TYPE)修饰,表示FeignClient注解的作用目标在接口上 1 2 3 4 5 @FeignClient(name ="github-client", url ="https://api.github.com", configuration = jdpf.class) publicin....
2022-07-06 13:30:16
196
原创 docker搭建maven私服
# 搜索镜像docker search nexus# 拉取镜像docker pull sonatype/nexus3# 创建挂载目录mkdir /usr/local/work/maven# 赋权限chmod 777 /usr/local/work/maven# 运行容器 设置大小docker run -d --privileged=true --name=nexus3 -p 5000:5000 -p 8081:8081 /usr/locl/work/maven:/var/nexu
2022-05-17 15:31:52
559
原创 Lucene全文检索框架
全文检索是指:通过一个程序扫描文本中的每一个单词,针对单词建立索引,并保存该单词在文本中的位置、以及出现的次数用户查询时,通过之前建立好的索引来查询,将索引中单词对应的文本位置、出现的次数返回给用户,因为有了具体文本的位置,所以就可以将具体内容读取出来了...
2021-06-17 14:13:50
138
原创 JVM内存模型
内存模型概览:线程栈中包含了局部变量表,操作数栈,动态链接和方法出口JVM内存参数设置:Spring Boot程序的JVM参数设置格式(Tomcat启动直接加在bin目录下catalina.sh文件里):1 java ‐Xms2048M ‐Xmx2048M ‐Xmn1024M ‐Xss512K ‐XX:MetaspaceSize=256M ‐XX:MaxMetaspaceSize=256M ‐jar microservice‐eureka‐server.jar关于元空间的JVM参数有两个:-X
2021-05-13 15:59:04
87
原创 双亲委派模式
双亲委派机制:加载某个类时会先委托父加载器寻找目标类,找不到再委托上层父加载器加载,如果所有父加载器在自己的加载类路径下都找不到目标类,则在自己的类加载路径中查找并载入目标类。AppClassLoader的loadClass方法最终会调用其父类ClassLoader的loadClass方法,该方法的大体逻辑如下:首先,检查一下指定名称的类是否已经加载过,如果加载过了,就不需要再加载,直接返回。如果此类没有加载过,那么,再判断一下是否有父加载器;如果有父加载器,则由父加载器加载(即调用parent.l
2021-05-12 15:47:34
187
原创 JVM类加载器
引导类加载器:负责加载支撑JVM运行的位于JRE的lib目录下的核心类库,比如rt.jar、charsets.jar等扩展类加载器:负责加载支撑JVM运行的位于JRE的lib目录下的ext扩展目录中的JAR类包应用程序类加载器:负责加载ClassPath路径下的类包,主要就是加载你自己写的那些类自定义加载器:负责加载用户自定义路径下的类包类加载器初始化过程:创建JVM启动器sun.misc.Launcher。sun.misc.Launcher初始化使用了单例模式设计,保证一个JVM虚拟机内
2021-05-12 13:53:16
85
原创 loadClass的类加载过程
加载 >> 验证 >> 准备 >> 解析 >> 初始化 >> 使用 >> 卸载加载:在硬盘上查找并通过IO读入字节码文件,使用到类时才会加载,例如调用类的main()方法,new对象等等,在加载阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口验证:校验字节码文件的正确性准备:给类的静态变量分配内存,并赋予默认值解析:将符号引用替换为直接引用,该阶段会把一些静态方法(符号引
2021-05-12 10:14:31
225
原创 Mysql触发器创建和使用
在MySQL中,创建触发器语法如下:CREATE TRIGGER trigger_nametrigger_timetrigger_event ON tbl_nameFOR EACH ROWtrigger_stmt其中:trigger_name:标识触发器名称,用户自行指定;trigger_time:标识触发时机,取值为 BEFORE 或 AFTER;trigger_event:标识触发事件,取值为 INSERT、UPDATE 或 DELETE;tbl_name:标识建立触发器的表名,即
2021-05-08 11:29:22
324
原创 批量生成png格式的二维码并打包成zip上传文件服务器提供下载
/** * 生成二维码 * * @param content 二维码的内容 * @return BitMatrix对象 bit matrix * @throws IOException the io exception */public static byte[] createCodeBytes(String content) { //二维码的宽高 int width = 200; int height = 200; //其他参数,如字符集编码 Ma.
2021-04-21 09:36:07
363
原创 无限循环写法 for 和 while区别
方式一: for(;;)编译后 jmp foo+23h 方式二:while(ture)编译后 :mov eax,1 test eax,eax je foo+23h jmp foo+18h总结:方式一指令少,不占用寄存器也不需要判断跳转,推荐使用 for(;;),这也是底层源码用得多的方式...
2020-10-19 09:58:33
696
原创 阿里云服务器ECS构建项目部署环境(一)
下载并配置JDK1.8_181 链接: https://pan.baidu.com/s/1VfQUiqdVPpd8n-ePLH-byA 提取码: rrrg安装位置:/usr/local/1:解压命令:tar -zxvf jdk-8u181-linux-x64.tar.gz2:配置环境变量vim /etc/profile3:在底部加入:export JAVA_HOME=/usr/local/jdk1.8.0_181export CLASSPATH=.:$JAVA_...
2020-05-27 22:51:24
470
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人