首页 文章 新番
动漫 学习 生活 日记 书籍 服务器 Bing
  • Java获取Win10主题颜色

    首先我在网上找了很多的方法,主要还是读取注册表`计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\DWM`中的`AccentColor`这个值。如果是手动选择的颜色这个值也是没有问题的,但是如果主题颜色通过背景自动选择的主题色这个值就不准确了。后来我找了半天,最后终于找到了一个非常完美的注册表值`计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Themes\History\Colors`中的`ColorHistory0`这个值,完美解决。Java代码:```java@TestpublicvoidgetTheme(){//longcolor=Advapi32Util.registryGetIntValue(WinReg.HKEY_CURRENT_USER,"SOFTWARE\\Microsoft\\Windows\\DWM","AccentColor");longcolor=Advapi32Util.registryGetIntValue(WinReg.HKEY_CURRENT_USE...

    2020年05月15日 Java Win10 主题颜色
  • 泛型自动推断

    异常:```java[ERROR]Failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.1:compile(default-compile)onprojectacgist:Compilationfailure[ERROR]Client.java:[207,85]不兼容的类型[ERROR]需要:com.api.response.ResponseImpl[ERROR]找到:com.api.Response[ERROR]->[Help1]```代码:```javafinalResponseImplresponse=client.execute(request);```按道理来说是不应该出现异常的,因为开发的时候没有异常,但是编译的使用就报错了。最后只能进行一下强转:```javafinalResponseImplresponse=(ResponseImpl)client.execute(request);```

    2020年04月28日 泛型
  • WebRTC续集

    以前的WebRTC部分API已经过时,这里记录一下新的方法和注意事项。现在发送`offer`和`answer`消息:```jspeer.createOffer().then();peer.createAnswer().then();```获取用户媒体:```jsnavigator.mediaDevices.getUserMedia({"audio":true,"video":true}).then(onUserMediaSuccess).catch(onUserMediaError);```如果你的电脑没有摄像头可以使用一个软件`WeCam`模拟一个摄像头,不过上面获取媒体只能获取`video`,要把音频去掉。页面代码:[WebRTC视频聊天](https://www.acgist.com/demo/video/)WebSocket代码:[Java使用WebSocket和WebRTC视频通话](https://www.acgist.com/article/72.html)

    2020年04月22日 WebSocket WebRTC 视频通话 Java
  • Win10快捷键

    常用快捷键就不介绍了,介绍一些比较新的快捷键。|功能|快捷键||----|----||截图|Win+Shift+S||表情|Win+.||查看桌面|Win+,||搜索|Win+S||查看通知|Win+A||放大镜放大|Win++||放大镜缩小|Win+-||退出放大镜|Win+Esc||历史剪贴板|Win+V||设置|Win+I||新建桌面|Win+Ctrl+D||关闭桌面|Win+Ctrl+F4||桌面切换|Win+Tab||桌面快速切换左边|Win+Ctrl+←||桌面快速切换右边|Win+Ctrl+→||窗口最大化|Win+↑||窗口缩小/最小化|Win+↓|资源管理器小窗口可以直接使用鼠标中键关闭

    2020年03月25日 Win10
  • VirtualBox 安装 MacOS

    神秘代码:`62D0B1558260A69F5FD90632F2E2CAA65172719A`安装文件时CDR格式的,直接用这个文件启动就可以了,不用转为ISO文件。创建虚拟机:**MacOS**关闭虚拟机,进入`VirtualBox`根目录执行一下命令:```VBoxManagemodifyvmMacOS--cpuidset00000001000106e5001008000098e3fdbfebfbffVBoxManagesetextradataMacOS"VBoxInternal/Devices/efi/0/Config/DmiSystemProduct""iMac11,3"VBoxManagesetextradataMacOS"VBoxInternal/Devices/efi/0/Config/DmiSystemVersion""1.0"VBoxManagesetextradataMacOS"VBoxInternal/Devices/efi/0/Config/DmiBoardProduct""Iloveapple"VBoxManagesetextradataMacOS"VBoxInternal/Devi...

    2020年03月18日 VirtualBox MacOS
  • 记录两个小问题

    记录最近遇到的两个小问题。**Dubbo注册非常慢或者服务找不到**查看是否配置多个网卡(包括虚拟网卡)**Maven更新导致Eclipse卡死**查询Maven配置是否相互依赖

    2019年12月24日 Dubbo Maven
  • BitSet转为图片

    将BitSet数据转为图片,每位占一个格子,效果如图:![BitSet转为图片](//static.acgist.com/resources/images/article/201912/7725cc4d-b4d4-44b4-9c16-52274d6c9658.jpg)下面是图片实现版本:```javapackagecom.acgist.snail.gui.statistics;importjava.awt.Color;importjava.awt.Graphics2D;importjava.awt.image.BufferedImage;importjava.io.Closeable;importjava.io.FileOutputStream;importjava.io.IOException;importjava.util.BitSet;importjava.util.Objects;importjavax.imageio.ImageIO;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importcom.acgist.snail.utils.Nu...

    2019年12月17日 BitSet 位图
  • Java获取HTTP下载文件文件名称

    **注意中间有段去符号的代码,这段代码只适合Java11默认HttpClient使用**。```java/***获取文件名称*下载文件名称:如果不存在返回默认的文件名称*Content-Disposition:attachment;filename=snail.jar?version=1.0.0*Content-Disposition:attachment;filename="snail.jar"**@paramdefaultName默认文件名称*/publicStringfileName(finalStringdefaultName){StringfileName=header(CONTENT_DISPOSITION);if(StringUtils.isEmpty(fileName)){returndefaultName;}finalStringfileNameLower=fileName.toLowerCase();if(fileNameLower.contains(FILENAME)){//包含文件名称fileName=UrlUtils.decode(fileName);//URL解码intindex=...

    2019年12月15日 Java
  • Java11 HttpClient下载中文文件名称乱码

    不知道这个是不是BUG,记录一下。下载文件如果文件名称含有中文时,设置文件名称一般有以下两种方式:```java//使用URL编码解决//responseHeaders.add("Content-Disposition","attachment;filename="+UrlUtils.encode("蜗牛.txt"));//设置ISO-8859-1编码解决responseHeaders.add("Content-Disposition","attachment;filename="+newString("蜗牛.txt".getBytes(),SystemConfig.CHARSET_ISO_8859_1));```URL编码这个在浏览器和`HttpClient`都是没有问题的。但是使用`ISO-8859-1`编码时浏览器可以,但是`HttpClient`却提示乱码。最后发现不知道为什么`HttpClient`这里可能存在`byte`转为`char`没有去符号`&0xFF`,所以这里就会出现这个问题。解决办法:```javafinalchar[]chars=fileName.toCharArray();...

    2019年12月14日 Java11 HttpClient
  • JavaFX隐藏滚动条

    JavaFX通过CSS影藏滚动条代码```css/*垂直滚动条*//*.main.table-view.virtual-flow.scroll-bar:vertical{-fx-pref-width:0;}*//*水平滚动条*/.main.table-view.virtual-flow.scroll-bar:horizontal{/*关闭滚动条*/-fx-pref-height:0;}.main.table-view.virtual-flow.scroll-bar:horizontal.increment-button.increment-arrow{/*影藏箭头*/-fx-background-color:transparent;}.main.table-view.virtual-flow.scroll-bar:horizontal.decrement-button.decrement-arrow{/*影藏箭头*/-fx-background-color:transparent;}```**注意:垂直滚动条设置`-fx-pref-width`、水平滚动条设置`-fx-pref-height`**

    2019年12月04日 JavaFX 滚动条
  • Travis CI编译卡住

    今天使用了一下TravisCI,但是发现编译时卡住不动然后失败了。开始我以为以为gpg签名导致的,添加`-Dgpg.skip=true`发现并没有解决。后来发现打包时需要拷贝两个资源文件配置的路径是`/`,猜想可能是这个问题导致的,改为`./`编译成功。`/`改为`./`pom.xml:```xmlorg.apache.maven.pluginsmaven-resources-plugin${maven.resources.version}src/main/resourcesfalse**profiles/**./falseMETA-INF/LICENSEREADME.mdauto-copy-resources-profilescompilecopy-resourcestrue${project.build.outputDirectory}src/main/resources/profiles/${package.environment}false```

    2019年12月02日 TravisCI Java Github
  • Java CPU占用过高

    今天发现一个奇怪的问题,发现运行一个Java程序时CPU占用超过了50%。在公司测试并没有这个问题,而且家里电脑配置比公司更好,理论上不应该出现这个问题。后来发现这个问题的原因是没有配置JVM参数:`-Xms128m-Xmx256m`暂时还不清楚原理,以后在研究。问题找到了,并不是上面参数的问题,是由于Java11默认的HttpClient使用TLSv1.3的问题,修复代码:```javapublicstaticfinalHttpClientnewClient(inttimeout){returnHttpClient.newBuilder().executor(EXECUTOR)//线程池.version(Version.HTTP_1_1).followRedirects(Redirect.NORMAL)//重定向:正常.sslParameters(newSSLParameters())//SSL参数.connectTimeout(Duration.ofSeconds(timeout))//超时.build();}privatestaticfinalSSLParametersnewSSLParameters(...

    2019年11月29日 Java CPU
  • Java使用jlink导出模块访问HTTPS连接握手异常

    错误日志如下:```Causedby:java.io.IOException:Receivedfatalalert:handshake_failureatjava.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:565)atjava.net.http/jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:119)atcom.acgist.snail.net.http.HTTPClient.request(HTTPClient.java:206)...71commonframesomittedCausedby:javax.net.ssl.SSLHandshakeException:Receivedfatalalert:handshake_failureatjava.base/sun.security.ssl.Alert.createSSLException(Alert.java:128)atjava.base/sun.security.ssl...

    2019年10月18日 Java jlink 模块化 handshake_failure
  • 使用flexmark将Markdown转为HTML

    最近将网站后台文章编辑器改为Markdown。直接写Markdown感觉比使用富文本编辑器更好,主要是富文本编辑会多出非常多的标签,编辑不受控制。使用Markdown转换HTML就比较令人满意了。但是这里又有一个问题了,就是外链没有加上`rel="nofollow"`,我们需要自己实现这个功能,代码如下:```javapackagecom.acgist.utils;importcom.vladsch.flexmark.ast.AutoLink;importcom.vladsch.flexmark.ast.Link;importcom.vladsch.flexmark.html.AttributeProvider;importcom.vladsch.flexmark.html.AttributeProviderFactory;importcom.vladsch.flexmark.html.HtmlRenderer;importcom.vladsch.flexmark.html.IndependentAttributeProviderFactory;importcom.vladsch.flexmark.html....

    2019年10月14日 flexmark Markdown
  • Tomcat启动缓慢

    今天Tomcat启动很慢,以前就十几秒,现在有时候要一分钟。今天去看了下日志:```14-Oct-201911:48:05.686警告[main]org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandomCreationofSecureRandominstanceforsessionIDgenerationusing[SHA1PRNG]took[19,409]milliseconds.14-Oct-201911:48:08.221信息[main]org.apache.coyote.AbstractProtocol.startStartingProtocolHandler["http-nio-8080"]14-Oct-201911:48:08.251信息[main]org.apache.catalina.startup.Catalina.startServerstartupin39973ms```可以看到一个警告,后来看到一些文章里面说修改Java的配置:```#原配置:securerandom.source=file:/dev/uran...

    2019年10月14日 Tomcat haveged
  • MySQL升级

    最近把网站的文章编辑器换了,不使用UEditor,而直接编写Markdown文本。因为之前可以直接使用UEditor的表情,但是现在只能使用Emoji表情了,但是以前旧版本的MySQL不支持`utf8mb4`编码,所以这次升级了MySQL5.7。具体升级我命令就不写了,大概流程:1.备份数据2.删除旧版本3.安装新版本4.还原数据我使用`mysqldump`对数据进行备份和还原。但是重启后发现还是不支持Emoji标签,`my.cnf`和数据库都已经设置了`utf8mb4`。后来发现原来备份还原的时候,**数据库表和列的编码都还是`utf8`**,需要全部修改一遍,下面是SQL:```sqlALTERTABLEtableDEFAULTCHARACTERSETutf8mb4COLLATEutf8mb4_general_ci;ALTERTABLEtableMODIFYCOLUMNcolumnVARCHAR(512)CHARACTERSETutf8mb4COLLATEutf8mb4_general_ciDEFAULTNULLCOMMENT'内容';```

    2019年10月13日 MySQL
  • CSS让图片自适应

    我们使用了响应式的页面后,发现图片不能自动缩放。开始我是用的是`width:100%`来设置,但是发现一个问题就是,如果图片宽度不一致时,有些图片会被拉伸。后来我改用`max-width:100%`,就比较完美的解决了。

    2019年10月12日 CSS 自适应
  • Spring Boot注入

    SpringBoot使用`@Autowired`注入时,使用类型匹配,然后使用名称匹配。如果接口和实现都被扫描时,命名一定要注意(注意变量名称变化):```javapublicinterfaceDemo{voiddemo();}@ServicepublicclassDemoImplimplementsDemo{@Overridepublicvoiddemo(){}}//注入成功@AutowiredprivateDemodemo;@AutowiredprivateDemodemoImpl;@Autowired@Qualifier(value="demo")privateDemodemoEx;@Autowired@Qualifier(value="demoImpl")privateDemodemoEx;//注入失败@AutowiredprivateDemodemoEx;//异常requiredasinglebean,but2werefound:Considermarkingoneofthebeansas@Primary,updatingtheconsumertoacceptmultiplebeans,orusin...

    2019年08月08日 Spring Boot
  • log4j logstash日志收集

    使用默认的log4j的`SocketAppender`,直接序列化`LoggingEvent`,所以格式很难看。这里我自己实现了一个Appender:[https://gitee.com/acgist/demo/blob/master/acgist-share/2019/LogstashAppender.java](https://gitee.com/acgist/demo/blob/master/acgist-share/2019/LogstashAppender.java),代码如下:```javapackagecom.acgist.demo;importjava.io.IOException;importjava.net.InetSocketAddress;importjava.net.StandardSocketOptions;importjava.nio.ByteBuffer;importjava.nio.channels.SocketChannel;importjava.util.concurrent.BlockingQueue;importjava.util.concurrent.LinkedB...

    2019年07月31日 log4j logstash 多行日志 multiline json
  • ELK简单权限配置

    前面的文章写了搭建ELK环境,但是没有配置相关的安全策略。我们安装后授权是基础版,也是有权限控制这个模块,只不过基础版,默认是关闭的,需要我们自己打开并且配置。基础版和其他版本功能对比:[https://www.elastic.co/cn/subscriptions](https://www.elastic.co/cn/subscriptions)整体思路就是:所有的端口使用防火墙拦截,特殊功能设置为内网IP可以访问,然后使用Nginx反向代理kibana。接下来我们打开elasticsearch的安全验证,参考文章:[https://www.elastic.co/guide/en/elasticsearch/reference/6.8/security-settings.html](https://www.elastic.co/guide/en/elasticsearch/reference/6.8/security-settings.html)```#vielasticsearch.ymlxpack.security.enabled:truexpack.security.transport.ssl.ena...

    2019年07月31日 ELK 权限
1...9101112131415...31

关于 ACGIST

Copyright © 2013-2025 ACGIST.COM. All Rights Reserved.