Fork me on GitHub

08 2019 档案

摘要:什么是线程安全性 当多个线程访问某个类,不管运行时环境采用何种调度方式或者这些线程如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类为线程安全的。 《并发编程实战》。 什么是线程不安全 多线程并发访问时,得不到正确的结果。 结果: 产生线程不安全问题 阅读全文
posted @ 2019-08-30 01:45 xbwang520 阅读(513) 评论(0) 推荐(0)
摘要:进程与线程的区别 进程:是系统进行分配和管理资源的基本单位 线程:进程的一个执行单元,是进程内调度的实体、是CPU调度和分派的基本单位,是比进程更小的独立运行的基本单位。线程也被称为轻量级进程,线程是程序执行的最小单位。 一个程序至少一个进程,一个进程至少一个线程。 进程有自己的独立地址空间,每启动 阅读全文
posted @ 2019-08-29 02:57 xbwang520 阅读(171) 评论(0) 推荐(0)
摘要:查看源码 自定义SessionIdGenerator 配置: 验证 注意点 没有100%可靠的算法,暴力破解,穷举 限制时间内ip登录错误次数 增加图形验证码,不能过于简单,常用的OCR可以识别验证码 建议:微服务里面,特别是对C端用户的应用,不要做过于复杂的权限校验,特别是影响性能这块 源码地址: 阅读全文
posted @ 2019-08-29 00:51 xbwang520 阅读(4293) 评论(2) 推荐(1)
摘要:为啥session也要持久化 重启应用,用户无感知,可以继续以原先的状态继续访问 怎么持久化 注意点 DAO对象需要实现序列化接口 Serializable logout接口和以前一样调用,请求logout后会删除redis里面的对应的key,即删除对应的token 常见Bean配置 源码地址:ht 阅读全文
posted @ 2019-08-29 00:12 xbwang520 阅读(544) 评论(0) 推荐(0)
摘要:控制流程图 背景 授权的时候每次都去查询数据库,对于频繁访问的接口,性能和响应速度比较慢,所以使用缓存 添加依赖 配置 由控制图可以看出,所有组件都是由securityManager管理的,所以必须将CacheManager配置到SecurityManager中 原有问题 解决:在自定义Custom 阅读全文
posted @ 2019-08-28 03:23 xbwang520 阅读(3541) 评论(0) 推荐(0)
摘要:源码解析 shori中的默认filter 查看RolesAuthorizationFilter,以这个Filter为例: 分析:改源码表示,例如:/admin/order= roles["admin, root"] ,只有当放问该接口同时具备admin和root两种角色时,才可以被访问。 需求 配置 阅读全文
posted @ 2019-08-28 02:36 xbwang520 阅读(4863) 评论(0) 推荐(0)
摘要:什么是并发编程 并发历史: 早期计算机--从头到尾执行一个程序,资源浪费 操作系统出现--计算机能运行多个程序,不同的程序在不同的单独的进程中运行 一个进程,有多个线程 提高资源的利用率,公平 串行与并行的区别: 串行:洗茶具、打水、烧水、等水开、冲茶 并行:打水、烧水同时洗茶具、水开、冲茶 好处: 阅读全文
posted @ 2019-08-28 01:39 xbwang520 阅读(233) 评论(0) 推荐(0)
摘要:1、cd命令 功能说明:切换目录。 举 例:却换到根目录 :cd / 2、ls命令 功能说明:列出目录内容。 举例:列出/var目录的文件和目录的信息 :ls –l /var;最常用方式 ls –ltr 3、cat命令 功能说明:查看小文件内容。 举例:查看test.txt 文件内容 :cat te 阅读全文
posted @ 2019-08-22 02:45 xbwang520 阅读(415) 评论(0) 推荐(0)
摘要:环境 CentOS7、mongodb-linux-x86_64-4.0.11 下载 官网地址:https://www.mongodb.com/download-center/community 解压重命名 准备文件夹并赋予权限 配置文件 配置环境变量 启动 打开数据库 执行如下 再次重启数据库。 可 阅读全文
posted @ 2019-08-08 16:01 xbwang520 阅读(166) 评论(0) 推荐(0)
摘要:CAP定理 指在任何一个分布式系统中,Consistency(一致性),Availability(可用性),Partition tolerance(分区容错性),三者不可兼得。 一致性(C) 在分布式系统中的所有数据备份,在同一时刻是否有同样的值。(所有节点在同一时刻的数据完全一致,节点越多数据同步 阅读全文
posted @ 2019-08-06 10:05 xbwang520 阅读(143) 评论(0) 推荐(0)
摘要:整合步骤 1. 添加依赖 2. 开启jms支持 在springboot启动类上添加@EnableJms 3. 修改配置文件 在application.properties配置文件中添加 封装点对点和订阅发布模型的API 这里我只列出图片源代码在github上:https://github.com/w 阅读全文
posted @ 2019-08-05 17:57 xbwang520 阅读(608) 评论(0) 推荐(0)
摘要:ActiveMQ5.x消息队列基础特性 安装部署 下载地址:http://archive.apache.org/dist/activemq/5.15.3/apache-activemq-5.15.3-bin.tar.gz 解压进入与自己系统位数相同的目录,出现如下图,则启动成功 默认用户名密码:ad 阅读全文
posted @ 2019-08-05 16:21 xbwang520 阅读(180) 评论(0) 推荐(0)
摘要:什么是JMS 使用场景 基本概念 编程模型 阅读全文
posted @ 2019-08-05 15:54 xbwang520 阅读(210) 评论(0) 推荐(0)
摘要:Shiro内置的Filter过滤器 核心过滤器类:DefaultFilter, 配置哪个路径对应哪个拦截器进行处理 anon:org.apache.shiro.web.filter.authc.AnonymousFilter 匿名拦截器,不需要登录即可访问的资源,匿名用户或游客,一般用于过滤静态资源 阅读全文
posted @ 2019-08-05 03:10 xbwang520 阅读(594) 评论(0) 推荐(0)
摘要:普通线程实现 Timer和TimerTask JDK自带的java.util.Timer;通过调度java.util.TimerTask的方式 让程序按照某一个频度执行,但不能在指定时间运行。 一般用的较少。 ScheduledExecutorService方式 ScheduledExecutorS 阅读全文
posted @ 2019-08-02 17:09 xbwang520 阅读(235) 评论(0) 推荐(0)
摘要:自定义Realm简介 一般情况现自定义Realm是继承AuthorizingRealm。 Realm的继承关系:AuthorizingRealm->AuthenticatingRealm->CachingRealm->Realm。 步骤 重写方法介绍 实体对象介绍 代码实战 自定义CustomRea 阅读全文
posted @ 2019-08-02 02:58 xbwang520 阅读(455) 评论(0) 推荐(0)
摘要:Realm简介: 重要的事再说一遍,数据域,Shiro和安全数据的连接器,好比jdbc连接数据库; 通过realm获取认证授权相关信息 realm作用: Shiro 从 Realm 获取安全数据 默认自带的realm: idae查看realm继承关系,有默认实现和自定义继承的realm 两个概念: 阅读全文
posted @ 2019-08-01 03:01 xbwang520 阅读(831) 评论(0) 推荐(0)
摘要:Realm简介: 数据域,Shiro和安全数据的连接器,好比jdbc连接数据库; 通过realm获取认证授权相关信息 realm作用: Shiro 从 Realm 获取安全数据 默认自带的realm: idae查看realm继承关系,有默认实现和自定义继承的realm 两个概念: principal 阅读全文
posted @ 2019-08-01 01:21 xbwang520 阅读(329) 评论(0) 推荐(0)