- 博客(18)
- 资源 (11)
- 收藏
- 关注
原创 Shiro安全框架
一、什么是shiro1、Apache的强大灵活的开源安全框架2、主要应用在认证、授权,会话管理、安全加密、缓存管理。二、Shiro与Spring Security对比Shiro安全框架:简单灵活、可脱离Spring 独立存在、粒度较粗Spring Security :复杂笨重、必须依托与Spring、粒度较细由于权限管理模块一般都是在资源一层,如果更深一层的话,则可能会与业...
2018-10-31 21:54:22 192
原创 kafka流处理平台
一、kafka有三个特性1、可以发布和订阅数据的流,类似于一个消息队列2、数据流存储的平台并具备错误容忍3、当数据产生时就可以对消息进行处理。面向数据流的生产、转换、存储、消费的流数据二、基本概念Producer:消息和数据的生产者,向kafka的一个topic发布消息的进程/代码/服务Consumer:消息和数据的消费者,订阅数据(Topic)并且处理发布的消息的...
2018-10-28 21:39:48 2192
转载 Java中的多线程你只要看这一篇就够了
引如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟,当然也没法说能用单线程来实现:比如最常见的“生产者,消费者模型”。很多人都对其中的一些...
2018-10-19 19:44:21 202
转载 Java垃圾回收(GC)机制详解
一、为什么需要垃圾回收 如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分配内存空间而不进行回收。除非内存无限大,我们可以任性的分配而不回收,但是事实并非如此。所以,垃圾回收是必须的。二、哪些内存需要回收?哪些内存需要回收是垃圾回收机制第一个要考虑的问题,所谓“要回收的垃圾”无非就是那些不可能再被任何途径使用的对象。那么如何找到这些对象?1、引用计数法这个算法的实现...
2018-10-19 11:17:30 191
转载 探索性测试
1、探索性测试的定义探索性测试(ET)是敏捷世界里的一种重要测试方法,作为一个研究性的工具,它是用户故事测试和自动化回归集的重要补充。它是一种经过深思熟虑的测试方式,没有测试脚本,可以使你的测试超出各种明显已经测试过的场景。探索测试将学习,测试设计和测试执行整合在一起,形成一种测试方法。探索性测试的最大特色是在对测试对象进行测试的同时学习测试对象并设计测试,在测试过程中运用获得的关于测试对...
2018-10-19 10:46:14 1839
转载 Python3 基本数据类型
Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。等号(=)用来给变量赋值。等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如:实例(Python 3.0+)#!/usr/bin/python3 counter =...
2018-10-18 21:47:34 203
转载 渗透测试的8个步骤—转载
渗透测试这个事情不是随便拿个工具就可以做了, 要了解业务还需要给出解决方案 。之前安全加介绍了金融行业 实战微信银行渗透测试, 运营商 渗透测试实战 ,今天让我们来说说 渗透测试 的流程及渗透测试相关概念。渗透测试流程渗透测试与入侵的最大区别渗透测试:出于保护系统的目的,更全面地找出测试对象的安全隐患。入侵:不择手段地(甚至是具有破坏性的)拿到系统权限。一般渗透测试流程流...
2018-10-18 14:44:32 567
转载 C语言深度剖析---内存泄露
内存泄露几乎是很难避免的,不管是老手还是新手,都存在这个问题。 会产生泄露的内存就是堆上的内存(这里不讨论资源,句柄等泄露的情况),也就是说由malloc系列函数或者new操作符分配的内存。如果用完之后没有及时free或者delete,这块内存就无法释放,直到整个程序终止。 1.告老还乡求良田怎么去理解这个内存分配和释放的过程呢?请看下面这段对话万岁爷:爱卿,你为朕立下...
2018-10-18 11:24:42 376
转载 死锁问题分析(个人认为重点讲到了gap间隙锁,解决了我一些不明报死锁的问题)
线上某服务时不时报出如下异常(大约一天二十多次):“Deadlock found when trying to get lock;”。 Oh, My God! 是死锁问题。尽管报错不多,对性能目前看来也无太大影响,但还是需要解决,保不齐哪天成为性能瓶颈。 为了更系统的分析问题,本文将从死锁检测、索引隔离级别与锁的关系、死锁成因、问题定位这五个方面来展开讨论。 图1 ...
2018-10-16 15:15:26 409
转载 HTTPS 建立连接的详细过程
简介HTTPS是在HTTP的基础上和ssl/tls证书结合起来的一种协议,保证了传输过程中的安全性,减少了被恶意劫持的可能.很好的解决了解决了http的三个缺点(被监听、被篡改、被伪装)对称加密和非对称加密 对称加密 即加密的密钥和解密的密钥相同, 非对称加密 非对称加密将密钥分为公钥和私钥,公钥可以公开,私钥需要保密,客户端公钥加密的数据,服务端可以通过私钥来解密...
2018-10-16 11:18:59 927
转载 UML类图与类的关系详解
虚线箭头指向依赖;实线箭头指向关联;虚线三角指向接口;实线三角指向父类;空心菱形能分离而独立存在,是聚合;实心菱形精密关联不可分,是组合;上面是UML的语法。在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关...
2018-10-09 15:12:55 184
转载 线程池与Executor 框架
本节思维导图: 思维导图源文件+思维导图软件关注微信公众号:“Java面试通关手册” 回复关键字:“Java多线程” 免费领取。一 使用线程池的好处线程池提供了一种限制和管理资源(包括执行一个任务)。 每个线程池还维护一些基本统计信息,例如已完成任务的数量。 这里借用《Java并发编程的艺术》提到的来说一下使用线程池的好处: 降低资源消耗。通过重复利用已创建的线程降低线程创建...
2018-10-06 11:45:06 216
转载 app弱网络测试
弱网络测试:测试手机app在连接弱网络下的表现。原理:利用软件控制wifi网络强弱,手机连接到该wifi,就可以测试app弱网络下的功能表现。关注点:1、卡死、崩溃。比如:卡在某个界面出不去或者闪退。2、逻辑错误。比如:购买时扣费和获得不一致,领取物品没到账等。3、页面显示错误。比如:页面重叠。所需工具:1.Network Emulator Toolkit(http://downlo...
2018-10-05 21:01:11 824
转载 手机APP测试流程&方法
1 APP测试基本流程1.1流程图1.2测试周期测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间。正式测试前先向主管确认项目排期。1.3测试资源测试任务开始前,检查各项测试资源。--产品功能需求文档;--产品原型图;--产品效果图;--行为统计分析定义文档;--测试设备(i...
2018-10-05 20:42:35 23767 2
转载 负载均衡(Load Balance)的简单而又透彻的理解
负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一。它通常是指,将请求/数据【均匀】分摊到多个操作单元上执行,负载均衡的关键在于【均匀】。这里的均匀,可不是我们想象的10 ÷ 2 = 5 ,这就算均匀啦。不是的。常见互联网分布式架构如上,分为客户端层、反向代理nginx层、站点层、服务层、数据层。 常见的负载均衡方案常见互联网分布式架构如上,分为客...
2018-10-05 15:47:50 1284
转载 Linux内核的整体架构简介
1. 前言本文是“Linux内核分析”系列文章的第一篇,会以内核的核心功能为出发点,描述Linux内核的整体架构,以及架构之下主要的软件子系统。之后,会介绍Linux内核源文件的目录结构,并和各个软件子系统对应。注:本文和其它的“Linux内核分析”文章都基于如下约定: a) 内核版本为Linux 3.10.29(该版本是一个long term的版本,会被Linux社区持续维护至少2年...
2018-10-04 21:03:57 161
转载 树的广度优先遍历和深度优先遍历(递归非递归、Java实现)
在编程生活中,我们总会遇见树性结构,这几天刚好需要对树形结构操作,就记录下自己的操作方式以及过程。现在假设有一颗这样树,(是不是二叉树都没关系,原理都是一样的)1.广度优先遍历 英文缩写为BFS即Breadth FirstSearch。其过程检验来说是对每一层节点依次访问,访问完一层进入下一层,而且每个节点只能访问一次。对于上面的例子来说,广度优先遍历的 结果是:A,B,C,D,E,F...
2018-10-04 17:36:55 340 1
转载 Redis过期策略 实现原理
我们在使用redis时,一般会设置一个过期时间,当然也有不设置过期时间的,也就是永久不过期。当我们设置了过期时间,redis是如何判断是否过期,以及根据什么策略来进行删除的。 1.redis设置过期时间:expire 只针对顶级key有效,即哈希结构不支持过期 expire key time(以秒为单位)--这是最常用的方式 setex(String key, in...
2018-10-02 17:04:16 156
spring_Aop_required.tar.gz
2018-04-04
mysql jdbc 驱动 5.6 5.7
2017-10-11
Navicat-for-MySql使用.pdf
2017-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人