Java
东平王北星
Java底层,多线程,框架源码分析。
展开
-
Seata SPI 机制
SPI 全称为 Service Provider Interface,是一种服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。JAVA SPI 机制本文不做讲解,自行了解。SEATA SPISeata 的 SPI 机制由类 EnhancedServiceLoader 提供 , 翻译一下就是: 增强服务载入器Seata 的SPI 是一个基础模块 ,对于Seata框架起着至关重要的作用, 熟悉了 Java SPI 机制后,Seat原创 2020-10-26 00:47:33 · 604 阅读 · 0 评论 -
Seata 协议编码
Seata 协议编码协议编码类: io.seata.core.rpc.netty.v1.ProtocolV1Encoder协议格式如下:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+原创 2020-10-25 19:35:27 · 479 阅读 · 0 评论 -
dubbo暴露服务
本文介绍在spring中dubbo暴露服务的流程通常情况下dubbo会和spring结合使用, 这里先介绍spring结合的流程,然后描述dubbo本身的服务暴露过程spring暴露服务暴露服务 spring 分为3个阶段解析自定义标签: <dubbo:service interface=“com.aya.service.DemoService” ref=“semoSer...原创 2020-03-15 21:57:30 · 236 阅读 · 0 评论 -
序列化的理解
序列化使用与理解关于序列化,你是否有思考过以下问题序列化之后,存了那些东西,是什么结构?serialVersionUID 有什么用,没有会怎么样?字段增加减少后是否有兼容性问题?本节 图解序列化的存储结构, 了解 serialVersionUID 的生成方式, 对序列化兼容性有一个更加全面的说明基本使用public class SerialModel implements S...原创 2019-11-05 10:05:19 · 474 阅读 · 0 评论 -
登录认证
登录流程分析获取Subject (一)创建Subject(二)Principals 获取顺序创建Subject(三)当前用户怎么登录成功的登录流程分析这里我们要来解决两个问题 1. 如何获取当前用户 2. 当前用户怎么登录成功的 @Test public void testLogin(){ Subject subj...原创 2018-06-27 14:39:05 · 1107 阅读 · 0 评论 -
shiro 源码分析大纲
基本原理介绍在开始分析之前 请先看 原理介绍shiro的使用shiro的使用shiro-core生成安全管理器登录认证权限认证代码和配置来源于官方教程: https://shiro.apache.org/tutorial.htmlshiro-web注意: 在阅读分析之前,请务必完成shiro-core的登录和权限认证的全部内容 1. 与spring-...原创 2018-06-27 14:42:46 · 212 阅读 · 0 评论 -
shiro 简介
Apache Shiro FeaturesShiro核心Authentication: (认证) 调用Subject.login 进行登录,登录后的用户就是认证用户Authorization: (授权) 这是一个访问控制器, ‘谁’ 可以访问 ‘什么’Session Management: (会话管理) 管理用户定义的session , 即使不在web或者ejb应用程序中...原创 2018-06-27 14:45:04 · 205 阅读 · 0 评论 -
shiro spring-web集成
shiro 在web的初始化流程基本知识:web.xml的加载顺序filter 生命周期web.xml 中 shiro的配置spring-mvc 配置shiro.ini配置主体initdoFilterdestory总结参考网站:shiro 在web的初始化流程基本知识:web.xml的加载顺序context-param ->...原创 2018-06-27 14:47:05 · 238 阅读 · 1 评论 -
shiroFilter生命周期
基本说明filter执行的是代理bean的id为shiroFilter相应的方法接下来看看 shiroFilter 是什么再来分析shiroFilter 这个实现了 javax.servlet.Filter 的生命周期spring 配置信息 &lt;bean id="shiroFilter" class="org.apache.shiro.spring.web.Shir...原创 2018-06-27 14:48:23 · 2191 阅读 · 0 评论 -
JAVA虚拟机(二)-图解垃圾收集器
垃圾回收Java 的垃圾回收由JVM管理,开发者们不用自己去释放创建的区域了解垃圾回收的算法和具体的垃圾收集器是高级程序员必修的功课。本文只是图解垃圾收集的各种算法。 描述具体的垃圾收集器用的那个算法算法复制算法通常情况下, 对象在Eden区分配。 当对象慢慢的占满了Eden区的时候, 产生Minor GC, 将 Eden + from 区的有效对象复制到t...原创 2018-08-22 17:38:28 · 319 阅读 · 0 评论 -
序列化深入理解
文章目录序列化使用与理解基本使用图解序列化结构String结构类结构序列化id的生成与作用兼容性默认不定义serialVersionUID定义serialVersionUID最佳实践扩展序列化类结构序列化使用与理解关于序列化,你是否有思考过以下问题序列化之后,存了那些东西,是什么结构?serialVersionUID 有什么用,没有会怎么样?字段增加减少后是否有兼容性问题?本节 ...原创 2018-09-19 19:55:12 · 582 阅读 · 0 评论 -
BigDecimal 基本使用
加减乘除精度控制除法特写推荐做法默认除法精度总结BigDecimal 是java小数操作的一个专有类,在电商、金融行业 存储跟金额有关的字段java里面明明已经有了,float,double这种精度的小数,为什么还需要BigDecimal呢? 这难道不是多余吗?接下来看一个例子:@Testpublic void testDoubleSimple()...原创 2018-09-14 21:18:26 · 17112 阅读 · 4 评论 -
多线程优化执行效率
文章目录普通任务多线程同步任务代码多线程异步任务总结CountDownLatch特性AtomicInteger特性在项目开发中,碰到了一些耗时任务的问题.需要使用多线程,本文在使用原生JDK7的情况下优化(不考虑JAVA8和RxJava框架)普通任务在一批次(100-1000)的数据处理中,每一个任务都很耗时同步任务 流程图红色: 等待执行橙色: 正在执行绿色: 即将执行...原创 2018-09-21 20:59:35 · 3207 阅读 · 0 评论 -
权限认证
权限认证流程对 isPermitted 进行分析 public static void main(String[] args) { Factory&lt;SecurityManager&gt; factory = new IniSecurityManagerFactory("classpath:shiro.ini"); Secur...原创 2018-06-27 14:38:02 · 1014 阅读 · 0 评论 -
生成安全管理器
生成安全管理器初始化安全管理器工厂获得ini对象设置ini对象获取安全管理器实例createSecurityManagercreateDefaultbuildInstancesgetSecurityManagerBeanapplyRealmsToSecurityManagerinitRealm生命周期初始化总结设置全局安全管理器对象附注加入新节区对...原创 2018-06-27 14:37:12 · 608 阅读 · 0 评论 -
shiro 基本使用方式
shiro的基本使用引入maven包shiro 使用了slf4j来做日志处理, 这里我们引入对应的slf4j的实现log4j &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shiro&amp;lt;/groupId&amp;gt; &amp;lt;artifactI原创 2018-06-27 14:36:20 · 418 阅读 · 0 评论