摘要: 常见分库分表中间件 目前主要有两种类型的分库分表中间件,一种是基于Proxy代理,另一种是基于JDBC的。 Proxy: 1. Mycat:基于阿里巴巴的Cobar进行二次开发的。 2. Atlas:360公司基于Mysql-proxy所开发的。 JDBC: 1. ShardingSphere。 2 阅读全文
posted @ 2022-02-12 14:32 songguojun 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 什么是锁 在高并发的环境下,多个线程会同时对同一个资源进行争夺,比如对某个数据的修改,那么可能会导致该数据不一致的问题。所以为了解决这个问题很多编程语言引入了锁机制,通过一种抽象出来的锁来对资源进行锁定,只有获得锁的线程才能对该资源进行修改,从来保证数据的安全。 那么Java中的锁机制是什么样的呢? 阅读全文
posted @ 2021-10-10 22:15 songguojun 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 什么是Java线程模型 因为Java字节码运行在JVM中,而JVM运行在各个操作系统上,所以当JVM想要进行线程创建和回收的这种操作时,是必须要调用操作系统的相关接口,也就是说JVM线程与操作系统线程之间存在着某种映射关系。 这两种不同维度的线程之间的规范和协议呢,就是线程模型。有人可能要问了那为什 阅读全文
posted @ 2021-10-10 18:24 songguojun 阅读(81) 评论(0) 推荐(0) 编辑
摘要: Mybatis和JPA对比 Mybatis的优势: Sql语句可以自由控制,更加灵活,性能相对于JPA较高。 SQL和代码分离,易于阅读和维护。 提供xml标签,支持编写动态SQL语句,比如添加if等逻辑判断。 Mybatis的劣势: 简单的CURD依然还需要写SQL语句。 XML中有大量的SQL语 阅读全文
posted @ 2021-05-26 00:16 songguojun 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境。 JRE:Java Runtime Environment 的简称,Java 运行环境,为 Java 的运行提供了所需环境。 具体来说 JD 阅读全文
posted @ 2021-05-24 15:50 songguojun 阅读(132) 评论(0) 推荐(0) 编辑
摘要: Golang的错误设计相比php和java要简单明了。Golang是通过声明error类或者调用errors包中的New函数来实现的一种非常简单的错误处理机制。 Go 语言为错误处理定义了一个标准模式,即 error 接口,该接口的定义非常简单: type error interface { Err 阅读全文
posted @ 2021-05-19 22:34 songguojun 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 为什么需要内存分配器 系统的物理内存是有限的,而对内存的需求是变化的, 程序的动态性越强,内存管理就越重要,选择合适的内存管理算法会带来明显的性能提升。 比如nginx, 它在每个连接accept后会malloc一块内存,作为整个连接生命周期内的内存池。 当HTTP请求到达的时候,又会malloc一 阅读全文
posted @ 2021-04-17 14:43 songguojun 阅读(666) 评论(0) 推荐(0) 编辑
摘要: 官网:http://dubbo.io/ 下面表格是对上面节点作用说明: Provider 暴露服务的服务提供方 Consumer 调用远程服务的服务消费方 Registry 服务注册与发现的注册中心 Monitor 统计服务的调用次数和调用时间的监控中心 Container 服务运行容器 阅读全文
posted @ 2021-03-06 00:32 songguojun 阅读(45) 评论(0) 推荐(0) 编辑
摘要: Spring Cloud简介 Spring Cloud官网:https://www.springcloud.cc/ Spring Cloud并不是一个框架,而是Spring为微服务提供一站式解决方案。 Spring Cloud底层是基于Spring Boot实现的云应用开发。 Spring Clou 阅读全文
posted @ 2021-02-28 16:53 songguojun 阅读(329) 评论(0) 推荐(0) 编辑
摘要: Java 语言在设计之初就引入了线程的概念,以充分利用现代处理器的计算能力,这既带来了强大、灵活的多线程机制,也带来了线程安全等令人混淆的问题,而 Java 内存模型(Java Memory Model,JMM)为我们提供了一个在纷乱之中达成一致的指导准则。 Happen-before 原则简单理解 阅读全文
posted @ 2021-02-26 17:10 songguojun 阅读(144) 评论(0) 推荐(0) 编辑