-
JavaFX启动异常
错误日志:```javaExceptioninthread"WindowsNativeRunloopThread"java.lang.NoSuchMethodError:atjavafx.graphics/com.sun.glass.ui.win.WinApplication.staticScreen_getScreens(NativeMethod)atjavafx.graphics/com.sun.glass.ui.Screen.initScreens(Screen.java:412)atjavafx.graphics/com.sun.glass.ui.Application.lambda$run$1(Application.java:152)atjavafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(NativeMethod)atjavafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)atjava.base/ja...
JavaFX -
elasticsearch错误
错误日志:```java[2021-01-11T10:44:40,184][WARN][o.e.x.m.e.l.LocalExporter][node-1]unexpectederrorwhileindexingmonitoringdocumentorg.elasticsearch.xpack.monitoring.exporter.ExportException:org.elasticsearch.common.ValidationException:ValidationFailed:1:thisactionwouldadd[1]totalshards,butthisclustercurrentlyhas[3693]/[1000]maximumshardsopen;atorg.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$throwExportException$2(LocalBulk.java:125)~[x-pack-monitoring-7.3.0.jar:7.3.0]atjava.util.stream.Referenc...
elasticsearch -
Java自带HttpClient下载CPU占用过高
下载HTTP协议没有问题,下载HTTPS协议的时候CPU一直维持在20%-30%左右。升级到JDK15问题依旧存在。```java"Snail-Thread-HTTP-Client"#25daemonprio=5os_prio=0cpu=216656.25mselapsed=272.70stid=0x0000024e34a84800nid=0x3a68runnable[0x00000066085fd000]java.lang.Thread.State:RUNNABLEatcom.sun.crypto.provider.GHASH.blockMult(java.base@11.0.2/GHASH.java:97)atcom.sun.crypto.provider.GHASH.processBlock(java.base@11.0.2/GHASH.java:186)atcom.sun.crypto.provider.GHASH.processBlocks(java.base@11.0.2/GHASH.java:236)atcom.sun.crypto.provider.GHASH.update(java.base...
Java HttpClient -
EChart折线图Y轴BUG
EChart折线图Y轴坐标数值显示错误,只需要把`series`的`stack`属性删掉就正常了。
EChart -
阿里云yum镜像
今天改了一下服务器配置,好久没有更新过服务器的软件了,然后发现以前的yum源用不了了。```http://mirrors.cloud.aliyuncs.com/centos/6/os/x86_64/repodata/repomd.xml:[Errno14]PYCURLERROR22-"TherequestedURLreturnederror:404NotFound"尝试其他镜像。Toaddressthisissuepleaserefertothebelowwikiarticlehttps://wiki.centos.org/yum-errorsIfabovearticledoesn'thelptoresolvethisissuepleaseusehttps://bugs.centos.org/.http://mirrors.aliyun.com/centos/6/os/x86_64/repodata/repomd.xml:[Errno14]PYCURLERROR22-"TherequestedURLreturnederror:404NotFound"尝试其他镜像。```原来阿里云的镜像地址改了:[https:...
yum aliyun -
常用命令总结
##查看当前Java进程```jps```##查看Java线程快照```jstackpid```##查看Java内存快照```jmap-histo:livepid```##内存快照时间统计```bashcatfile|grepcpu=|grep-Po'(cpu=\d+\.\d+ms)'|grep-Po'(\d+\.\d+)'|awk'{sum+=$1}END{printsum}'```##关闭JIT```java-Djava.compiler=NONE```##提交Sonar```basemvnsonar:sonar-D"sonar.projectKey=snail"-D"sonar.host.url=http://localhost:9000"-D"sonar.login=token"```##消息分类统计```basecatsnail.log.*|grep-a处理piece消息|grepTCP|wc-l;catsnail.log.*|grep-a处理piece消息|grepUTP|wc-l;catsnail.log.*|grep-a发送piece消息|grepTCP|wc-l;catsnail.log.*...
Java jstack jmap jps Linux -
Java hashCode陷阱
经常会重写`hashCode`和`equals`方法来实现对象判断是否相等,之前使用`Objects.hash`这个方法,后来发现这个是有点问题的:```java//String一致System.out.println(Objects.hash(newString[]{"1","2","3"}));System.out.println(Objects.hash(newString[]{"1","2","3"}));//Integer一致System.out.println(Objects.hash(newInteger[]{1,2,3}));System.out.println(Objects.hash(newInteger[]{1,2,3}));//int不一致System.out.println(Objects.hash(newint[]{1,2,3}));System.out.println(Objects.hash(newint[]{1,2,3}));//int一致System.out.println(Arrays.hashCode(newint[]{1,2,3}));System.out.print...
Java hasoCode -
lucene搜索不到结果
以前`IndexWriter`和`IndexReader`没有使用常量的时候是没有问题的,改成常量后发现不能及时搜索了。这个问题需要我们每次添加索引后重新创建`IndexReader`对象就好了。
lucene -
Java线程不能唤醒错误
今天发现了一个问题,线程不能被唤醒,发现是我的代码写的有问题:```java//单例privatestaticfinalNatContextINSTANCE=newNatContext();//初始化privateNatContext(){this.register();}```在`register`里面加锁,然后外面获取单例解锁,这样就会出现无法唤醒的情况。
Java notify wait -
JSON Map类型指定类型
####fastjson```javaJSON.parseObject(responseJSON,newTypeReference>(){})````####jackson```java//第一种finalMapdata=mapper.readValue(json,newTypeReference>(){});//第二种finalJavaTypetype=mapper.getTypeFactory().constructParametricType(Map.class,String.class,Object.class);returnmapper.readValue(json,type);```推荐使用`TypeReference`,可以使用返回类型进行泛型推断:```javapublicstaticfinalMaptoMap(Stringjson){if(json==null){returnnull;}try{returnMAPPER.readValue(json,newTypeReference>(){});}catch(IOExceptione){LOGGER.error("JSON字...
JSON -
Chrome多关键字搜索插件
最近开发了一个Chrome浏览器多关键字查询的插件,插件地址:[https://gitee.com/acgist/chrome](https://gitee.com/acgist/chrome)上几个效果图:配置规则:查询结果数量:查询结果标记:
Chrome 插件 -
Eclipse吐槽
家里面装的Eclipse是2019年的版本,然后我升级到2020-09版本。之前在公司装过一次这个版本,忘记了是什么BUG了,所以公司现在还是用的2020-06。这次忘了这茬了,结果装完又出问题了,启动后发现没有JS编辑器了。2019版本的JS编辑器格式化不是很好用,公司的2020-06的很好用,所以才升级的,升级发现居然直接没了。然后我又装了2020-06的,结果发现还是没有,然后我就把工作空间里面的配置`.metadata`删了,全部重新配置了一遍,发现好了。龟龟,花了一个小时。然后就是Eclipse商城里面的freemarker插件居然装不了😑JBoss更新慢就算了,最后还失败了,难受🙉还有我的maven的资源目录改过,发现eclipse并不会自动使用,而是需要手动设置后才有效。
Eclipse -
Spring定时任务和延迟初始化
有一个遗留的Spring项目使用的XML和注解一起使用,然后发现定时任务注解没有执行:```java@Scheduled(cron="0/5****?")publicvoiddiary(){...}```后来发现原来是XML里面配置了延迟初始化`default-lazy-init="true"`,解决办法:1.修改延迟初始化为`false`2.在定时任务类加上注解`@Lazy(value=false)`
Spring task lazy -
Java lambda空指针踩坑
使用`findFirst`方法会出现以下错误:```javajava.lang.NullPointerExceptionatjava.base/java.util.Objects.requireNonNull(Objects.java:221)atjava.base/java.util.Optional.(Optional.java:107)atjava.base/java.util.Optional.of(Optional.java:120)atjava.base/java.util.stream.FindOps$FindSink$OfRef.get(FindOps.java:194)atjava.base/java.util.stream.FindOps$FindSink$OfRef.get(FindOps.java:191)atjava.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)atjava.base/java.util.stream.AbstractPipeline.evaluate(Abstrac...
Java lambda NullPointerException -
HTTP 405错误
这个错误就是方法不允许,最常见的就是只能`POST`请求使用`GET`请求。```java.io.IOException:ServerreturnedHTTPresponsecode:405forURL:https://www.acgist.com/xxxxatjava.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1913)atjava.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1509)atjava.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:245)```还有一种情况也会出现这个问题,就是`GET`请求,但是调用了`connection.getOutputStream()`。
HTTP 405 -
Tomcat无法设置cookie、session失效
其实这个问题很久以前就遇到过了,只不过以前没有记录,又遇到了这里记录一下。问题就是`session`里面设置了属性,但是取值时都是`null`。其实这个根本原因就是无法设置`cookie`。为什么会设置不了呢,主要就是配置了`cookie`的`secure`属性,同时没有使用`https`协议,所以导致`cookie`设置失败。设置方法:```//Cookie设置cookie.setSecure(true);//web.xml配置true````SpringBoot`集成`RedisSession`也会有这个问题,主要就是如果你的项目配置了`RedisSession`,但是访问另外一个没有集成`RedisSession`项目的时候,系统会认为你的`session`失效了,就会导致重写你的`sessioncookie`导致`session`失效。可以通过设置`sessioncookie`的`path`、`name`、`domain`解决这个问题。
Tomcat cookie session secure -
jdeps
这个命令可以查询依赖模块:```javajdeps--list-deps*.jarjdeps--list-deps--module-pathlib--ignore-missing-deps.\snail-1.17.0.jarunzipacgist-1.0.0.jar-ddepsjdeps\--ignore-missing-deps\--print-module-deps\-q\--recursive\--multi-release9\--class-path="./deps/BOOT-INF/lib/*"\--module-path="./deps/BOOT-INF/lib/*"\./acgist-1.0.0.jarjlink\--verbose\--add-modulesmodules\--strip-debug\--no-man-pages\--no-header-files\--compress=2\--output./jre```
jdeps -
消失的Java日志堆栈信息
最近生产环境出了很多空指针异常,但是今天发现都没有堆栈信息了,只有个异常名称。正常堆栈信息:```javaNov16,2020@21:37:07.184[acgist]2020-11-1621:37:07,183ERROR[com.acgist.controller.ExceptionHandlerControllers]-系统异常java.lang.NullPointerExceptionatcom.acgist.controller..GatewayControllers.callback(GatewayControllers.java:1100)...```现在没有堆栈信息:```javaNov17,2020@09:40:57.062[acgist]2020-11-1709:40:57,059ERROR[com.acgist.controller.ExceptionHandlerControllers]-系统异常java.lang.NullPointerException```原来JDK里面如果一个异常频繁抛出,达到一定数量后就会隐藏堆栈信息:`-XX:-OmitStackTraceInFastThro...
Java 日志 堆栈信息 -
Audition CS6导入M4A
最近想学学调音,现在开始学习Audition,发现不能导入m4a,老是提示:`错误:Wewereunabletoopenthisfileusinganyofthecurrentlyavailableimporters.IfyouwouldliketotryusingtheDynamicLinkMediaServer,pleasegotoPreferences>Media&DiskCacheandenabletheoption"EnableDLMSFormatSupport"andtrytoopenthefileagain.`我们需要修改:编辑→首选项→媒体与暂存盘→将`EnableDLMSFormatSupport`勾选上就可以了
Audition -
Java去掉科学记数法
直接上代码和结果```java@Testpublicvoidscientific(){floata=0.000012F;System.out.println(a);System.out.println((double)a);System.out.println(String.valueOf(a));System.out.println(Float.toString(a));System.out.println(newBigDecimal(a));System.out.println(newBigDecimal(String.valueOf(a)));System.out.println(newBigDecimal(Float.toString(a)));doubleb=0.000012D;System.out.println(b);System.out.println((float)b);System.out.println(String.valueOf(b));System.out.println(Double.toString(b));System.out.println(newBigDecimal(b)...
Java 科学记数法