自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 消息中间件

我们当时MYSQL和Redis的数据双写一致性就是采用RabbitMQ实现同步的,这里面就要求了消息的高可用性,我们要保证消息的不丢失。

2024-09-13 20:38:19 570

原创 微服务

提供了两种方式:1,创建类实现IRule接口,可以指定负载均衡策略,这个是全局的,对所有的远程调用都起作用2,在客户端的配置文件中,可以配置某一个服务调用的负载均衡策略,只是对配置的这个服务生效远程调用。

2024-09-13 16:33:24 549

原创 数据库相关

结构化查询语言(Structured Query Language)简称SQL,用于存取数据以及查询、更新和管理关系数据库系统结构化查询语言包含6个部分:1、数据查询语言(DQL: Data Query Language):其语句,也称为“数据检索语句“,用以从表中获得数据,确定数据怎样在应用程序给出。保留字是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其它类型的SQL语句一起使用。

2024-09-10 23:42:15 1087

原创 达梦数据库

目录达梦数据库兼容模式设置服务管理数据库与实例逻辑存储表空间段簇页(数据块)记录物理存储架构配置文件控制文件数据文件重做日志文件归档日志文件逻辑日志文件物理逻辑日志文件备份文件SQL 日志文件事件日志文件达梦数据库国产达梦数据库在初始化数据库实例时会涉及到数据库标识如端口号的配置,也有页大小、字符集等参数的初始化配置,其中一些参数是作用在数据库实例的整个生命周期内的,一旦初始化不能修改。在实际使用过程中这些参数的

2024-09-10 23:34:39 1961

原创 MySql

in把外表和内表做hash连接;existsi是对外表做loop循环,每次loop循环再对内表进行查询如果两个表大小相当,两者效率差别不大如果一个大表,一个小表,则子查询表大的用exists,子查询表小的用in如果使用了not in,那么内外表都进行全表扫描,没有用到索引。not exists的子查询依然能使用到索引,所以无论哪个表大,用not exists都比not in 效率快。

2024-09-10 14:57:03 983

原创 JVM

JVM是Java Virtual Machine(Java虚拟机)的缩写,Java程序的运行环境(java二进制字节码的运行环境)引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言的可移植性正是建立在Java虚拟机的基础上(不同系统安装不同版本JVM)。任何平台只要装有针对于该平台的Java虚拟机,字节码文件(.class)就可以在该平台上运行。这就是“一次编译,多次运行”。

2024-09-10 14:18:54 1179

原创 MyBatis

占位符,它有预编译的过程,会对输入参数进行类型解析(如果入参是String类型,设置参数时会自动加上引号),可以防止SQL注入,如果parameterType属性指定的入参类型是简单类型的话(简单类型指的是8种java基本类型再加一个String),#{} 中的变量名可以任意,如果入参类型是pojo,比如是Student类 ${} 通常用于模糊查询,虽然普通的入参也可以用 ${},但由于 ${} 不会做参数类型解析,仅仅是做了字符串的拼接,就存在SQL注入的风险。可以生成简单基础的dao层的方法。

2024-09-10 14:07:42 1601

原创 Spring、SpringMVC、SpringBoot、SpringCloud

也可不写参数名称,但是必须保证参数的顺序是对的。第四,B需要注入A,通过三级缓存中获取ObjectFactory来生成一个A的对象同时存入二级缓存,这个是有两种情况,一个是可能是A的普通对象,另外一个是A的代理对象,都可以让ObjectFactory来生产对应的对象,这也是三级缓存的关键。主要思路是这样的,使用aop中的环绕通知+切点表达式,这个表达式就是要找到要记录日志的方法,然后通过环绕通知的参数获取请求方法的参数,比如类信息、方法信息、注解、请求方式等,获取到这些参数以后,保存到数据库。

2024-09-03 15:43:22 1213

原创 线程

目录线程、进程并行、并发线程创建方式Runnable 、 Callablerun() 、 start()sleep() 、 wait()notify()、notifyAll()submit() 、 execute()线程状态新建三个线程,如何保证按顺序执行如何停止一个正运行的线程线程池创建方式主要组成部分七大核心参数执行原理处理流程拒绝策略五大状态核心线程数阻塞队列如何保证多线程运行安全?如何控制某个方法允许并发访问

2024-09-03 11:10:16 1040

原创 集合

HashSet 在遍历的时候是从数组的0索引开始遍历的,每个索引下都要遍历该索引下对应的链表,当遍历到一个索引,这个索引的值为空时,会跳过,遍历下一个索引,该索引下对应有链表时,就会遍历这个链表,若是红黑树,也会遍历这个红黑树,按这个原则遍历数组,因为某个索引下对应的元素不一定就是存入时的顺序,所以HashSet 在存和取时的顺序也不一定相同。如果遍历完毕仍失败,则使用CAS尾插法插入如果遍历完这个位置的链表仍没有找到相同key的节点,这时会使用CAS尾插法将这个新节点插入到链表的尾部。

2024-09-03 10:57:54 1133

原创 JDBC

第四类: 本地协议驱动 这种驱动直接把jdbc调用转换为符合相关数据库系统规范的请求.由于4型驱动写的应用可以直接和数据库服务器通讯,这种类型的驱动完全由java实现,因此实现了平台独立性。以后编写操作数据库的代码只需要面向JDBC(接口),操作哪儿个关系型数据库就需要导入该数据库的驱动包,如需要操作MySQL数据库,就需要再项目中导入MySQL数据库的驱动包。第二步:获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,重量级的,使用完之后一定要关闭通道。

2024-09-03 10:28:47 812

原创 Nginx

上述方式存在一个问题就是说,在负载均衡系统中,假如用户在某台服务器上登录了,那么该用户第二次请求的时候,因为我们是负载均衡系统,每次请求都会重新定位到服务器集群中的某一个,那么已经登录某一个服务器的用户再重新定位到另一个服务器,其登录信息将会丢失,这样显然是不妥的。单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载均衡分发到不同的服务器,也就是我们所说的负载均衡。nginx 启动后,是由两个进程组成的。

2024-09-03 10:18:09 967

原创 Redis

redis3.0之前只支持单例模式,3.0及以后才支持集群redis集群采用P2P模式,完全去中心化,不存在中心节点或者代理节点redis集群是没有统一的入口的,客户端连接集群的时候连接集群中的任意节点(node)即可,集群内部的节点是相互通信的(PING-PONG机制),每个节点都是一个redis实例;redis-cluster有一个投票容错机制:如果集群中超过半数的节点投票认为某个节点挂了,那么这个节点就挂了(fail)。这是判断节点是否挂了的方法;

2024-09-03 10:00:30 2082

空空如也

空空如也

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

TA关注的人

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