- 博客(26)
- 资源 (5)
- 收藏
- 关注
转载 Java 多线程同步 锁机制与synchronized
打个比方:一个object就像一个大房子,大门永远打开。房子里有很多房间(也就是方法)。这些房间有上锁的(synchronized方法), 和不上锁之分(普通方法)。房门口放着一把钥匙(key),这把钥匙可以打开所有上锁的房间。另外我把所有想调用该对象方法的线程比喻成想进入这房子某个 房间的人。所有的东西就这么多了,下面我们看看这些东西之间如何作用的。在此我们先来明确一下我们的前提条件。该对象
2014-04-17 15:14:18
641
转载 权限模型设计
本权限模型是基于RBAC1模型。RBAC1的特点是Role可以继承,本权限模型仅使用了RBAC1的“受限继承关系”,即Role的继承关系是一个树结构,不允许多继承。
2014-04-17 14:12:46
719
转载 权限模型
一. 概述几乎在所有的系统中对于权限控制都有直接的需求,而这类需求往往有其相似性,综合常见的对于权限系统的需求构成了本文档,文档主要从功能复用以及模型复用的角度来对权限系统进行总结,以便在各种系统中可对照此篇文档来进行权限系统的实现,考虑到文档的关注点在复用度,在文档中不会过多的去描述功能点到模型产生的过程,而是采用直接通过产生的模型来说明基于此模型如何实现功能点的需求。二. 功能复用
2014-04-17 14:01:39
865
转载 也谈谈权限管理:理想状态下的权限管理模型
学计算机基本工作原理时,开始时以一个简化的计算机模型进行讲解,假如从实战角度出发,该模型机几乎无所作为,但有利于学习到事物的本质,在了解了本质之后,再从实际需求出发,一步步在模型机的基础上添砖加瓦,形成一个实战型的权限管理模块。权限管理本质的思考:它要管住什么? 权限管理的本质就是管住用户对数据集的访问权力,再往下细化就是数据(二维表格)的行、列访问控制。
2014-04-16 18:59:37
714
转载 新浪&腾讯微博:MySQL数据库主表设计猜想
用户信息表(t_user_info)字段名称字节数类型描述User_id4uint32用户编号(主键)User_name20Char[20]名称Msg_count4uint32
2014-04-16 16:58:31
1057
转载 新浪微博数据库是怎么设计的
新浪微博数据库是如何设计的从4个层面上面来说: 1. Database,其实 @mysqlops 回答就是微薄最基本的数据库方式,我在上面做一下扩展。微薄内容表A:tid uid src_tid content timeline,其中 tid 是微薄的 ID (自增量),src_tid[1]为转发的源 tid 。 话题表B:kid title lastupdatime tota
2014-04-16 16:55:21
1529
转载 微博关系服务与Redis的故事
新浪微博的工程师们曾经在多个公开场合都讲到过,微博平台当前在使用并维护着可能是世界上最大的Redis集群,其中最大的一个业务,单个业务使用了超过 10T 的内存,这里说的就是微博关系服务。风起2009年微博刚刚上线的时候,微博关系服务使用的是最传统的 Memcache+Mysql 的方案。Mysql 按 uid hash 进行了分库分表,表结构非常简单:tidfro
2014-04-16 16:47:29
962
转载 杨卫华谈新浪微博架构
在2010年的QCon北京大会上,InfoQ的编辑对杨卫华进行了采访,其中谈到了关于新浪微博系统平台应对各种问题的解决方案,以及正在开发中的新浪云。杨卫华,新浪产品部技术经理,目前工作以新浪微博技术平台为主,曾负责过新浪IM等通讯服务端架构设计。对互联网后端技术,分布式,网络编程,XMPP即时通讯等领域感兴趣。曾组织多次广州及珠三角技术沙龙活动。个人blog 为:http://timyang.
2014-04-16 16:32:08
1182
转载 Struts2使用之值栈与OGNL-概述
值栈的含义正如它的名字所表示的那样——对象所组成的栈。OGNL的全称是Object Graph NavigationalLanguage(对象图导航语言),提供了访问值栈中对象的统一方式。它是一种功能强大的表达式语言(ExpressionLanguage,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达
2014-04-14 19:33:45
683
转载 Struts2值栈
值栈ValueStack是Struts2框架核心组件,它提供对上下文信息和执行环境中元素的访问机制。其在底层实现了一个栈,但与传统栈的实现有所不同。值栈由以下4个层级对象组成(1) 临时对象:这些对象在请求处理过程中需要临时保存,比如集合中当前正在迭代的元素;(2) 模型对象:当Action实现了ModelDriven接口时,模型对象就会被存放在栈中被执行的Action前面;否则不存在
2014-04-14 19:18:16
501
转载 java 防止重复提交、重复刷新
一。前言 你在任何一个比较专业的BBS都会看到这样的问题,即使你Google一下,也会发现有很多的人在关注和询问,但大家给出的解决方法却都是千差万别,(有的人主张采用脚本来解决;有的则想重定向到别的页面;有的则将此问题提升到Token的角度)为什么会有如此大的差异呢?二。问题场景 首先,我们应该先了解为什么要处理这样的问题?或者专业一点就是它适合的场景是什么?(似乎只有人来问没
2014-04-14 19:11:33
977
转载 JAVA中堆和栈的区别
先了解具体的概念:JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)堆区:1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)。2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身。栈区:1.每个线程包含一个栈区,栈中只保存基础数据类型的
2014-04-14 19:08:00
610
转载 JVM垃圾回收机制详解和调优
这里向大家简单介绍一下JVM垃圾回收机制详解和调优,gc即垃圾收集机制,是指jvm用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc,也没有规定gc如何工作。JVM垃圾回收机制详解和调优1.JVM的gc概述gc即垃圾收集机制,是指jvm用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc,也没有规定gc如何工作。不过常用的jvm都有gc,而且大
2014-04-14 19:05:36
1156
转载 JVM 垃圾回收机制与GC性能调优
一、GC概要:JVM堆相关知识 为什么先说JVM堆? JVM的堆是Java对象的活动空间,程序中的类的对象从中分配空间,其存储着正在运行着的应用程序用到的所有对象。这些对象的建立方式就是那些new一类的操作,当对象无用后,是GC来负责这个无用的对象(地球人都知道)。JVM堆 (1) 新域:存储所有新成生的对象 (2) 旧域:新域中的对象,经过了一定次
2014-04-14 19:02:47
956
转载 MYSQL索引失效的各种情形总结
1) 没有查询条件,或者查询条件没有建立索引 2) 在查询条件上没有使用引导列 3) 查询的数量是大表的大部分,应该是30%以上。 4) 索引本身失效5) 查询条件使用函数在索引列上,或者对索引列进行运算,运算包括(+,-,*,/,! 等) 错误的例子:select * from testwhere id-1=9; 正确的例子:select * from test whereid=
2014-04-14 18:54:09
771
1
转载 memcached有关问题总结
* memcached是怎么工作的?* memcached最大的优势是什么?* memcached和MySQL的query cache相比,有什么优缺点?* memcached和服务器的local cache(比如PHP的APC、mmap文件等)相比,有什么优缺点?* memcached的cache机制是怎样的?* memcached如何实现冗余机制?* memcached
2014-04-14 18:47:22
690
转载 Spring MVC和Struts2的比较
虽然说没有系统的学习过Spring MVC框架, 但是工作这么长时间, 基本上在WEB层使用的都是Spring MVC, 自己觉得Struts2也是一个不错的WEB层框架, 这两种框架至今自己还未有比较, 今天闲着没事干, 从网上找了一些资料, 再加上平时使用Spring MVC的感触来总结一下。Spring MVC PK Struts2我们用struts2时采用的传统的配置文件的方式
2014-04-14 13:37:35
692
转载 设计模式之——单例模式(Singleton)的常见应用场景
单例模式(Singleton)也叫单态模式,是设计模式中最为简单的一种模式,甚至有些模式大师都不称其为模式,称其为一种实现技巧,因为设计模式讲究对象之间的关系的抽象,而单例模式只有自己一个对象,也因此有些设计大师并把把其称为设计模式之一。这里又不具体讲如何实现单例模式和介绍其原理(因为这方便的已经有太多的好文章介绍了),如果对单例模式不了解的可以先看下:http://terrylee.cnbl
2014-04-14 13:22:38
536
转载 visualvm监控jvm及远程jvm监控方法
VisualVM是Sun的一个OpenJDK项目,其目的在于为Java应用创建一个整套的问题解决工具。它集成了多个JDK命令工具的一个可视化工具,它主要用来监控JVM的运行情况,可以用它来查看和浏览Heap Dump、Thread Dump、内存对象实例情况、GC执行情况、CPU消耗以及类的装载情况。 Java开发人员可以使用 VisualVM创建必要信息的日志,系统管理人员可用来监控及控制J
2014-04-12 21:10:25
911
转载 Java WEB安全问题及解决方案
1.弱口令漏洞解决方案:最好使用至少6位的数字、字母及特殊字符组合作为密码。数据库不要存储明文密码,应存储MD5加密后的密文,由于目前普通的MD5加密已经可以被破解,最好可以多重MD5加密。2.未使用用户名及密码登录后台可直接输入后台URL登录系统。解决方案:通过配置filter来过滤掉无效用户的连接请求。3.JSP页面抛出的异常可能暴露程序信息。有经验的入侵者,可
2014-04-12 07:11:17
1012
转载 Tomcat日志文件分析详解
在server.xml里的标签下加上directory="logs"prefix="localhost_access_log." suffix=".txt"pattern="common"resolveHosts="false"/>就可以了,下面咱们逐一分析各个参数。
2014-04-11 19:12:16
5246
1
转载 apache日志分析简介
上次因工作的需求对一台apache的log做了一次整体的分析,所以顺便也对apache的日志分析做下简单的介绍,主要参考apache官网的Log Files,手册参照 http://httpd.apache.org/docs/2.2/logs.html一.日志分析如果apache的安装时采用默认的配置,那么在/logs目录下就会生成两个文件,分别是access_log和error_lo
2014-04-11 18:55:05
706
转载 关于集群和分布式部署
EJB的RPC是同步调用可实现分布式计算,是SessionBean和EntityBean用的,而JMS是异步调用。RMI,和webservice也可以实现分布式计算。举例说明,假设我们的系统有三个EJB组件:人事、财务、销售,都是开放远程接口,有A、B两台应用服务器,EJB分布式的概念就是可以在A上部署人事、财务的EJB包,在B上部署销售的EJB包,假如有一天用户发现负载不太均衡,就可
2014-04-11 12:07:05
3499
翻译 利用 Heartbleed 漏洞劫持用户登录会话
英文原文:Hijacking user sessions with the Heartbleed vulnerability
2014-04-10 17:28:02
773
转载 大型Java Web项目的架构和部署调优问题
一位ID是jackson1225的网友在javaeye询问了一个大型Web系统的架构和部署选型问题,希望能提高现有的基于Java的Web应用的服务能力。由于架构模式和部署调优一直是Java社区的热门话题,这个问题引发了很多热心网友的讨论,其中一些意见对其它大型Web项目也有很好的指导意义。在讨论之初jackson1225这样描述了当前的应用的架构和部署方案:
2014-04-09 23:20:19
3176
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人