-
Java实现环形矩阵生成
环形矩阵如下:![环形矩阵](//static.acgist.com/resources/images/article/201808/15336062282711004.png)已经用箭头标记了生成的规律,从`1`到`25`,箭头的数量是`5、4、4、3、3、2、2、1、1`。矩阵可以看作x和y轴,坐标变换规律:`x+`、`y+`、`x-`、`y-`的重复。所以代码如下:```javaimportjava.util.concurrent.atomic.AtomicInteger;/***环形矩阵*/publicclassDoubleMatrix{publicstaticfinalvoidmatrix(intnum){//设置矩阵//int[][]matrix=newint[num][num];String[][]matrixProcess=newString[num][num];//数组index:num->2*(num-1)->2*(1):2n次//矩阵index:x+1->y+1->x-1->y-1;AtomicIntegervalue=newAtomicInteger(0)...
Java 环形矩阵 -
Eclipse提示xtext错误
今天Eclipse在css文件里面提示:```DescriptionResourcePathLocationTypemismatchedinput'{'expectingRULE_COLONstyle.css/acgist-conan/src/main/resources/static/resources/cssline:32/acgist-conan/src/main/resources/static/resources/css/style.cssXtextCheck(fast)DescriptionResourcePathLocationTypemissing'{'at'a'style.css/acgist-conan/src/main/resources/static/resources/cssline:32/acgist-conan/src/main/resources/static/resources/css/style.cssXtextCheck(fast)```我们只需要去掉`xtext`的配置就可以了,如下图:![xtext](//static.acgist.com/resources/ima...
Eclipse xtext -
使用关键词通过搜索引擎进行分析
这个项目主要是通过搜索引擎对关键字进行搜索,然后分词,然后进行一个分词结果频率的统计。项目地址:[https://gitee.com/acgist/demo/tree/master/acgist-conan](https://gitee.com/acgist/demo/tree/master/acgist-conan)![ACGISTCONAN](//static.acgist.com/resources/images/article/201808/15331989273041002.png)
搜索引擎 -
Java使用List.of小贴士
Java9开始`List`新增了一个静态方法`of`,这个用来创建一个`List`非常的方便。但是这个和`Arrays.asList`产生的`List`很像,是不能修改的,否者会提示:```Exceptioninthread"main"java.lang.UnsupportedOperationExceptionatjava.base/java.util.ImmutableCollections.uoe(ImmutableCollections.java:71)atjava.base/java.util.ImmutableCollections$AbstractImmutableList.add(ImmutableCollections.java:77)atcom.acgist.html.HTMLFoodie.main(HTMLFoodie.java:63)```
Java List -
HTTPClient工具访问HTTPS时证书和域名不符
如果使用HTTPClient工具时,请求的域名和颁发证书时的域名不一样时会提示:```javax.net.ssl.SSLPeerUnverifiedException:Hostname'www.acgist.com'doesnotmatchthecertificatesubjectprovidedbythepeer(CN=static.acgist.com)atorg.apache.http.conn.ssl.SSLConnectionSocketFactory.verifyHostname(SSLConnectionSocketFactory.java:465)atorg.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:395)atorg.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:353)atorg.apache....
HTTPClient Java HTTPS -
Spring Boot使用Java10时启动失败
今天用SpringBoot写了一个测试项目,但是发现以前都没问题,今天使用时发现出现:```2018-07-2610:43:36.164ERROR9660---[main]o.s.boot.SpringApplication:Applicationrunfailedorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'entityManagerFactory'definedinclasspathresource[org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]:Invocationofinitmethodfailed;nestedexceptionisjava.lang.NoClassDefFoundError:javax/transaction/SystemExceptionatorg.springframework.beans.factory.support.AbstractAutowir...
Eclipse Java Spring Boot Java10 -
词云
今天研究了一个词云的JS插件:`d3-cloud`。github:[https://github.com/jasondavies/d3-cloud](https://github.com/jasondavies/d3-cloud)演示地址:[https://www.jasondavies.com/wordcloud/](https://www.jasondavies.com/wordcloud/)DEMO地址:[https://www.acgist.com/demo/d3-cloud/index.html](https://www.acgist.com/demo/d3-cloud/index.html)其实最主要的是研究了Java的`lambda`和`stream`:```java//list里面的字符串格式:a|b|cMaptagstrMap=list.stream().filter(value->value!=null&&!value.isEmpty()).map(value->value.split("\\|")).flatMap(value->Arrays.strea...
d3 d3-cloud Java 词云 -
Maven打包时没有编译Java文件
今天发现有个奇怪的事情,有一个项目打包后发现里面的代码是很久以前的旧版本。开始以为是电脑问题,后来换了一个电脑打包结果一样。后来仔细看了看打包的日志里面有一句:```Copyingwebappresources[E:\workspace\acgist_www\src\main\webapp]```去到这个目录的`WEB-INF`目录下面,发现提交代码的时候把`classes`目录提交上去了,所以打包时覆盖了新编译的`classes`目录。
Maven Java -
阿里云组播代理安装
因为项目中需要用到组播,但是阿里云默认不支持组播,需要安装组播代理:[https://help.aliyun.com/document_detail/73698.html](https://help.aliyun.com/document_detail/73698.html),我这里使用的是Linux内核态组播工具。首先是阿里云提供的安装`kernel-devel`的命令可能不能正确安装,我们需要执行下列命令:```bashyuminstallkernel-devel```按照阿里云提供的命令编译`rpm`的时候发现出现了一个问题:```make-Ckmodmake[1]:Enteringdirectory`/home/multi/multicast_proxy-master/multicast_kernel/rpmbuild_multicast/BUILD/multi_server-1.1/kmod'make-C/lib/modules/`uname-r`/buildM=/home/multi/multicast_proxy-master/multicast_kernel/rpmbuild_multicas...
阿里云 组播 -
HTTPS请求异常
今天使用自己写的HTTP工具发现访问`https://www.acgist.com`时,提示:```Exceptioninthread"main"java.net.SocketException:Connectionresetatjava.net.SocketInputStream.read(SocketInputStream.java:196)atjava.net.SocketInputStream.read(SocketInputStream.java:122)atsun.security.ssl.InputRecord.readFully(InputRecord.java:442)atsun.security.ssl.InputRecord.read(InputRecord.java:480)atsun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:934)atsun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1332)atsun.secu...
HTTPS SSL TLS -
Eclipse快捷键
熟练使用一款软件的快捷键,可以加快效率。特别是开发工具和浏览器,当然打游戏也是一样🙈这里介绍一下Eclipse的常用快捷键,非常使用:【F12】:激活编辑器【Alt+/】:代码补全【Ctrl+/】:注释当前行【Ctrl+Alt+/】:注释多行,可以用于XML、HTML、JSP等【Ctrl+.】:快速定位错误/比较视图下一个【Ctrl+,】:比较视图上一个【Ctrl+1】:快速修正,常用于异常处理【Ctrl+H】:搜索【Ctrl+T】:快速显示当前类的继承结构【Ctrl+E】:显示当前编辑文件列表【Ctrl+O】:打开Outline【Ctrl+Q】:定位到最后编辑位置【Ctrl+W】:关闭当前视图【Ctrl+D】:删除当前行【Ctrl+L】:定位到文件指定行,异常定位【Ctrl+M】:最大化当前选择视图【Ctrl+Shift+O】:导入引用【Ctrl+Shift+F】:格式化代码【Ctrl+Shift+D】:DEBUG显示变量【Ctrl+Shift+B】:当前行设置/取消断点【Ctrl+R】:DEBUG运行到当前行【Ctrl+PageUP/PageDown】:编辑器切换编辑文本【Ctrl+K】:快速定位下一个...
Eclipse 快捷键 -
jenkins部署时Maven编译失败
编译失败信息如下:```[ERROR]Failedtoexecutegoalonprojectacgist:Couldnotresolvedependenciesforprojectcom.acgist:acgist:war:1.0.0:Thefollowingartifactscouldnotberesolved:xxxxinhttps://repo.maven.apache.org/maven2wascachedinthelocalrepository,resolutionwillnotbereattempteduntiltheupdateintervalofcentralhaselapsedorupdatesareforced->[Help1][ERROR][ERROR]Toseethefullstacktraceoftheerrors,re-runMavenwiththe-eswitch.[ERROR]Re-runMavenusingthe-Xswitchtoenablefulldebuglogging.[ERROR][ERROR]Formoreinformationabouttheerrors...
jenkins Maven -
openjdk配置JAVA_HOME
今天安装Maven,发现提示:```TheJAVA_HOMEenvironmentvariableisnotdefinedcorrectlyThisenvironmentvariableisneededtorunthisprogramNB:JAVA_HOMEshouldpointtoaJDKnotaJRE[root@oracleapache-maven-3.5.4]#echo$JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64```原来安装java-1.8.0-openjdk.x86_64,这个只是运行环境,开发环境需要安装java-1.8.0-openjdk-devel.x86_64,这个才包含`JAVA_HOME/bin`目录。
openjdk JAVA_HOME -
Linux安装vnstat监控流量
vnstat主要用来流量统计的,如果使用`yum`安装是最方便的,什么都不用管。如果源里面没有这个安装包,那么就需要我们自己编译安装。下载地址:[https://humdi.net/vnstat/](https://humdi.net/vnstat/)安装命令:```bash#解压tarzxvfvnstat-1.18.tar.gz#编译安装./configuremakemakeinstall#添加服务cpexamples/init.d/centos/vnstat/etc/rc.d/init.d/#启动服务servicevnstatstart#开机启动chkconfigvnstaton#查看状态servicevnstatstatus#设置监控网卡vnstat-u-ieth0#查看信息vnstat-dvnstat-mvnstat-d-ieth0```其实最重要的就是添加服务,脚本一般都在`vnstat-1.18/examples`这个目录下面,添加到对应的目录下面就可以了。>注意CentOS7的服务添加:```bash#添加服务cpexamples/systemd/vnstat.service/usr/li...
vnstat Linux 流量监控 -
Linux MySQL安装
相比之前的Oracle,MySQL就简单多了。##准备:###创建用户:```bashgroupaddmysqluseradd-gmysqlmysql```###创建MySQL目录:```bash#主目录mkdir/usr/local/mysql#数据目录mkdir/usr/local/mysql/data```###下载安装包:[https://dev.mysql.com/downloads/mysql/5.6.html#downloads](https://dev.mysql.com/downloads/mysql/5.6.html#downloads)选择如下图,选择Linux通用版本:![MySQL下载](//static.acgist.com/resources/images/article/201806/15299075763091015.png)下载解压到`/usr/local/mysql`目录下,MySQL安装目录`/usr/local/mysql/mysql-5.6.40-linux-glibc2.12-x86_64`然后授权:```bashchown-Rmysql:mysql/usr/lo...
数据库 Linux MySQL -
Linux安装Oracle 11g
一开始网上找的静默安装搞不定,最后还是用vnc用图形界面装完的。演示使用的Linux发行版是CentOS7。##准备:###安装依赖包:查看安装状态:```bashrpm-qbinutilscompat-libstdc++-33compat-libstdc++-33.i686elfutils-libelfelfutils-libelf-develgccgcc-c++glibcglibc.i686glibc-commonglibc-develglibc-devel.i686glibc-headerskshlibaiolibaio.i686libaio-devellibaio-devel.i686libgcclibgcc.i686libstdc++libstdc++.i686libstdc++-develmakesysstatunixODBCunixODBC.i686unixODBC-devel```全部安装:```bashyuminstallbinutilscompat-libstdc++-33compat-libstdc++-33.i686elfutils-libelfelfutils-libelf-deve...
Linux Oracle Oracle 11g -
Java利用opencv实现人脸识别
opencv下载地址:[https://opencv.org/releases.html](https://opencv.org/releases.html)下载后安装,找到安装目录下:`/opencv/build/java/`,这个目录下面存放的就是Java的jar和所需要的dll。然后还需要探测器:`/opencv/build/etc/`,这个目录下面的xml配置文件。下面是代码:```javapackagecom.acgist.face;importjava.awt.image.BufferedImage;importjava.awt.image.DataBufferByte;importjava.io.IOException;importjava.io.InputStream;importjava.net.URISyntaxException;importjavax.imageio.ImageIO;importorg.opencv.core.CvType;importorg.opencv.core.Mat;importorg.opencv.core.MatOfRect;importorg.opencv...
人脸识别 opencv -
微信web开发者工具错误
小程序错误:WXSS编译错误解决办法:在控制台输入`openVendor()`,删除`wcsc.exe`,然后重启工具。>参考文章:[https://blog.csdn.net/lklmr/article/details/78498822](https://blog.csdn.net/lklmr/article/details/78498822)
小程序 微信web开发者工具 -
Spring利器-STS
君欲善其事,必先利其器。STS就是Spring开发的一个利器,不仅仅SpringBoot和SpringCloud实用,Spring普通项目也很实用。常用的一些功能提示、SpringBoot项目初始化、xml配置的命名空间、yaml编辑器、配置文件智能提示等。特别是SpringBoot的配置提示非常好用。使用:1.可以下载官方集成了STS的Eclipse开发工具:[https://spring.io/tools/sts/](https://spring.io/tools/sts/)2.直接使用插件集成到已有的Eclipse里面:[https://spring.io/tools/sts/all](https://spring.io/tools/sts/all)当然也可以通过Eclipse的Market搜索进行安装。
STS Spring Spring Cloud Spring Boot -
Spring Cloud Config配置中心异常整理
配置中心出现一下错误:```2018-04-2812:00:38.812WARN4468---[main]com.netflix.discovery.DiscoveryClient:Usingdefaultbackupregistryimplementationwhichdoesnotdoanything.2018-04-2812:00:38.816INFO4468---[main]com.netflix.discovery.DiscoveryClient:NotregisteringwithEurekaserverperconfiguration2018-04-2812:00:38.823INFO4468---[main]com.netflix.discovery.DiscoveryClient:DiscoveryClientinitializedattimestamp1524888038821withinitialinstancescount:02018-04-2812:00:38.943WARN4468---[main]lientConfigServiceBootstrapConfiguration:C...
Cpring Cloud Config 配置中心