小编use*_*323的帖子

增加maxpermsize和max heap size的副作用

任何人都可以解释增加maxpermsize和max heap size的副作用吗?

我知道有时候,当我们遇到outofmemory问题时,我们会增加-Xmx.但我只是想知道当我们增加-Xmx时是否需要记住任何副作用.增加maxpermsize如何影响运行时?

谢谢.

java jvm

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

java Singleton - 通过反射防止多次创建

我有一个像这样的单身人士.

public class BookingFactory {

    private final static BookingFactory instance;

    static {
        instance = new BookingFactory();
    }

    public static BookingFactory getInstance() {
        return instance;
    }

    private BookingFactory() {
        System.out.println("Object is created.");
    }
}

public class Test  {
    BookingFactory instance = BookingFactory.getInstance();
    instance = BookingFactory.getInstance();

    Class<?> clazz = Class.forName("com.test.BookingFactory");

    Constructor pvtConstructor = clazz.getDeclaredConstructors()[0];

    // Set its access control
    pvtConstructor.setAccessible(true);

    // Invoke Private Constructor
    BookingFactory notSingleton = (BookingFactory) pvtConstructor.newInstance(null);
}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我看到了多条打印输出消息.有没有办法阻止这个单例从这个反射中被多次实例化?

谢谢.

java singleton

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

Java String文字池和字符串对象

我知道JVM维护一个字符串文字池来提高性能并维护JVM内存,并了解到字符串文字是在字符串池中维护的.但我想澄清与堆上创建的字符串池和字符串对象相关的内容.

如果我的解释错误,请纠正我.

String s = "abc";
Run Code Online (Sandbox Code Playgroud)

如果执行上面的行,如果池中不存在"abc"字符串文字,则将其添加到字符串池中.并且在堆上创建字符串对象,引用s将指向池中的文字.

问题:

  1. 这个代码每次执行时都会在堆上创建字符串对象吗?
  2. 字符串文字池是仅维护字符串文字还是维护字符串对象?
  3. JVM何时决定是否需要将字符串文字添加到字符串池中?它是在编译时还是运行时决定的?

如果它指向池中的字符串文字,我不确定在哪里创建字符串对象.

谢谢.

java string

11
推荐指数
2
解决办法
8751
查看次数

动态 Docker 基础镜像

我有一个 Dockerfile,需要从命令行获取基本映像标签并动态加载它,但我使用此命令行收到此错误。

$ docker build --network=host --build-arg sample_TAG=7.0  --rm=true .

Step 9/12 : FROM "${sample_TAG}"
base name ("${sample_TAG}") should not be blank
Run Code Online (Sandbox Code Playgroud)

Docker 文件:

FROM maven:3.6.1-jdk-8 as maven-build

ARG sample_TAG

ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8


WORKDIR /apps/sample-google


COPY . /apps/sample-google


RUN mvn clean package



RUN echo "image tag is ${sample_TAG}"

FROM $sample_TAG


VOLUME /apps

RUN mkdir /apps/sample-google
COPY --from=maven-build  /apps/sample-google/target /apps/sample-google
Run Code Online (Sandbox Code Playgroud)

echo 行正确打印“最新”字符串,但在“FROM $sample_TAG”行中失败。

docker dockerfile

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

Lucene与TopScoreDocCollector分页

我和Lucene有这样的代码.有人可以提供一些关于如何与Lucene进行分页的示例或提示吗?

    Query q = queryParser.parse(useQuery);
TopScoreDocCollector collector = TopScoreDocCollector.create(maxReturn, true);
searcher.search(q, collector);
Run Code Online (Sandbox Code Playgroud)

谢谢.

lucene

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

如何从常规javascript函数访问jquery中的变量

我是jquery的新手.我试图访问jquery之外的jquery块中定义的变量(来自常规函数),但是我无法访问它.有人可以告诉我怎么样?

<script language="javascript">
$(function()
{
    .......
    .......
    .......
    var api = pane.data('jsp');
    var current_location = api.getContentPositionX();
}

function change_title(t_index) {
    alert("print="+$.current_location);
    window.location.href="page.php?p="+$.current_location);
}
Run Code Online (Sandbox Code Playgroud)

我想获得$ .current_location的值.

谢谢.

javascript

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

mongodb java driver - com.mongodb.MongoException:找不到高手

我正在尝试连接到远程mongodb.我用当地的mongodb开发了我的应用程序.现在我将应用程序部署到开发人员并配置了dev mongodb.我收到以下异常.

Caused by: com.mongodb.MongoException: can't find a master
    at com.mongodb.DBTCPConnector.checkMaster(DBTCPConnector.java:509)
    at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:266)
    at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:289)
    at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:274)
    at com.mongodb.DBCursor._check(DBCursor.java:368)
    at com.mongodb.DBCursor._hasNext(DBCursor.java:459)
    at com.mongodb.DBCursor.hasNext(DBCursor.java:484)
Run Code Online (Sandbox Code Playgroud)

有趣的是,我可以使用本地应用程序中的副本集服务器地址连接到dev mongodb,但是当我尝试将应用程序(深入到dev中)连接到dev mongodb时,我看到上面的错误.

我想知道是否有人遇到同样的问题并解决了.

java mongodb

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

编辑嵌入在浏览器中的pdf并将pdf直接保存到服务器

我有这个工作流程。

  1. 将包含表单字段的 pdf 加载到浏览器中(iframe 或 div 中的 pdf)。
  2. 用户填写
  3. 用户单击“提交”按钮(在另一个 div 中)以保存 pdf。

我想在#3 中做的是收集与表单字段关联的所有数据并将数据保存到数据库表中。我不希望用户将 pdf 保存到他/她的本地计算机并将其上传到服务器。我想让它更加用户友好。

我将在服务器端使用 Java/JSP/Servlet。我查看了似乎流行/众所周知的用于处理 pdf 文件的 itext,但 itext 似乎用于生成/编辑 pdf,但我不确定是否有任何方法可以使功能能够编辑嵌入在浏览器中的 pdf 并保存到数据库。

是否有任何 adobe 软件提供某种功能,我可以注入某种可以捕获用户提交的脚本?我知道 PDF 不是前端脚本语言,但我只是在问。

我打算创建一个看起来像这个 PDF 的 HTML 表单,并在用户单击“提交”按钮时将其填充到 PDF 中,但正如我所说,我想让它更加用户友好。

如果有人看到过这种类型的功能或做过这种功能,我会很感激给我一些资源或提示。

java pdf itext

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

spring boot Redis 配置 - 发生连接失败。5000 毫秒后重新启动订阅任务

我有以下 spring boot redis 配置。

@Configuration
public class RedisConnectionConfiguration {
@Bean
public RedisTemplate<String, Object> redisTemplate() {
    RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
    redisTemplate.setConnectionFactory(jedisConnectionFactory());
    return redisTemplate;
}

@Bean
RedisConnectionFactory jedisConnectionFactory() {
    JedisConnectionFactory jedisConnectionFactory = null;
        jedisConnectionFactory = new JedisConnectionFactory();
        jedisConnectionFactory.setHostName(host);
        jedisConnectionFactory.setPort(port);
        jedisConnectionFactory.setTimeout(0);
        jedisConnectionFactory.setPassword(password);
        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();


        jedisPoolConfig.setMaxTotal(20);
        jedisPoolConfig.setMaxIdle(9000);
        jedisPoolConfig.setMinIdle(16);
        jedisPoolConfig.setTestOnBorrow(true);
        jedisPoolConfig.setTestOnReturn(true);
        jedisPoolConfig.setTestWhileIdle(true);
        jedisPoolConfig.setMinEvictableIdleTimeMillis(60000);
        jedisPoolConfig.setTimeBetweenEvictionRunsMillis(60000);
        jedisPoolConfig.setNumTestsPerEvictionRun(3);
        jedisPoolConfig.setBlockWhenExhausted(true);
        jedisConnectionFactory.setPoolConfig(jedisPoolConfig);

    return jedisConnectionFactory;
}

@Bean
MessageListenerAdapter messageListener() {
    return new MessageListenerAdapter(eventListenerService);
}

@Bean
ChannelTopic topic() {
    return new ChannelTopic(com.mds.core.common.Constants.REDIS_TOPIC_NAME);
}

@Bean
RedisMessageListenerContainer …
Run Code Online (Sandbox Code Playgroud)

spring-mvc redis spring-data spring-boot

5
推荐指数
0
解决办法
1581
查看次数

java - 如果hashCode没有被覆盖会怎么样?

可能重复:
什么是对象哈希码

假设我创建了一个对象,该对象Employee具有id,firstName,lastName和电子邮件,用于实例变量和相应的setter/getter方法.hashCode()如果hashCode()Employee对象存储在集合对象中时不覆盖对象,如何计算?

java hashcode

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