假设我有一个类进行一些繁重的处理,使用多个集合进行操作.我想要做的是确保这样的操作不会导致内存不足甚至更好我想设置一个可以使用多少内存的阈值.
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)
这样做的正确方法是什么?或者这不可能/不可行?
我正在尝试使用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的祖先)的"管理员"角色.
因此,基本权限检查(假设我想查看属于某个部门的活动)将是:
我目前只是理解如何实现"系统范围的角色",而不是"在这个特定部门中扮演角色"的概念.
如何将上面的示例转换为权限字符串,如"activity:view:123"?我将如何检查业务逻辑中的权限?
另一个疑问是与Shiro的实现,我想使用一些开箱即用的解决方案将提供我自己的实现的最小努力.但是,似乎Shiro的内置实现仅针对简单的情况而设计.是否有任何复杂授权实现的例子(可以涵盖上述情况)?
我是 Spring AOP(以及一般的 AOP)的新手,需要实现以下内容:
@HasPermission(operation=SecurityOperation.ACTIVITY_EDIT, object="#act")
public Activity updateActivity(Activity act)
{
...
}
Run Code Online (Sandbox Code Playgroud)
@HasPermission 是我自定义的注解,用来标记所有需要预授权的方法。我正在使用基于 Apache Shiro 的自定义安全检查实现。一般来说,我想我需要定义切入点来匹配所有带注释的方法,并提供方面的实现(之前或周围)。
我的问题是重新。方面的实施。