小编Ser*_*rov的帖子

Java单元测试:如何测量方法调用的内存占用量

假设我有一个类进行一些繁重的处理,使用多个集合进行操作.我想要做的是确保这样的操作不会导致内存不足甚至更好我想设置一个可以使用多少内存的阈值.

class MyClass()
{
   public void myMethod()
   {
      for(int i=0; i<10000000; i++)
      {
         // Allocate some memory, may be several collections
      }
   }
}

class MyClassTest
{
   @Test
   public void myMethod_makeSureMemoryFootprintIsNotBiggerThanMax()
   {
      new MyClass().myMethod(); 
      // How do I measure amount of memory it may try to allocate?
   }
}
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么?或者这不可能/不可行?

java junit testng unit-testing out-of-memory

31
推荐指数
3
解决办法
2万
查看次数

如何使用Apache Shiro处理分层角色/权限?

我正在尝试使用Apache Shiro框架来保护我的Web应用程序(UI基于Vaadin 6).查看Shiro网站上的所有示例,并搜索了几个小时,但我找不到一个干净的方法来处理以下要求.

假设应用程序是一种项目管理工具,用户在其中创建属于公司层次结构中特定部门的活动.每个用户可以在多个部门工作,并且在每个部门中具有不同的安全角色.例:

Department A       - User is 'Manager' here
Department B
  Department C     - User is 'Admin' here
    Department D

用户是部门A中的"经理"用户是部门C中的"管理员"用户还应继承部门D(部门C的祖先)的"管理员"角色.

因此,基本权限检查(假设我想查看属于某个部门的活动)将是:

  1. 检查活动用户是否正在尝试查看属于部门用户的角色;
  2. 根据他在该部门中的角色检查用户是否需要获得许可.

我目前只是理解如何实现"系统范围的角色",而不是"在这个特定部门中扮演角色"的概念.

如何将上面的示例转换为权限字符串,如"activity:view:123"?我将如何检查业务逻辑中的权限?

另一个疑问是与Shiro的实现,我想使用一些开箱即用的解决方案将提供我自己的实现的最小努力.但是,似乎Shiro的内置实现仅针对简单的情况而设计.是否有任何复杂授权实现的例子(可以涵盖上述情况)?

security rbac vaadin shiro

11
推荐指数
1
解决办法
4090
查看次数

如何使用 Spring AOP 实现基于注解的安全性?

我是 Spring AOP(以及一般的 AOP)的新手,需要实现以下内容:

@HasPermission(operation=SecurityOperation.ACTIVITY_EDIT, object="#act")
public Activity updateActivity(Activity act)
{
   ...
}
Run Code Online (Sandbox Code Playgroud)

@HasPermission 是我自定义的注解,用来标记所有需要预授权的方法。我正在使用基于 Apache Shiro 的自定义安全检查实现。一般来说,我想我需要定义切入点来匹配所有带注释的方法,并提供方面的实现(之前或周围)。

我的问题是重新。方面的实施。

  • 如何从注释中提取操作对象参数?
  • 如何解析对象定义中的 SpEL 表达式并将对象作为“act”参数传递?

java aop spring aspectj spring-el

5
推荐指数
1
解决办法
4913
查看次数