小编uui*_*ode的帖子

lombok是如何工作的?

我今天遇到了lombok.
我非常想知道它是如何工作的.
Java Geek文章提供了一些线索,但对我来说并不是很清楚:

Java 6删除了apt并使javac能够管理注释,简化流程以获得更简单的单步计算.这是龙目岛采取的路径.

也许使用Java 6编译过程将是:javac - > apt - > lombok apt process - >读取类文件并使用ASM添加set/get方法?

你能告诉我关于机制的更多细节吗?

java annotations lombok

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

ext和代码块在gradle文件中的含义

ext {
    springVersion = "3.1.0.RELEASE"
    emailNotification = "build@master.org"
}
Run Code Online (Sandbox Code Playgroud)

上面的代码是build.gradle的片段

我理解用{}闭包参数调用ext方法.这是正确的?所以我认为gradle正在访问springVersion和emailNotification.我将用下面的代码验证我的假设

def ext(data) {
    println data.springVersion
}

ext {
    springVersion = "3.1.0.RELEASE"
    emailNotification = "build@master.org"
}
Run Code Online (Sandbox Code Playgroud)

但运行下面的代码错误发生.

groovy.lang.MissingPropertyException: No such property: springVersion for class: Test
Run Code Online (Sandbox Code Playgroud)

你具体解释ext和代码块吗?

groovy gradle

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

如何在Eclipse Memory Analyzer Tool中将@retainedHeapSize与oql相加

您是否使用过eclipse的MAT(Memory Analyzer Tool).它真的很酷.(1.5G堆转储文件kill jhat,ibm的堆转储分析器与OOME).MAT活着,快速,美丽,强大.

我想知道ehcahce键的内存大小是多少,所以写下面的oql.

SELECT c.key.@retainedHeapSize 
FROM net.sf.ehcache.store.compound.HashEntry c 
Run Code Online (Sandbox Code Playgroud)

不幸的是,sum(),max(),min()这样的组函数不存在.我将总结果行(约60,000)导出到excel文件并在excel表中求和.

你有关于使用组功能的提示或隐藏(?)功能/功能(如sum())吗?

java eclipse oql

12
推荐指数
2
解决办法
6033
查看次数

如何附加gc日志

下面是gc logging选项来编写特定文件

-verbose:gc
-Xloggc:/logs/gc.log
Run Code Online (Sandbox Code Playgroud)

好.好.但是当重新启动java应用程序时,文件中的旧gc日志内容消失了.我希望vm gc日志附加到"/logs/gc.log"文件中.

这方面有选择吗?或者我必须编写shell脚本来备份旧的gc文件?

java garbage-collection

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

spring boot 1.3如何在Interceptor preHandle方法中获取方法信息

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
    if (this.logger.isDebugEnabled()) {
        this.logger.debug(">>> handler: " + handler);
    }

    HandlerMethod handlerMethod = (HandlerMethod) handler;
    Login login = handlerMethod.getMethod().getAnnotation(Login.class);
}
Run Code Online (Sandbox Code Playgroud)

我在 spring 3.X 中有上面的拦截器代码可以工作。我喜欢在 Spring Boot 1.3的 Controller 中使用此代码@CrossOrigin@RequestMapping方法。但发生以下错误。

如何preHandle在spring boot 1.3中的Interceptor方法中获取方法信息?

Caused by: java.lang.ClassCastException: org.springframework.web.servlet.handler.AbstractHandlerMapping$PreFlightHandler cannot be cast to org.springframework.web.method.HandlerMethod
Run Code Online (Sandbox Code Playgroud)

spring-boot

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