我今天遇到了lombok.
我非常想知道它是如何工作的.
Java Geek文章提供了一些线索,但对我来说并不是很清楚:
Java 6删除了apt并使javac能够管理注释,简化流程以获得更简单的单步计算.这是龙目岛采取的路径.
也许使用Java 6编译过程将是:javac - > apt - > lombok apt process - >读取类文件并使用ASM添加set/get方法?
你能告诉我关于机制的更多细节吗?
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和代码块吗?
您是否使用过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())吗?
下面是gc logging选项来编写特定文件
-verbose:gc
-Xloggc:/logs/gc.log
Run Code Online (Sandbox Code Playgroud)
好.好.但是当重新启动java应用程序时,文件中的旧gc日志内容消失了.我希望vm 将 gc日志附加到"/logs/gc.log"文件中.
这方面有选择吗?或者我必须编写shell脚本来备份旧的gc文件?
@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)