- 博客(319)
- 资源 (12)
- 收藏
- 关注
原创 Shiro学习-授权及ini配置
Shrio的授权及ini配置作者:vashon时间:2018-03-17Shiro授权授权授权,也叫访问控制,即在应用中控制谁能访问哪些资源(如访问页面/编辑数据/页面操作等)。在授权中需了解的几个关键对象:主体(Subject)、资源(Resource)、权限(Permission)、角色(Role)。主...
2018-03-17 10:09:21 6750 1
原创 Shiro学习-身份验证
Shiro学习-身份验证作者:vashon时间:2018-03-15简介Apache Shiro 是 Java 的一个安全框架。目前,使用 Apache Shiro 的人越来越多,因为它相当简单,对比 Spring Security,可能没有 Spring Security 做的功能强大,...
2018-03-15 12:50:20 437
原创 2018_新的开始,新的目标
每年春节后回来工作,年复一年,还记得当初自己最想做的事情吗?还记得你的目标吗?有没有变化?你现在的修为离你的目标还有多远?没有没停下你的脚步。。。...
2018-02-24 19:25:13 365
转载 Java Socket编程基础
1.简述:Java Socket编程时对于TCP/IP 协议层的通信进行封装,简化了相关的一些操作。//待续2.Socket 通信时序图 3.Socket 数据流的交互 4.单客户端和服务器通信的简单例子:服务器端代码:[java] view plain copy print?pac
2018-01-31 12:19:20 361
转载 Ehcache配置详解及CacheManager使用
Ehcache配置详解及CacheManager使用 缓存配置 name:缓存名称。 maxElementsInMemory:缓存最大个数。 eternal:对象是否永久有效,一但设置了,timeout将不起作用。 timeToIdleSeconds:设置对象在失效前的允许闲置
2017-12-15 13:34:10 1918
转载 Spring自定义缓存管理及配置Ehcache缓存
Spring自定义缓存管理及配置Ehcache缓存spring自带缓存、自建缓存管理器等都可解决项目部分性能问题。结合Ehcache后性能更优,使用也比较简单。在进行Ehcache学习之前,最好对Spring自带的缓存管理有一个总体的认识。这篇文章不错:https://www.ibm.com/developerworks/cn/opensource/os-c
2017-12-15 11:31:50 516
转载 分布式ID生成方法
分布式ID生成方法一、需求缘起几乎所有的业务系统,都有生成一个记录标识的需求,例如:(1)消息标识:message-id(2)订单标识:order-id(3)帖子标识:tiezi-id这个记录标识往往就是数据库中的唯一主键,数据库上会建立聚集索引(cluster index),即在物理存储上以这个字段排序。 这个记录标
2017-11-13 20:43:46 365
转载 秒杀系统架构分析与实战
秒杀系统架构分析与实战1 秒杀业务分析正常电子商务流程(1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货秒杀业务的特性(1)低廉价格;(2)大幅推广;(3)瞬时售空;(4)一般是定时上架;(5)时间短、瞬时并发量高;2 秒杀技术挑战假设某网站秒杀活动只推出一件商品,预计会吸引1万人参加活动,也就说最
2017-11-13 20:34:59 316
转载 秒杀系统架构优化思路
本文曾在“架构师之路”上发布过,近期支援Qcon-AS大会,在微信群里分享了该话题,故对原文进行重新整理与发布。一、秒杀业务为什么难做1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息);2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据;3)秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读
2017-11-13 20:31:55 356
转载 Java三大器之监听器(Listener)的工作原理和代码演示
现在来说说Servlet的监听器Listener,它是实现了javax.servlet.ServletContextListener 接口的服务器端程序,它也是随web应用的启动而启动,只初始化一次,随web应用的停止而销毁。主要作用是:做一些初始化的内容添加工作、设置一些基本的内容、比如一些参数或者是一些固定的对象等等。首先来看一下ServletContextListener接口
2017-10-23 10:29:53 346
转载 单KEY业务,数据库水平切分架构实践
本文将以“好友中心”为例,介绍“多对多”类业务,随着数据量的逐步增大,数据库性能显著降低,数据库水平切分相关的架构实践。 一、什么是多对多关系所谓的“多对多”,来自数据库设计中的“实体-关系”ER模型,用来描述实体之间的关联关系,一个学生可以选修多个课程,一个课程可以被多个学生选修,这里学生与课程时间的关系,就是多对多关系。 二、好友中心业务分析好友
2017-09-04 10:27:29 505 1
转载 大型网站技术架构(八)--网站的安全架构
大型网站技术架构(八)--网站的安全架构 从互联网诞生起,安全威胁就一直伴随着网站的发展,各种Web攻击和信息泄露也从未停止。常见的攻击手段有XSS攻击、SQL注入、CSRF、Session劫持等。1、XSS攻击 XSS攻击即跨站点脚本攻击(Cross Site Script),指黑客通过篡改网页,注入恶意HTML脚本,在用户访
2017-08-20 17:09:31 560
转载 大型网站技术架构(七)--网站的可扩展性架构
大型网站技术架构(七)--网站的可扩展性架构 扩展性是指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。 设计网站可扩展架构的核心思想是模块化,并在此基础上,降低模块间的耦合性,提供模块的复用性。模块通过分布式部署,独立的模块部署在独立的服务器上(集群)从物理上分离模块之间的耦合关系。
2017-08-20 17:08:29 396
转载 大型网站技术架构(六)--网站的伸缩性架构
大型网站技术架构(六)--网站的伸缩性架构 网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能,通过不断地向集群中添加服务器来增强整个集群的处理能力。“伸”即网站的规模和服务器的规模总是在不断扩大。1、网站架构的伸缩性设计网站的伸缩性设计可以分成两类,一类是根据功能进行物理分离实现伸缩,一类是单一功能通过集群实现伸缩。前者是不同的服
2017-08-20 17:07:28 393
转载 大型网站技术架构(五)--网站高可用架构
大型网站技术架构(五)--网站高可用架构 网站的可用性(Avaliability)描述网站可有效访问的特性。1、网站可用性的度量与考核 网站不可用时间(故障时间)=故障修复时间点-故障发现(报告)时间点 网站年度不可用时间=(1-网站不可用时间/年度时间)× 100% 可用性
2017-08-20 17:06:13 400
转载 大型网站技术架构(四)--网站的高性能架构
大型网站技术架构(四)--网站的高性能架构 网站性能是客观的指标,可以具体体现到响应时间、吞吐量、并发数、性能计数器等技术指标。1、性能测试指标1.1 响应时间 指应用执行一个操作需要的时间,指从发出请求到最后收到响应数据所需要的时间。如下列出了系统常用的操作响应时间表.操作响应时间
2017-08-20 17:04:16 539
转载 大型网站技术架构(三)--架构核心要素
大型网站技术架构(三)--架构核心要素 所谓架构,一种通俗的说法就是“最高层次的规划,难以改变的决定”,这些规划和决定奠定了事物未来发展的方向和最终的蓝图。 而软件架构即“有关软件整体结构与组件的抽象描述,用于指导大型软件系统各方面的设计”。一般来说软件架构需要关注性能、可用性、伸缩性、扩展性和安全性这5个架构要素。1、性能
2017-08-20 17:00:52 457
转载 大型网站技术架构(二)--架构模式
大型网站技术架构(二)--架构模式 每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复工作。 所谓网站架构模式即为了解决大型网站面临的高并发访问、海量数据、高可靠运行灯一系列问题与挑战。为此,在实践中提出了许多解决方案,以实现网站高性能、高可靠性、易伸缩、可扩展
2017-08-20 16:57:27 383
转载 大型网站技术架构(一)--大型网站架构演化
大型网站技术架构(一)--大型网站架构演化 看完了有一本书,就应该有所收获,有所总结,最近把《大型网站技术架构》一书给看完了,给人的印象实在深刻,再加上之前也搞过书本上讲的反向代理和负载均衡以及session独立存储和缓存,因此书本看起来还是挺通俗易懂的,而且作者李智慧给人的印象(书本)也挺深刻的,我从这本书中也学到了许多,了解的许多,但是理解还是比较抽
2017-08-20 16:48:50 426
原创 线程调度例子
线程调度例子package com.ywx.bank;public class Constants { /** * 最大服务时间. */ public static int MAX_SERVICE_TIME = 10000; /** * 最小服务时间. */ public static int MIN_SERVICE_TIME = 1000; /*
2017-08-12 16:05:43 6646
转载 ORA-28547:连接服务器失败,可能是Oracle Net管理错误
ORA-28547:连接服务器失败,可能是Oracle Net管理错误描述:监听和服务都正常启动了,但是远程连接的时候会有这种错误 ORA-28547:连接服务器失败,可能是Oracle Net管理错误 解决办法:listener.ora 文件中:DEFAULT_SERVICE_LISTENER= (ORCL) SID_LIST_LISTENER = (SI
2017-07-06 13:21:00 30862 3
转载 权限系统与RBAC模型概述[绝对经典]
0. 前言一年前,我负责的一个项目中需要权限管理。当时凭着自己的逻辑设计出了一套权限管理模型,基本原理与RBAC非常相似,只是过于简陋。当时google了一些权限管理的资料,从中了解到早就有了RBAC这个东西。可惜一直没狠下心来学习。更详细的RBAC模型非常复杂。本文只做了一些基础的理论性概述。本文资料完全来自互联网。 1. 权限系统与RBAC模型概述
2017-06-30 10:12:38 97796 16
转载 DelegatingFilterProxy的原理及使用
DelegatingFilterProxy就是一个对于servlet filter的代理,用这个类的好处主要是通过spring容器来管理servlet filter的生命周期,还有就是如果filter中需要一些Spring容器的实例,可以通过spring直接注入,另外读取一些配置文件这些便利的操作都可以通过Spring来配置实现。 DelegatingFilterProxy的使
2017-06-23 14:25:09 1172
转载 eclipse启动tomcat无法访问
症状:tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080/不能访问,且报404错误。同时其他项目页面也不能访问。关闭eclipse里面的tomcat,在tomcat安装目录下双击startup.bat手动启动tomcat服务器。访问htt://localhost:8080/能正常访问tomcat管理页面。症状原因:
2017-06-15 18:17:38 443
转载 单点登录原理与简单实现
单点登录原理与简单实现一、单系统登录机制1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系 但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务
2017-06-08 12:09:08 611
转载 分布式与集群的区别
分布式与集群的区别集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就象是一个服务实体,但事实上集群由一组服务实体组成。与单一服务实体相比较,集群提供了以下两个关键特性:先说区别:一句话:分布式是并联工作的,集群是串联工作的。1:分布式是指将不同的业务分布在不同的地方。 而集群指的是将几台服务器集中在一起
2017-06-07 22:30:12 504
转载 Nginx+Tomcat搭建高性能负载均衡集群
Nginx+Tomcat搭建高性能负载均衡集群一、 工具 nginx-1.8.0 apache-tomcat-6.0.33二、 目标 实现高性能负载均衡的Tomcat集群: 三、 步骤 1、首先下载Nginx,要下载稳定
2017-06-06 17:26:04 526
转载 Tomcat服务器集群与负载均衡
Tomcat服务器集群与负载均衡一、前言在单一的服务器上执行WEB应用程序有一些重大的问题,当网站成功建成并开始接受大量请求时,单一服务器终究无法满足需要处理的负荷量,所以就有点显得有 点力不从心了。另外一个常见的问题是会产生单点故障,如果该服务器坏掉,那么网站就立刻无法运作了。不论是因为要有较佳的扩充性还是容错能力,我们都会想 在一台以上的服务器计算机上执行W
2017-06-02 17:28:28 10200 2
原创 Linux下安装tomcat及war工程发布
Linux上安装tomcat及war工程发布作者:vashon时间:2017-05-22环境准备1、平台文件传输,见:http://blog.csdn.net/yangwenxue_admin/article/details/726269512、下载tar.gz版的tomcat,链接:http://tomcat.apache.org/down...
2017-05-22 19:25:04 1969
原创 Linux下安装jdk
Linux上安装jdk作者:vashon时间:2017-05-22准备环境1、准备好Linux版本的jdk安装包。2、在windows上安装好Xshell工具。安装Xshell并建立Windows与Linux的连接1、windows安装Xshell的步骤略过,和其他软件安装差不多。2、建立window...
2017-05-22 17:45:41 606
原创 ssm+maven+bootstrap搭建
ssm+maven+bootstrap搭建作者:vashon时间:2017-05-12一、架构特点1、用maven做依赖管理&构建,项目分为父子工程2、基础框架SSM(SpringMVC+Spring+Mybatis)3、前端框架Bootstrap4、pagehelper的分页实现5、Mybatis的逆向工程Mybatis-Generator6...
2017-05-12 20:07:17 11185 3
原创 web项目中引入logback
web项目中引入logbacklogback的使用及配置和log4j差不多,下面通过例子介绍下logback的使用及配置:1、首先通过Maven引入logback的2个jar包,在pom.xml中引入如下: ch.qos.logback logback-classic 1.2.1 ch.qos.logback logback-core 1.2.12、在w
2017-05-12 12:46:07 14767 2
转载 Web.xml配置详解之context-param
格式定义:[html] view plain copycontext-param> param-name>contextConfigLocationparam-name> param-value>contextConfigLocationValue>param-value> context-param> 作
2017-04-18 09:23:45 416
转载 web.xml配置contextConfigLocation
web.xml中classpath:和classpath*: 有什么区别? classpath:只会到你的class路径中查找找文件; classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找. 有时候会用模糊匹配的方式配置多配置文件。但是如果配置文件是在jar包里,模糊匹配就找不到了。可以用逗号隔开的方式配置多个配置文件
2017-04-18 09:22:25 8214 1
原创 MongoDB-学习
MongoDB-学习1、创建一个数据库格式:use [databaseName]例子:use foobar说明:创建一个foobar的数据库,但是你什么也不干就离开的话这个空数据库就会被删除2、查看所有数据库show dbs3、给指定的数据库添加集合并且添加记录格式:db.[documentName].insert({...})例子:
2017-03-29 18:44:01 445
转载 mysql多台服务器数据同步
这两天在搞MySQL 数据同步问题,这配置很繁琐。我这里用了两台机子做测试, 都是我本地的机子.分别是主服务器 192.168.0.118从服务器 192.168.0.1871. 首先在 主从服务器分别创建数据库 backup_db和backup_table表作为测试CREATE TABLE `backup_table` ( `id` int(11) NOT N
2017-03-20 17:55:00 9175 6
转载 oracle11g导出dmp文件时不能导出空表
在运行情况下, Redis 以数据结构的形式将数据维持在内存中, 为了让这些数据在 Redis 重启之后仍然可用, Redis 分别提供了 RDB 和 AOF 两种持久化模式。在 Redis 运行时, RDB 程序将当前内存中的数据库快照保存到磁盘文件中, 在 Redis 重启动时, RDB 程序可以通过载入 RDB 文件来还原数据库的状态。RDB 功能最核心的是 rdbSave 和 rd
2017-03-20 09:32:34 6774
转载 Struts2远程代码执行漏洞
Struts2曝远程代码执行漏洞本文摘自:http://www.oschina.net/news/74386/struts-2-cve-2016-4438今年4月份,Apache Struts 2之上发现的S2-033远程代码执行漏洞,以迅雷不及掩耳之势席卷而来。其利用代码很快就在短时间内迅速传播。而且官方针对这个高危漏洞的修复方案还是无效的。
2017-03-18 12:10:55 3396
转载 MySQL设置事物隔离级别
高性能MySQL学习总结及实验验证:数据库隔离级别有四种,应用《高性能mysql》一书中的说明: 然后说说修改事务隔离级别的方法:1.全局修改,修改mysql.ini配置文件,在最后加上1 #可选参数有:READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE.2
2017-03-13 13:21:34 21201
转载 处理百万级以上的数据提高查询速度的方法
1.应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num
2017-02-22 09:46:30 702
Spring4+SpringMVC4+Hibernate4整合源码
2016-09-22
Java设计模式
2015-10-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人