编程开发 第3页

解决Tomcat 8 & 9 软链接(Symlinks)无效

Tomcat 7 为/conf/context.xml中Context节点增加属性allowLinking="true"即可 Tomcat 8&9 为/conf/context.xml中Context节点增加子节点Resources并且添加属性allowLinking="true"即可

阅读(3640)评论(0)赞 (0)

Mac巧用alias实现在终端动态切换Java版本

3

身为一个Java开发者,在公司生产环境中依然是java8,然而我自己偶尔写点小东西之类的还是更倾向于java11。于是很自然的装了两个jdk,java8与java11,但是问题也同样来了,假设现在要在命令行启动一个java8的jar包,但是默认的java命令是java11,这个时候就得先cd到 cd /Library/Java/JavaVirtualMachines/jdk1.8.0_231.jd...

阅读(3799)评论(0)赞 (1)

javassist instrument()方法实战

3

由于最近在做的分布式爬虫中用到了 XXL-GLUE 来动态执行抓取脚本。由于抓取脚本较多,想着针对一些通用操作比如存库封装了父类CrawlerWorker,并且由 CrawlerWorker 实现了GlueHandler接口。 然后由KaguraScript extends CrawlerWorker然后直接在 KaguraScript 中直接使用父类 CrawlerWorker 中的duplic...

阅读(35894)评论(0)赞 (0)

教育邮箱申请免费jetbrains/IntelliJ IDEA全家桶Educational license

8

提及IntelliJ IDEA不可为不家喻户晓,作为全宇宙最好的Java IDE,也使得jetbrains这家公司人尽皆知,但是当家的IntelliJ IDEA Ultimate首年高达$149售价就决定了我输在了起跑线,虽然有免费的community社区版本提供,但阉割版始终不如旗舰版用的舒服。 虽然有各种不同的破解姿势与方法,但都面临着改hosts或者新版不能使用的情况,最稳定也是最合法的办法...

阅读(5518)评论(0)赞 (2)

Kotlin中更优雅的使用多线程

在上一篇:Kotlin 协程使用自定义线程池中我们简单的使用自定义线程池作为异步协程async的上下文并完成了主线程等待线程池执行完毕的小例子。 但是开发过程中难免会有很多需要这种多线程跑的情况,比如从库里批量更新一批数据,或者是给某接口推一批数据。这种时候显然需要多线程,每次都把这些抄一遍似乎有点……“ 曾经沧海难为水 ”固然没错,不过我们既然用Kotlin,那么“ 当惯...

阅读(5628)评论(0)赞 (0)

Kotlin 协程使用自定义线程池

Kotlin中可以很方便的使用自定义线程池作为协程上下文,并且可以在不使用CountDownLatch跟Callable+Future的情况下更简单的实现主线程等待线程池中任务执行完毕的需求。 首先我们将协程的依赖加入pom.xml 然后新建Test.kt,内容如下: 以上代码中首先创建了一个3个线程的定长线程池,然后经由launch创建一个同步协程作为父协程,接着在父协程内部循环创建了5个使用自...

阅读(8599)评论(0)赞 (0)

使用Docker快速搭建Firefox Send

1

1:安装Docker 2:Docker启动Redis 3:Docker启动Firedox Send 4:配置Nginx反向代理 现在你已经可以访问http://127.0.0.1:1443 来使用Firedox Send了。接着将你的域名解析到你的服务器,再通过Nginx反向代理一下,就完事大吉啦!完整的Nginx反向代理配置如下: 附本站自建的Firedox Send服务:https://sen...

阅读(6345)评论(2)赞 (2)

解决LNMP安装后MySQL / MariaDB无法远程连接的问题

2

重点:简而言之就是LNMP为了安全默认是禁止远程连接的,所以需要手动在iptables 里删除DROP 3306端口的规则 1:赋予root远程登录权限 2:iptables 里删除DROP 3306端口的规则 查看已有的iptables规则,以序号显示:iptables -L -n --line-numbers 删除3306端口对应的DROP规则:iptables -D INPUT 6 3:云服...

阅读(3352)评论(0)赞 (0)

Linux命令之巧用sed进行内容替换

大家都知道在Linux中提供了近乎无数的强大命令,当然对文件的编辑来说VI/VIM想必是大家耳熟能详的最常用的命令了,但是很多情况下我们用他们都只是为了替换一些简单的内容,比如去掉某行前面的#啦,或者把某参数从no改为yes之类的事情,然后还得ESC -> : -> wq保存。 假设我在腾讯云开了个Ubuntu的虚拟主机,他只会给个名为ubuntu的账户。我得通过这个用户sudo pa...

阅读(4856)评论(0)赞 (0)