- 博客(10)
- 资源 (6)
- 收藏
- 关注
转载 RPC的通信Netty,Netty的底层是Nio,Java的Io模型你了解多少?
RPC的通信Netty,Netty的底层是Nio,Java的Io模型你了解多少? I/O 模型简单的理解:就是用什么样的通道进行数据的发送和接收,很大程度上决定了程序通信的性能,Java 共支持 3 种网络编程模型/IO 模式:BIO、NIO、AIO。什么是BIO?同步并阻塞(传统阻塞型),服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器 端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销、BIO 方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并
2021-08-17 09:54:05 89
原创 万字长文-MySQL锁原理解析
一、前言 这篇文章的目的是帮助你理解清楚MySQL锁的机制,时间也较为仓促没有足够的精力把各种场景的加锁过程一一列举并加之分析;同时没有太多的精力验证网上的言论的准确性。目前根据我现在了解的内容,同时参考参考官方文档,阐述一下本人当前的理解。本文仅供参考,能力有限,如有错误还望海涵指正。二、版本说明 不同的参数设置,不同版本号,对于结果的影响非常大,所以我将尽可能列出我认为的有用版本号、参数帮助读者重现文中内容。1.数据库版本``mysql> select version();+
2021-08-03 20:32:56 2635
原创 自己动手写-手写一个spring boot starter
自己动手写之手写一个starter 什么是starter?starter是SpringBoot中的一个新发明,它有效的降低了项目开发过程的复杂程度,对于简化开发操作有着非常好的效果。提供一个开箱即用的组件。手写一个starter假设我们有个需求,我们需要序列化一个对象,当工程中存在FastJson的com.alibaba.fastjson.JSON类时使用FastJson序列化,如果不存在就则进行简单的toString操作。我们首先定义一个接口有一个格式化方法public interface&nb
2021-10-12 15:03:44 308
原创 手写篇——教你手写spring(使用JNDI完善依赖查找,并整合JPA)
前言之前写过一篇JNDI实现一个依赖注入的文章,很多小伙伴都表示很疑惑,那玩意儿有啥用,包括这篇文章可能你也觉得没啥用,确实在实际开发中都是使用spring来做依赖查找、依赖注入,那你有没有想过在没有spring的年代是怎么做依赖查找和依赖注入的?没错就是可以使用JNDI。写JNDI系列文章的目的是为了了解JAVAEE单体架构是如何演变成现在spring 技术栈的,这是一个系列后面将一步一步演进成主流spring、spring boot、spring cloud风格,具有Spring、SpringMVC完整
2021-10-12 14:59:55 266
原创 手写一个RPC框架
想要手写出一个东西我们肯定要先知道一个东西的原理,我们先看看一个RPC框架需要哪些东西。如何调用他人的远程服务? 由于各服务部署在不同机器,服务间的调用免不了网络通信过程,服务消费方每调用一个服务都要写一坨网络通信相关的代码,不仅复杂而且极易出错。要让网络通信细节对使用者透明,我们需要对通信细节进行封装,我们先看下一个RPC调用的流程涉及到哪些通信细节:服务消费方(client)调用以本地调用方式调用服务;client stub接收到调用后负责将方法、参数等组装成能够进行网络传输的消息体;client st
2021-08-23 16:42:43 134
转载 你真的了解synchronized和volatile吗?
什么是cas?cas:compare and swap 比较然后交换,它在没有锁的状态下可以保证多线程的对值得更新。我们可以看一下在jdk中对cas的应用:/** * Atomically increments by one the current value. * * @return the updated value */public
2021-08-21 11:54:34 123
转载 HTTPS的加密原理你知道吗?什么是中间人攻击?什么是对称加密什么是非对称加密?
HTTPS的加密原理你知道吗?什么是中间人攻击?什么是对称加密什么是非对称加密?1、什么是HTTPS?是一种通过计算机网络进行安全通信的传输协议。HTTPS是在HTTP上建立SSL/TLS加密层,并对传输数据进行加密,简单来说就是安全版的HTTP协议。2、TLS/SSL 协议介绍TLS/SSL 的功能实现主要依赖于三类基本算法:散列算法 、对称加密和非对称加密,其利用非对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性。SSL 协议介绍3、加解密相关知识介绍3
2021-08-18 10:41:05 244
原创 类的加载过程-面试必问
类的加载过程 loading 加载通过双亲委派机制进行加载。主要出于安全的考虑。父加载器不是加载器的加载器,也不是父类加载的加载器。linking 链接verification 验证preparation 准备 静态变量赋默认值,private static int test =10; 在这个阶段只是 test赋默认值0,而不是10。resolution 解析 将类、方法、属性等符号引用解析为直接引用。常量池中的各种符号引用解析为指针,偏移量等内存地址的直接引用。initalizing 初始化
2021-08-03 20:58:24 139
原创 为什么你的insert就死锁了
一、前言本以为只需要系统学习一个较完全的逻辑,但是实际牵扯很多innodb锁相关知识及加锁方式。我好像并没有那么大的能耐,把各种场景的加锁过程一一列举并加之分析;亦没有太多的精力验证网上的言论的准确性。只好根据现在了解的内容,参考官方文档,说说自己当前的理解。本文仅供参考,如有误导,概不负责。二、现场状态不同的mysql版本,不同的参数设置,都可能对加锁过程有影响。分析加锁机制还是应当尽可能多地列举一下关键参数,例如:当前mysql版本、事务隔离级别等。如下,仅仅只列出个别比较重要的参数。1
2020-09-01 22:22:27 799
jOOQ-manual-3.10.pdf
2020-06-18
人工智能图片写html
2018-02-08
慕课网--Java 从零打造企业级电商实战 - 服务端
2017-09-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人