- 博客(24)
- 收藏
- 关注
原创 redis
脏读,在复杂点的缓存场景,缓存不单单是数据库中直接取出来的值。更新缓存的代价有时候是很高,用到缓存才去算缓存。3种方案保证数据库与缓存的一致性。
2025-04-16 14:22:19
712
原创 Elasticsearch
核心概念节点集群分片 Shards索引 Index类别 Type文档 DocumentSettingsMapping对比关系型数据库别名倒排索引节点自动发现机制分片与路由。
2025-04-15 22:29:04
682
原创 ElasticJob
ElasticJob 不允许作业在同一时间内叠加执行。当作业的执行时长超过其运行间隔,错过任务重执行能够保证作业在完成上次的任务后继续执行逾期的作业。对于未见得关注单次作业的实时性的短间隔的作业来说,开启错过任务重执行并无必要。ElasticJob 为每个作业单独创建线程池,核心线程数和最大线程数均为 CPU 核心数 × 2,队列采用无界 LinkedBlockingQueue。默认分片策略:AverageAllocationJobShardingStrategy。
2025-04-14 21:00:38
946
原创 sharding-jdbc
从库(Slave):负责处理读操作(SELECT),支持多个从库以分摊读压力。负载均衡策略(如轮询、随机、权重)选择一个从库。主库(Master):负责处理写操作(INSERT/UPDATE/DELETE)和强一致性读操作。透明路由:Sharding-JDBC 根据 SQL 类型自动将写操作路由到主库,读操作路由到从库。1.通过 分片规则解析、SQL 路由改写、分布式执行归并 三大核心机制实现分库分表。主从同步:依赖数据库自身的主从复制能力(如 MySQL 的 Binlog 同步)。
2025-04-14 20:55:02
180
原创 dubbo
接口级别的配置信息由消费者与提供者之间自行协商同步,不再由注册中心负责同步,从而大大减少了注册中心地址同步压力。当设置 registry.check=false 时,记录失败注册和订阅请求,后台定时重试。notify 监听到配置中心对应的URL的变化,然后更新本地的配置参数。当提供者出现断电等异常停机时,注册中心能自动删除提供者信息。会自动从注册中心更新Invoker列表、配置信息、路由列表。当注册中心重启时,能自动恢复注册数据,以及订阅请求。当会话过期时,能自动恢复注册数据,以及订阅请求。
2025-04-07 21:04:12
713
原创 java并发
jstack pid > 文件名 dump线程信息 命令。如何减少上下文切换(竞争锁时,消耗性能)synchronized 重量级锁。(1) AFS:正确性优先。并发leetcode题。Executor框架。
2025-03-26 14:34:05
522
原创 DBserver 画ER图
免费中文版:https://objects.githubusercontent.com/github-production-release-asset-2e65be/44662669/a50b521a-2861-4826-8dfb-48b9da32f1f3?比如这里我先点newtable2,再点newtable,则表示newtable2的主键依赖于newtable。参考帮助文档:https://dbeaver.com/docs/dbeaver/Custom-Diagrams/23.3/
2024-09-06 17:44:01
3167
1
原创 RocketMQ的可靠性
消息队列是一种基于队列与消息传递技术,用于在分布式系统中进行异步通信的服务。不用知道具体的服务在哪,如何调用。你要做的只是将该发送的消息,向约定好的地址进行发送,任务就完成了。对应的服务能监听到你发送的消息,进行后续的操作。这就是消息队列最大的特点,将同步操作转为异步处理,将多服务共同操作转为职责单一的单服务操作,做到了服务间的解耦。
2024-02-26 15:20:44
1426
1
原创 AQS原理分析(ReentrantLock)
Java中实现锁的基础,AQS是一种提供了原子式管理同步状态、阻塞和唤醒线程功能以及队列模型的简单框架。原理概述:基于管程原理进行实现。它维护了一个共享资源 state 和一个由双向链表实现的等待队列(即上文中管程的入口等待队列),底层利用了 CAS 机制来保证操作的原子性。
2022-08-24 11:10:36
632
原创 面试考点梳理(初步
静态代理作用:通过代理对象访问目标对象(即被代理的对象),在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。代理类 即目标类(原始类) +加上额外功能 因为要屏蔽实现细节,所以它是和目标类实现的是相同的接口但是,静态代理有一个缺点就是如果我想为每一个目标类的接口扩展相同的额外功能,那么就需要为每一个原始类,手动创建一个代理类,会造成代码冗余动态代理,通过反射生成代理类要扩展一个类有常见的两种方式,继承父类或实现接口,所以常见的有:JDK 动态代理和 CGLIB 动态代理CGLIB通过字节
2022-07-11 20:22:45
476
原创 spring-AOP编程
JavaEE层次中哪层最重要Service 层中包含了哪些代码?Service层 = 核心功能(几十上百行代码) +额外功能(附加功能)额外功能书写在Service层中好不好?现实中的问题和解决办法:租房场景:2.代理设计模式2.1概念通过代理类,为原始类添加额外的功能好处:利于目标类维护2.2名词解释目标类 原始类指的是 业务类(核心功能—→ 业务运算 Dao调用)目标方法,原始方法指的是 业务类中的方法(核心功能—→ 业务运算 Dao调用)额外功能(附加方法)日
2022-07-11 19:54:15
399
原创 SSM原理总结
spring-IoC一、前言及环境搭建1.什么是springEJB需要运行在EJB容器中,但是Tomcat的核心是servlet引擎,没有EJB容器,其他服务器不开源且需要收费,而且EJB代码运行在各种服务器中要实现每种服务器的接口,因此移植性差,所以它是重量型框架spring对运行环境没有要求,移植性好,不需要实现各种服务器的接口整合设计模式Spring中一共用到了9种设计模式。单例(Singleton)简单工厂(不是在23种设计模式中)工厂方法(Factory Met
2021-10-15 17:46:55
1422
1
原创 虚拟主机部署drupal7网站
用的是西部数码的liunx虚拟主机,配置如下。一、将网站的文件和数据库文件通过ftp上传到主机上使用FileZilla软件上传网站程序和数据库FileZilla 软件下载地址:http://downinfo.myhostadmin.net/FileZilla_3.48.0_win64.zip解压下载的文件,打开exe文件主机输入域名,用户名密码分别是FTP账户和密码选择要上传的文件到主机的wwwroot目录下二、绑定域名测试时可用主机所提供的上传网址三、导入数据库进入虚拟主机管理页
2021-01-21 18:08:52
234
原创 word2vec学习总结
词向量定义词向量定义:机器通过读大量文档无监督学习词的意思。其过程如图所示,向神经网络输入一个词,找到对应的词向量,这个词向量是多维的投影到二维空间,可以看到,越相似的词距离越接近,学习是无监督的:训练时不能判断输出是否正确词向量发展词向量的发展最开始是将世界上所有词都用one-hot表示 one-hot即只有一维是1,其余全0,但是所有向量是正交的不能表示词之间的相似度,然后想到将词分成不同类,但是类之间的相似度不能展现出来,如图所示,class 1和class 3都是生物比class2 更相似
2021-01-14 16:23:47
658
原创 Ubuntu18.04 安装drupal7的坑
找到一个好的教程最重要下面这个教程比较靠谱https://www.howtoing.com/install-drupal-in-ubuntu-debian/一、LAMPdrupal7估计是十几年前的东西了,所以依赖的环境都是旧版本的,还不兼容,所以得找准版本,MySQL需要安装5.x而不是8.x版本的,PHP最好也要安装5.3附近版本的二、Error: Call to undefined function field_attach_load()错误因为我重装了几次drupal ,所以进入安装界面
2020-12-10 19:27:58
389
1
原创 研究生学习生活计划(持更)
研0计划介绍下自己的情况,本硕都是双非,在一家国企实习过两个月主要负责asp.net项目,现在在家闲得长毛,看到开学10月9号,感觉自己不能再颓废下去所以重新思考下人生。一.关于自己现状的反思首先本人当初考研的目的是:1.提升自己的学历。想着自己本科双非想要通过考研让自己的学历更靓眼,但是我备考期间没有很认真,隔三岔五就放自己一天假完全不学习,而且报考院校也很难考,985的学硕,最后差分数线十几分,调剂到了广州一所普通一本。2.职业规划。我特别希望当大学老师,但是好的大学的老师不是留学深造就是98
2020-07-22 16:52:03
819
1
原创 maven逆向工程所遇到的问题总结
一、 配置generatorConfig.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://m...
2020-04-05 14:32:34
573
原创 spring和springboot区别
springboot消除了设置Spring应用程序所需的XML配置Spring Boot中的一些特征:创建独立的Spring应用。嵌入式Tomcat、Jetty、 Undertow容器(无需部署war文件)。提供的starters 简化构建配置尽可能自动配置spring应用。提供生产指标,例如指标、健壮检查和外部化配置完全没有代码生成和XML配置要求链接:https://www....
2020-04-03 21:21:43
291
原创 ssm框架从0开始学习笔记---电商项目(登陆页面)
数据表设计2. json到maven库导包 com.fasterxml.jackson.core jackson-core 2.8.9 com.fasterxml.jackson.core jackson-databind 2.8.9@RestController注解组合注解@Target(ElementTy...
2020-03-28 23:49:31
363
原创 java笔试知识点(一)
**1.下面有关JVM内存,说法错误的是?**ca程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的b虚拟机栈描述的是Java方法执行的内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的c方法区用于存储JVM加载的类信息、常量、静态变量、以及编译器编译后的代码等数据,是线程隔离的d原则上讲,所有的对象都在堆区上分配内存,是...
2020-03-11 17:08:41
230
原创 ssm框架从0开始学习笔记---电商项目(搭建ssm框架)
储备知识—Java基础知识,MySQL,servlet#** 1.servlet知识补充**Servlet的作用是处理请求,服务器会把接收到的请求交给Servlet来处理,在Servlet中通常需要:接收请求数据;处理请求;完成响应。每个Servlet必须实现javax.servlet.Servlet接口。Servlet对象驻留在服务器内存中。##编写一个Servlet程序pac...
2020-03-07 23:11:22
312
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人