小编Jas*_*per的帖子

用于查找Java堆大小和内存的命令行工具(Linux)?

是否有一个命令行工具(Linux)来检查Java应用程序的堆大小(和使用的内存)?

我试过jmap.但它提供了信息.关于内部记忆区域,如Eden/PermGen等,这对我没用.

我正在寻找类似的东西:
最大内存:1GB
最小内存:256 MB
堆内存:700 MB已
用内存:460 MB

就这样.我知道我可以在JConsole等中看到这个,但我需要一个命令行工具(不能启用JMX等)

任何这样的工具/命令?

java linux memory heap performance

154
推荐指数
13
解决办法
51万
查看次数

Spring MVC - 检查用户是否已通过Spring Security登录?

我有一个Spring MVC应用程序.它使用自己的自定义登录页面.成功登录后,会在HTTPSession中放置一个"LOGGED_IN_USER"对象.

我想只允许经过身份验证的用户访问URL.我知道我可以通过使用网络过滤器实现这一目标.但是,这部分我想使用Spring Security(我的检查将保持不变 - 在HTTPSession中查找'LOGGED_IN_USER'对象,如果存在,您已登录).

我的约束是我目前无法改变登录行为 - 这还不会使用Spring Security.

我可以使用Spring Security的哪个方面单独实现此部分 - 检查请求是否经过身份验证(来自登录用户)?

java security spring spring-mvc spring-security

41
推荐指数
3
解决办法
8万
查看次数

Java应用程序中的高CPU利用率 - 为什么?

我有一个Java应用程序(基于Web),有时显示非常高的CPU利用率(几乎90%)几个小时.Linux TOP命令显示了这一点.在应用程序重启时,问题就消失了.

所以要调查:

我使用Thread Dump来查找线程正在做什么.在'RUNNABLE'州中发现了几个线程,在少数其他状态中发现了一些线程.在重复的线程转储中,我确实看到一些始终存在于'RUNNABLE'状态中的线程.所以,他们似乎是罪魁祸首.

但我无法确定,哪个Thread正在占用CPU或进入无限循环(从而导致高CPU利用率).

日志不一定有用,因为违规代码可能没有记录任何内容.

我如何调查 - 应用程序的哪个部分或什么线程导致高CPU利用率? - 还有其他想法吗?

java performance multithreading web-applications cpu-usage

36
推荐指数
3
解决办法
9万
查看次数

我为什么要使用Drools?

我不是Drools专家.不过,我对它有一些熟悉,通过试验它.我无法理解,为什么我需要它.

我的典型应用是商业Web应用程序.是的,他们确实有一些规则.但这些是使用数据库表,SQL查询和一个很好的用户界面实现的,以便业务用户修改规则.规则不是任意的,它们在投入生产之前都经过仔细考虑.

我的商业用户永远不会使用(Drools)脚本语言来修改任何东西.单独修改规则.他们非常高兴使用UI屏幕来修改规则.另外,如果我让它们靠近它,它们可以在Drools文件中产生无数的语法错误.

再次
- 为什么我应该在这种情况下使用Drools?
- 我见过的Drools狂热分子坚持认为我应该改变我的所有代码以利用Drools.

那么,Drools有用吗?我不确定.

java scripting rule-engine rules drools

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

iOS Swift:UIPageViewController - 以编程方式转换页面

我有一个UIPageViewController,当我们向左或向右滑动以翻页时它工作正常.

class ViewController: UIViewController, UIPageViewControllerDataSource {
...
}
Run Code Online (Sandbox Code Playgroud)

现在我打算在页面上提供上一个/下一个按钮,以便通过单击这些按钮来转动页面.

如何触发向左/向右滑动或以编程方式翻页?


注意

这是Swift语言的问题,而不是Objective-C.

uiviewcontroller ios uipageviewcontroller swift

24
推荐指数
5
解决办法
3万
查看次数

Java ThreadLocal静态?

在线程本地中设置值:

//Class A holds the static ThreadLocal variable.

    Class A{

    public static ThreadLocal<X> myThreadLocal = new ThreadLocal<X>();             
    ....
    }


//A Class B method sets value in A's static ThreadLocal variable 
    class B{
    {
         public void someBmethod(){
             X x = new X();
             A.myThreadLocal.set(x);
         }
    }


//Class C retrieves the value set in A's Thread Local variable.

    Class C {

    public void someCMethod(){
         X x = A.myThreadLocal.get();
    }
    ...
    }
Run Code Online (Sandbox Code Playgroud)

Quesiton:
现在假设这是一个Web应用程序,并且线程按顺序执行:B.someBMethod,C.someCMethod.

执行B的someBMethod的多个线程将最终更新SAME A的静态ThreadLocal变量myThreadLocal,从而击败了ThreadLocal变量的目的.(对于ThreadLocal使用静态是根据文档推荐的.)

C的someCMethod,虽然从ThreadLocal中检索值可能无法获得"当前"线程设置的值.

我在这里失踪了什么?

java multithreading thread-local java-ee

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

AWS Lambda函数REST API端点 - 403错误

我有一个AWS Lambda函数,它作为REST API公开.

当通过aws lambda控制台上的Test按钮调用它时,它可以正常工作.

当通过在线REST客户端调用它时,我收到403错误.它被创建为需要 - 无需身份验证(打开).

我错过了什么配置?

amazon-web-services aws-lambda

14
推荐指数
3
解决办法
1万
查看次数

在22以外的端口上的Amazon EC2实例上运行ssh

我无法通过ssh访问Amazon EC2实例,因为我在防火墙后面.所以,我想在22以外的端口上运行ssh,比如80或443.

我尝试使用以下"用户数据"通过Web管理控制台启动Amazon EC2实例:

#!/bin/bash -ex
perl -pi -e 's/^#?Port 22$/Port 80/' /etc/ssh/sshd_config
service sshd restart || service ssh restart
Run Code Online (Sandbox Code Playgroud)

这个想法是上面的脚本将在实例启动时执行并将ssh从端口22切换到端口80.(参考:http://alestic.com/2010/12/ec2-ssh-port-80)

但是仍然无法在端口80上访问ssh.显然,"用户数据"脚本在启动时没有被执行?

我只能"通过Web管理控制台"启动停止实例,而不是从命令行启动停止实例(在防火墙后面)

有任何想法吗?

cloud ssh amazon-ec2

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

数据驱动规则引擎 - 流口水

我一直在评估Drools作为规则引擎,用于我们的业务Web应用程序.

我的用例是订单管理应用程序.
规则如下:
- 如果用户类型为"特殊",则额外提供5%的折扣.
- 如果用户已经进行了10次以上的购买,请额外享受3%的折扣.
- 如果产品类别为"旧",请向价值5美元的用户赠送礼品篮.
- 如果产品类别为"新",请向价值1美元的用户赠送礼品篮
- 如果用户过去已购买超过1000美元,则免费送货

我看到的直接挑战是:
- 没有有意义的用户界面可以提供给最终用户修改规则.
- 从最终用户的角度来看,Guvnor UI或任何修改drl文件的编辑器都是不可接受的 - 这些规则中的大多数都将在db中可用的大量数据上运行

所以,
- 我想让管理员用户在我的Web App UI中指定这些规则.
- 我可以将这些"规则"存储在数据库中,然后通过Drools对它们进行操作 - 至少允许我通过"自己的"UI"修改"这些规则.所以这就像数据库中的决策表.
- 最好的方法是什么?

java rules drools decision-tree

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

如何强制RPM在单个目录中安装文件,是否可能?

rpm install命令,安装整个文件,如:/ usr/bin,/ usr/sbin,/ etc /,/ usr/share

这样很难弄清楚安装的所有内容.是否可以强制rpm将所有内容安装在一个目录中?

linux install rpm

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