小编VB_*_*VB_的帖子

Maven:OutOfMemoryError - 堆空间

问题:我运行mvn clean install -DskipTest,并得到

[ERROR] The system is out of resources.
[ERROR] Consult the following stack trace for details.
[ERROR] java.lang.OutOfMemoryError: Java heap space
Run Code Online (Sandbox Code Playgroud)

更多信息:

  • 操作系统: OS X(16 GB RAM)

  • Java配置:位于~/Libraries/Preferences/IntelliJIdea13/idea.vmoptinsApplications/IntelliJ\ Idea\ 13.app/bin/idea.vmoptions

    -Xms256m -Xmx2048m -XX:MaxPermSize = 1024m -XX:ReservedCodeCacheSize = 256m -XX:+ UseCompressedOops

  • MAVEN_OPTS: export MAVEN_OPTS="-Xmx2048M -XX:PermSize=92M -XX:MaxPermSize=384M"位于~/.bash_profile

  • Intellij Idea maven选择: -xms256m -xmx2048 -XX:MaxPermSize=1024M.我把它们设置在Default Settings- > MAven- > Runner- >中VM Options

问题: 如何解决?

堆栈跟踪:

[ERROR] …
Run Code Online (Sandbox Code Playgroud)

java macos intellij-idea maven

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

如何在辅助轴上设置 flex-basis

如何使弹性项目在辅助轴上收缩?

例如,我有一个容器,里面有很多物品。它们都位于列中,但我希望它们的宽度也可以缩小:

.container {
  display: flex;
  flex-direction: column;
  .item {
    width: 200px;
    flex: 0 1 @item-height;
    //flex-shrink here means Y-axis. How to set flex-shrink for X-axis??
  }
}
Run Code Online (Sandbox Code Playgroud)

css flexbox

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

LDAP JWT OAuth方案说明

我正在尝试系统化我对oauth + jwt + LDAP授权的了解.我已经阅读了多篇优秀文章(即这篇文章)但仍有疑问:

我的理解:

  1. JWT是允许单点登录(SSO)的令牌.它比简单的令牌身份验证更安全,因为它加密所有用户特定的信息(例如userName,password,clientAppId,ip address等).此信息使用内部授权服务器密钥签名,攻击者无法更改. 在此输入图像描述
  2. 这里,看下面的短语.据我所知,这意味着每个HTTP前端服务器都不需要查找会话数据.但它需要查找权限服务器.有什么好处?这不是同一个故障点吗?为什么JWT被认为是无国籍的?JWT仍然需要在权限服务器上保留用户数据,对吗?

    服务器端存储问题消失了.

  3. 如果您需要在有效期之前注销用户使用JWT - 您需要保留黑名单.那么没有SSO的简单令牌uath的好处是什么?
  4. JWT是OpenID的实现(仅限身份验证)吗?
  5. 在没有OAuth的情况下,使用JWT(令牌)对服务器2服务器进行自动登录是不可能的.当您无需用户参与即代表用户授权来自某些服务的请求时,将使用Oauth.为什么令牌不可能与OAuth一起使用?
  6. OAuth还用于配置灵活的访问策略,如角色,组等.但为什么你不能基于令牌/ JWT自己实现它们?
  7. LDAP服务器对于小的非互连数据片段的读取操作非常快,作为用户凭证.LDAP在jwt-oauth方案中(或在OppenID Connect中)在哪里?LDAP用于身份验证(JWT)还是授权(OAuth)?

security openid oauth token jwt

8
推荐指数
1
解决办法
2314
查看次数

Hibernate实体可序列化

我已经阅读了一些关于hibernate和实体序列化的主题,但是仍然无法理解为什么我的应用程序工作,尽管事实上我没有实现Serializable.

"如果实体实例通过值作为分离对象传递,例如通过会话bean的远程业务接口,则该类必须实现Serializable接口." (C)

我拥有: 使用Hibernate的简单Spring MVC项目.我有MyEntity数据表,以及用户从我的应用程序编辑它的功能.

  • 用户向getMyEntity()发出请求,并获取空的MyEntity对象
  • 然后在表格中他设置了所有需要的参数

  • 然后将更新的myEntity发送到服务器

问题: 根据我的理解,用户在填写表单时将拥有myEntity对象.所以,myEntity处于分离状态.但是,MyEntity没有实现Serializable

我的问题:

  • 如果没有MyEntity实现Serializable,为什么它可以工作?

  • 我对我的所有实体都有相同的方案(如上所述).我需要实现Serializable吗?

serialization spring hibernate

7
推荐指数
1
解决办法
8109
查看次数

ThreadPoolExecutor:它如何重用线程

我读到ThreadPoolExecutor有线程池,这个池注定要降低创建新线程的成本(至少我以这种方式理解下面的短语):

当您将任务发送到执行程序时,它会尝试使用池化线程来执行此任务,以避免持续产生线程.[Java 7并发手册]

但是,据我所知,我们无法在Java中重启线程.

问题: ThreadPoolExecutor如何避免创建新线程?

java concurrency multithreading

7
推荐指数
1
解决办法
1769
查看次数

Fork加入优化

我想要的是

我想研究fork/join算法的优化.通过优化,我的意思是计算最佳线程数,或者如果你想要 - 计算SEQUENTIAL_THRESHOLD(参见下面的代码).

// PSEUDOCODE
Result solve(Problem problem) { 
    if (problem.size < SEQUENTIAL_THRESHOLD)
        return solveSequentially(problem);
    else {
        Result left, right;
        INVOKE-IN-PARALLEL { 
            left = solve(extractLeftHalf(problem));
            right = solve(extractRightHalf(problem));
        }
        return combine(left, right);
    }
}
Run Code Online (Sandbox Code Playgroud)

我怎么想象呢

例如,我想计算大数组的乘积.然后我只评估所有组件并获得最佳线程数量:

SEQUENTIAL_THRESHOLD = PC * IS / MC (只是例子)

PC - 处理器核心数量; IS - 常量,表示具有一个处理器内核的最佳阵列大小和对数据的最简单操作(例如读取); MC - 倍增运营成本;

假设MC = 15; PC = 4且IS = 10000; SEQUENTIAL_THRESHOLD = 2667.如果子任务数组大于2667,我会分叉它.

广泛的问题

  1. 是否有可能以这种方式制作SEQUENTIAL_THRESHOLD公式?
  2. 是否有可能为更复杂的计算完成相同的工作:不仅是对数组/集合和排序的操作?

狭义的问题:

是否已经存在关于SEQUENTIAL_THRESHOLD数组/集合/排序计算的一些调查?他们如何实现这一目标?

2014年3月7日更新:

  1. 如果无法为阈值计算编写单个公式,我可以编写一个将在PC上执行预定义测试的util,并获得最佳阈值吗?这也不可能吗?
  2. Java 8 Streams …

java concurrency multithreading fork-join java-8

7
推荐指数
2
解决办法
1126
查看次数

Intellij:转到autowired bean定义

我正在寻找通过java代码中的@Autowired依赖项快速查找bean定义的方法.假设我有:

@Autowired 
private JdbcTemplate template;
Run Code Online (Sandbox Code Playgroud)

我想IDEA告诉我哪个xml文件是templatebean 的定义.怎么做?

intellij-idea

7
推荐指数
1
解决办法
5686
查看次数

从本地 Spark 访问 AWS Glue

有没有办法针对 AWS Glue 运行本地主 Spark SQL 查询?

在我的本地 PC 上启动此代码:

SparkSession.builder()
    .master("local")
    .enableHiveSupport()
    .config("hive.metastore.client.factory.class", "com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory")
    .getOrCreate()
    .sql("show databases"); // this query isn't running against AWS Glue
Run Code Online (Sandbox Code Playgroud)

根据一些示例进行编辑,似乎hive.metastore.uris配置键应该允许指定特定的 Metastore url,但是,尚不清楚如何获取胶水的相关值

SparkSession.builder()
    .master("local")
    .enableHiveSupport()
    .config("hive.metastore.client.factory.class", "com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory")
    .config("hive.metastore.uris", "thrift://???:9083")
    .getOrCreate()
    .sql("show databases"); // this query isn't running against AWS Glue
Run Code Online (Sandbox Code Playgroud)

amazon-web-services apache-spark apache-spark-sql aws-glue

7
推荐指数
1
解决办法
1912
查看次数

Kappa体系结构:插入到批处理/分析服务层时

如您所知,Kappa体系结构是Lambda体系结构的某种简化。Kappa不需要批处理层,而是速度层必须保证历史数据重新计算的计算精度和足够的吞吐量(更多的并行性/资源)。

如果您需要基于历史数据进行分析,Kappa架构仍然需要两个服务层。例如,年龄小于2周的数据存储在Redis(流服务层),而所有较旧的数据存储在HBase的某个位置(批服务层)。

什么时候(由于Kappa体系结构)我必须将数据插入批处理服务层? 如果流传输层将数据紧紧地插入批处理和流服务层中,那么迟到数据又如何呢?还是流层应该定期将速度服务层备份到批服务层?


示例:假设数据源是Kafka,数据由Spark结构化流或Flink处理,接收器是Redis和HBase。什么时候写入Redis和HBase?

architecture streaming apache-spark lambda-architecture apache-flink

7
推荐指数
1
解决办法
96
查看次数

Spring:将属性文件注入map

我有一个属性文件如下:

transition.s1=s2,s5
transition.s2=s4,s1
...................
Run Code Online (Sandbox Code Playgroud)

问题:如何将这些属性注入Map<String, String>?你能提供一个例子吗?

java spring

6
推荐指数
1
解决办法
9695
查看次数