小编jal*_*aba的帖子

Tomcat内存消耗超过堆+ permgen空间

我观察到操作系统所说的内容与jVisualVM所说的内容之间的Tomcat RAM消耗不匹配.

从htop开始,Tomcat JVM拥有993 MB的驻留内存

从jVisualVM,Tomcat JVM正在使用

  • 堆最大值:1,070,399,488 B
  • 堆大小:298.438.656 B.
  • 堆使用:可变,介于170MB和270MB之间
  • PermGen Max:268,435,456 B
  • PermGen尺寸:248,872,960 B
  • PermGen使用:略有变化,约150MB

根据我的理解,操作系统内存消耗应该是堆大小+ PermGen大小〜= 522 MB.但这比我观察到的要少471 MB.

任何人都知道我在这里错过了什么?

PS:我知道我的最大堆远远高于使用的,但我认为如果JVM不使用它(即堆大小较低)应该没有效果.

谢谢!渣

java memory tomcat jvm

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

Mybatis Generator:分离出"自动生成"和"手动编辑文件"的最佳方法是什么

我正在使用Mybatis(用于持久化java到数据库)和Mybatis Generator(用于从数据库模式自动生成映射器xml文件和java接口)的项目.

Mybatis生成器在生成基本crud操作所需的文件方面做得很好.

上下文

对于某些表/类,我们需要比MyBatis Generator工具生成的"crud stuff"更多的"东西"(代码查询等).

有没有办法拥有"两全其美",即使用自动生成以及"自定义代码".如何分离和构建"手动编辑的文件"和"自动生成的文件".

提案

我正在考虑以下内容,即表格"Foo"

自动生成

  • FooCrudMapper.xml
  • 接口FooCrud.java

(其中"Crud"代表"创建读取更新删除")

手编辑

  • FooMapper.xml
  • 界面Foo扩展了FooCrud

概念:如果架构发生了变化,您可以随时安全地自动生成"Crud"xml和.java文件,而不会消除任何自定义更改.

问题

  • mybatis会正确处理这种情况,即这个映射器是否会正确执行自动生成的"crud代码"?

    FooMapper fooMapper = sqlSession.getMapper(FooMapper.class);

  • 你推荐什么方法?

编辑1:*我们的数据库设计使用"核心表"("元素"),其他表"扩展"该表并添加额外的属性(共享密钥).我查看了文档和来源得出结论,我不能将Mybatis Generator与这样的'扩展'结合使用而不需要任何手动编辑:

即这不起作用.-ElementMapper扩展"ElementCrudMapper"-FooMapper.xml扩展"ElementCrudMapper"和"FooCrudMapper"

谢谢大家!

mybatis mybatis-generator

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

在多行javascript中传播html

我想把下面的html代码放在我的javascript函数中.我不想把它们全部放在一起.代码是否可能与html中的代码相同?码:

    <div data-role="page" data-add-back-btn="true" id="Gallery2" class="gallery-page">

        <div data-role="header">
            <h1>Second Gallery</h1>
        </div>

        <div data-role="content">   

            <ul class="gallery">

                <li><a href="images/full/010.jpg" rel="external"><img src="images/thumb/010.jpg" alt="Image 010" /></a></li>
                <li><a href="images/full/011.jpg" rel="external"><img src="images/thumb/011.jpg" alt="Image 011" /></a></li>
                <li><a href="images/full/012.jpg" rel="external"><img src="images/thumb/012.jpg" alt="Image 012" /></a></li>
                <li><a href="images/full/013.jpg" rel="external"><img src="images/thumb/013.jpg" alt="Image 013" /></a></li>
                <li><a href="images/full/014.jpg" rel="external"><img src="images/thumb/014.jpg" alt="Image 014" /></a></li>
                <li><a href="images/full/015.jpg" rel="external"><img src="images/thumb/015.jpg" alt="Image 015" /></a></li>
                <li><a href="images/full/016.jpg" rel="external"><img src="images/thumb/016.jpg" alt="Image 016" /></a></li>
                <li><a href="images/full/017.jpg" rel="external"><img src="images/thumb/017.jpg" alt="Image 017" /></a></li>
                <li><a href="images/full/018.jpg" rel="external"><img src="images/thumb/018.jpg" alt="Image 018" /></a></li>

            </ul>

        </div> …
Run Code Online (Sandbox Code Playgroud)

html javascript

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

Liferay:根据组织更改用户登录页面

我正在使用Liferay 6.0.我有多个组织,并希望根据组织更改用户的登录页面.

我是Liferay的新手,试图找到一些建议,但找不到正确的答案.

是否可以使用开箱即用的工具?没有编写代码?

如果需要代码,最佳解决方案是什么?

请帮忙,谢谢

java liferay

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

如何在groovy中将新的json字段添加到现有的json中

我现有的Json看起来像:

def json_req = "{\"date\":\"Tue, 06 Oct 2015 09:10:52 GMT\",\"nonce\":\"6cm7PmwDOKs\",\"devId\":\"<value>\",\"appId\":\"<value>\"}
Run Code Online (Sandbox Code Playgroud)

执行操作我可以获得sig有价值的字段.我需要附加这个附加字段的值如下:

"sig":"<value>"
Run Code Online (Sandbox Code Playgroud)

所以新的json看起来像:

def json_req = "{\"date\":\"Tue, 06 Oct 2015 09:10:52 GMT\",\"nonce\":\"6cm7PmwDOKs\",\"devId\":\"<value>\",\"appId\":\"<value>\",\"sig\":\"<value>\"}"
Run Code Online (Sandbox Code Playgroud)

在同一个脚本中,我可以使用json中的值附加这个新参数吗?

groovy json

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

带有 MyBatis TypeHandler 的空对象模式

我一直在尝试TypeHandler在 MyBatis 中进行自定义,以便对于null数据库中的列,MyBatis 返回Null Object 模式的实现,而不是null在域类中包含一个。

谷歌搜索帮助后,我找到了优秀的项目mybatis-koans,即koan 19,它使用我正在使用的相同方法解决了这个问题,即扩展BaseTypeHandler<T>(是抽象的)。在这一点上,我有一个TypeHandler类似于EmailTypeHandlerkoan 的具体内容

/**
 * Acts as a factory method to return the appropriate implementation of an Email.
 * Returns a Null object if the email value in the database was null/empty
 */
public class EmailTypeHandler extends BaseTypeHandler<Email> {

  @Override
  public Email getNullableResult(ResultSet rs, String colName) throws SQLException {
    return createEmail(rs.getString(colName));
  }

  @Override …
Run Code Online (Sandbox Code Playgroud)

java mybatis typehandler

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

必须使用 '.*' 或 '-&gt;*' 在 'lessThan (...)' 中调用指向成员函数的指针,例如 '(... -&gt;* lessThan) (...)'

我正在尝试根据 QDateTime 对 QList 进行排序,但出现以下错误:

must use '.*' or '->*' to call pointer-to-member function in 'lessThan (...)', e.g. '(... ->* lessThan) (...)'
 if (lessThan(*end, *start))
                          ^
Run Code Online (Sandbox Code Playgroud)

排序功能:

bool sortRecord(Record left, Record right){
    return left.getArrival().getDate() < right.getArrival().getDate();
}
Run Code Online (Sandbox Code Playgroud)

函数是这样调用的:

qSort(recordList.begin(), recordList.end(), sortRecord);
Run Code Online (Sandbox Code Playgroud)

Record 中到达的 getter 和 setter:

void Record::setArrival(Arrival arrival){
    this->arrival = arrival;
}
Arrival Record::getArrival(){
    return this->arrival;
}
Run Code Online (Sandbox Code Playgroud)

getDate() 到达功能:

QDateTime Arrival::getDate(){
    QDateTime qDateTime;

    QDate qDate;
    qDate.setDate(date.getDateYear(), date.getDateMonth(), date.getDateDay());
    qDateTime.setDate(qDate);

    vector<string> timeS = splitTime(time.getTimeFrom());

    QTime qTime;
    qTime.setHMS(stoi(timeS[0]), stoi(timeS[1]), 0);
    qDateTime.setTime(qTime); …
Run Code Online (Sandbox Code Playgroud)

c++ qt qsort qlist

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

在Groovy类中实现Java接口

我刚刚开始使用Groovy进行编程.我注意到一个奇怪的行为,无法找到相同的解释.

我创建了一个Java接口TestInterface.java

public interface TestInterface {

    public void m1();

}
Run Code Online (Sandbox Code Playgroud)

我创建了一个Groovy类TestG.groovy

class TestG implements TestInterface {

}
Run Code Online (Sandbox Code Playgroud)

我创建了一个Java类TestJ.java

public class TestJ implements TestInterface{

    @Override
    public void m1() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    } 
}
Run Code Online (Sandbox Code Playgroud)

我的问题在于TestG为什么我没有得到任何错误来实现抽象方法或将类声明为抽象.

java和groovy有什么不同,因为我需要实现抽象方法或者在Java中将类声明为抽象而不是在Groovy中.

java groovy

4
推荐指数
1
解决办法
4991
查看次数

在Java应用程序中使用groovy.lang.Closure

我想在Java应用程序中使用Groovy Closure类,但是遇到的麻烦比预期的要多.这就是我所拥有的:

int count = 0;
groovy.lang.Closure closure = { count = 1 };
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用JDK 7编译它时,我收到错误: illegal initializer for Closure

我错过了一些非常明显的东西吗 谢谢你的帮助.

java groovy closures

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

如何在 groovy 中进行休息 PUT/POST

如何从 Groovy 代码内部执行 HTTP PUT/POST,而无需导入任何库(如果可能的话)?我知道 Groovy 添加到 java.net.URL 类中有一个简单的 getText() 方法,可以在不添加任何依赖项的情况下使用该方法。有没有办法以同样的方式进行 Rest PUT?

rest groovy

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

标签 统计

java ×5

groovy ×4

mybatis ×2

c++ ×1

closures ×1

html ×1

javascript ×1

json ×1

jvm ×1

liferay ×1

memory ×1

mybatis-generator ×1

qlist ×1

qsort ×1

qt ×1

rest ×1

tomcat ×1

typehandler ×1