工具使用
文章平均质量分 55
恒奇恒毅
Javaer
展开
-
线程池监控与动态参数调整设计
系统使用线程池越来越多。由于缺乏对线程池的统一监控手段,运营人员不知道线程池的具体运行情况,不利于线程池的性能调优。开发线程池监控系统,对系统中的线程池进行统一监控。原创 2023-03-01 17:13:00 · 704 阅读 · 1 评论 -
gradle中自动生成git提交信息
gradle git commit原创 2023-01-03 11:59:38 · 821 阅读 · 0 评论 -
百度编辑器的使用坑
ueditor转载 2022-08-04 10:53:02 · 399 阅读 · 0 评论 -
Redis的发布订阅+线程池使用实践
Redis发布订阅+线程池实践原创 2022-01-20 12:13:16 · 1256 阅读 · 0 评论 -
Skywalking对Nginx进行监控
书接上回,Skywalking已经能对Java应用非常轻松地接入监控,但是一般情况下,我们系统都是在负载均衡器(一般采用Nginx或者Openresty)后端跑JavaWeb应用,如果我们想把Openresty(Nginx)也纳入监控,该怎么办呢?幸运的是,Skywalking已经提供了Nginx的探针收集器。备注:Openresty是基于Nginx+Lua的高性能Web开发平台,解决了Nginx不易编程的短板。Nginx的agent插件是基于Lua来编写的,所以需要Nginx增加对Lua的支持。官网地原创 2021-12-13 13:30:45 · 5541 阅读 · 0 评论 -
搭建skywalking对Java应用进行监控
APM概述APM (Application Performance Management) 即应用性能管理系统,是对企业系统即时监控以实现对应用程序性能管理和故障管理的系统化的解决方案。应用性能管理,主要指对企业的关键业务应用进行监测、优化,提高企业应用的可靠性和质量,保证用户得到良好的服务,降低IT总拥有成本。APM系统是可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题。随着分布式系统和微服务架构的出现,一次用户的请求会经过多个系统,不同服务之间的调用关原创 2021-10-08 18:28:57 · 3581 阅读 · 1 评论 -
时间,是个什么东东?
https://mp.weixin.qq.com/s/fw5W8lfW3kejeIuJsyrLDQ转载 2021-08-18 11:56:18 · 99 阅读 · 0 评论 -
抓取视频的任意一帧保存为图片
使用第三方工具:compile 'org.bytedeco:javacv-platform:1.5.2'package io.vertx.starter.util;import java.awt.Dimension;import java.awt.Graphics2D;import java.awt.Rectangle;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException原创 2021-03-30 13:08:05 · 1146 阅读 · 1 评论 -
ueditor上传视频
https://blog.csdn.net/Love666Code/article/details/79977556https://www.cnblogs.com/dhrwawa/p/10600193.html另外一般项目中可能会进行xss过滤,所以要放开video标签和source标签转载 2021-03-05 12:50:49 · 220 阅读 · 0 评论 -
吃饭的家伙
中心框架:Spring+SpringBoot前端控制框架:JFinal/SpringMVC数据库操作:MySQL+JPA/JFianl-ActiveRecord全文搜索:ElasticSearch消息队列:ActiveMQAOP:AspectJ安全控制:Shiro容器服务器:Tomcat负载均衡:Nginx开发环境:IDEA构建工具:Gradle持续集成:Jenkins源码管理:Gitee/Github/Gitlab应用监控:Skywalking-apm原创 2021-01-29 09:18:49 · 170 阅读 · 3 评论 -
滑动验证码
滑动验证码是一个比较流行的验证码手段,比字符图形验证码更具备随机性,其基本原理就是利用一张图片,在此图片上随机的x,y处抠出一个方框(当然可以在此方框上再凸出凹进形成七巧板的形式),然后将这两张图和抠图的y轴坐标给前端,并生成流水号,记录流水号与x,y的关系。前端绘制原图,在y的地方的最左边绘制抠图,拖动此抠图获取的x和流水号传递给后端进行验证。可以将图片base64后通过一个接口给前端,减少磁盘使用。生成抠图和抠图后的原图的工具类import sun.misc.BASE64Decoder;im转载 2020-12-03 10:19:31 · 2042 阅读 · 0 评论 -
记一次不关闭资源导致通宵的血泪教训
在一次哨兵集群升级过程中,写Redis客户访问测试接口的时候,接口使用的JFinal的RedisSentinelPlugin初始化好的Redis获取Cache,进而获取Jedis。使用Jedis就可以任意操作Redis了。代码如下:Cache cache = Redis.use();Jedis jedis = cache.getJedis();String s = jedis.get(key);...use s结果访问多次之后接口就无响应了,表现为一直阻塞。然后重启应用,又可以访问多次,之后原创 2020-08-28 14:21:54 · 230 阅读 · 0 评论 -
复制目录初探
复制一个目录,这个目录如果有很多子项,可能会耗费大量的时间,并且不可控(你不知道复制了哪些,还剩哪些)。以下的脚本解决这个问题,每复制一个文件或者文件夹,就记录下来,这样如果一次没有复制完,还可以重启脚本继续复制。SRC=/data/temp/srcDEST=/data/tmp/destLOGFILE=/data/script/cplog.logEXISTS=`cat $LOGFILE`function cpfileordir(){ tmpdir=$1 if [[ "$EXISTS原创 2020-05-25 10:26:26 · 178 阅读 · 0 评论 -
关于树形结构、扁平化、子级的通用做法
树形结构是典型的递归结构,常见于代码中,但是代码比较通用,所以记之备忘。实现方式有多种,此仅仅是一种比较好理解的方式,不适合于数据量太大的情况,如果数据量太大,请使用分批次查询的方式。形成一个树形结构大部分情况下是基于一张表,然后通过一个字段parent_id指向其父级id即可。CREATE TABLE `some_model` ( `id` int(11) NOT NULL AUT...原创 2019-12-12 17:14:40 · 1173 阅读 · 0 评论 -
如何优雅地保证程序不退出?
首先提两个问题:springboot应用程序只在main方法中调用SpringApplication.run(xx),程序就运行起来了,他为什么能保持住不退出? quartz程序为什么能一直运行不退出?我们为了让程序保持不退出,一般使用Thread.sleep方法,或者使用一个while无限循环,但是总感觉不太优雅。参考springboot和tomcat的源码写了一个小工具,可以优雅地实现...原创 2019-11-01 09:39:55 · 1421 阅读 · 0 评论 -
NFS网络的搭建和迁移
以前的NFS服务器在192.168.0.50${oldserverip},在新机器192.168.0.100${newserverip}上安装NFS服务,迁移数据到新主机上,然后启动NFS服务,其他的客户端全部重新挂载到新的NFS网络。保持挂载目录和以前完全一样:以前的服务端挂载点/data/nfs ${dir_s},为了保持一致,新的服务端挂载点设置一样/data/nfs ${...原创 2019-10-18 11:55:49 · 347 阅读 · 0 评论 -
Git:Git详细教程
一:Git是什么?Git是目前世界上最先进的分布式版本控制系统。二:SVN与Git的最主要的区别?SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速转载 2015-11-04 15:21:51 · 352 阅读 · 1 评论 -
Marven:使用Maven构建Java项目
一、Maven是什么?Maven 是一个项目管理和构建自动化工具。Maven基于POM(Project object model),能够管理项目的构建、报表、文档等信息。我们这里主要讲的Maven的项目构建功能。有了Maven,我们可以方便的管理Java项目的生命周期和依赖。通过定义一个POM文件,我们就可以自动的完成编译、测试、打包甚至发布等过程。 二、为什么要用Maven?转载 2015-11-04 15:24:01 · 1903 阅读 · 1 评论 -
Git:廖雪峰git教程
廖雪峰的Git教程http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000转载 2015-11-06 12:41:53 · 633 阅读 · 0 评论 -
MyEclipse:详细使用教程
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。第一部分MyEclipse的基本使用一.提示:MyEclipse的透视图按钮:可以切换不同的透视图(位于右上角)1.建立一个工程----File—new—project---选项含有Javaproject,we...原创 2015-11-06 12:25:41 · 67408 阅读 · 5 评论 -
MyEclipse:WebContent/WebRoot
jspWebContent改为WebRoot 并实现运行工具:javaEE eclipse;tomcat 6.0(已配置好);导入案例后出现的问题:1.项目文件夹出现红色感叹号;2.个别java文件报错....;3.在仔细查看没错误后项目文件夹仍出现红色交叉错误标识;配置执行过程: 解决方法及其注意事项:一,消除红色感叹号:引起的原因:是jre版本与源码不一样。可以原创 2015-11-06 12:21:42 · 1201 阅读 · 0 评论 -
MyEclipse快捷键大全
MyEclipse快捷键大全 -------------------------------------MyEclipse 快捷键1(CTRL)-------------------------------------Ctrl+1 快速修复Ctrl+D: 删除当前行 Ctrl+Q 定位到最后编辑的地方 Ctrl+L 定位在某行 Ctrl+O 快速显示 Out原创 2015-11-09 10:09:41 · 406 阅读 · 1 评论 -
Servlet:验证码的原理
验证码的原理是:在页面中通过img显示验证码图片,img的src访问一个生成验证码的servlet,这个servlet生成验证码的同时把与这个验证码对应的文本保存在session中,每次页面上点击“换一个验证码”,就通过javascript代码改变img的src,就又访问这个servlet,生成另外一个验证码图片和保存到session中的文本,然后在验证码页面提交的时候同时需要提交用户输入转载 2015-11-20 08:25:26 · 379 阅读 · 0 评论 -
XML:XStream
1 XStream的作用XStream可以把JavaBean对象转换成XML!通常服务器向客户端响应的数据都是来自数据库的一组对象,而我们不能直接把对象响应给响应端,所以我们需要把对象转换成XML再响应给客户端,这时就需要使用XStream组合了。 2 XStream入门为了演示XStream的作用,我们需要先写两个类,Province和City。City.java转载 2015-11-24 11:44:46 · 436 阅读 · 1 评论 -
JSON及JSON-LIB
1 什么是JSONJSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON是用字符串来表示Javascript对象,例如可以在Servlet中发送一个JSON格式的字符串给客户端Javascript,Javascript可以执行这个字符串,得到一个Javascript对象。XML也可以用来佟大为数据交换,前面已经学习过在Servlet中发送转载 2015-11-24 11:47:00 · 324 阅读 · 1 评论 -
MySQL:MySQL的一些客户端工具
navicatsqlyogmysql query browserphpmyadmin,网页版mysql workbenchmysql dumper原创 2015-11-18 12:29:53 · 587 阅读 · 1 评论 -
详说字符编码
字符编码字符编码概述 1 字符编码是什么?我们知道,计算机数据只能是二进制的,数值类型的数据转换成二进制很简单,我们已经了解了,但字符类型如何转换成二进制呢?这就需要使用字符编码!在编码表中,每个字符都有对应的编码,编码是整数,最终在计算机中存储的是字符的编码,而不是字符本身(因为计算机数据都是二进制数值,所以字符本身是无法存储的)。当我们存储字符’A’时,其实是通过编码表转载 2015-11-19 13:13:39 · 448 阅读 · 0 评论 -
GB2312简体中文编码表
GB2312简体中文编码表code +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +FA1A0 、 。 · ˉ ˇ ¨ 〃 々 — ~ ‖ … ‘ ’A1B0 “ ” 〔 〕 〈 〉 《 》 「 」 『 』 〖 〗 【 】A1C0 ± × ÷ ∶ ∧ ∨ ∑ ∏ ∪ ∩ ∈ ∷ √ ⊥ ∥ ∠A1D0 ⌒ ⊙转载 2015-11-19 13:03:58 · 1671 阅读 · 0 评论 -
SVN:使用命令行模式访问SVN服务器
1.1检出①首先进入自己的工作目录,例如:D:\DevWorkSpace\SVNSpace②运行svn checkout命令,命令格式如下 格式 svn checkout svn://SVN服务器主机地址/具体仓库目录 保存检出内容的目录 举例 svn checkout svn://localhos...转载 2019-07-27 19:59:48 · 13748 阅读 · 0 评论 -
SVN:适用地方和简介
1.1 小明负责的模块就要完成了,就在即将Release之前的一瞬间,电脑突然蓝屏,硬盘光荣牺牲!几个月来的努力付之东流——需求之一:备份!1.2 这个项目中需要一个很复杂的功能,老王摸索了一个星期终于有眉目了,可是这被改得面目全非的代码已经回不到从前了。什么地方能买到哆啦A梦的时光机啊?需求之二:代码还原!1.3 小刚和小强先后从文件服务器转载 2015-12-15 14:24:16 · 560 阅读 · 1 评论 -
SVN:版本库管理
1 单一版本库权限配置1.1 匿名访问:前已述及。1.2 授权访问①要设置授权访问就需要创建用户,并为用户设定权限②打开授权访问的配置[1]打开D:\DevRepository\Subversion\ERP\conf\svnserve.conf[2]将第19行anon-access= write注释掉:# anon-acce转载 2015-12-15 14:43:40 · 521 阅读 · 0 评论 -
SVN:客户端作为Eclipse插件
1.1 Eclipse插件应用市场在Eclipse中访问Eclipse Marketplace Client可以搜索Subversion,下载插件,按提示安装即可。1.2 使用压缩包如果不能联网可以使用下载好的插件压缩包eclipse_svn_site-1.10.5.zip,这个压缩包是从http://subclipse.tigris.org/网站(su转载 2015-12-15 14:45:22 · 470 阅读 · 1 评论 -
SVN:客户端适用独立客户端——TortoiseSvn
1.1 TortoiseSVN简介TortoiseSVN是一个Windows下的版本控制系统Apache™ Subversion®的客户端工具。1.2 TortoiseSVN的优良特性①外壳集成TortoiseSVN 无缝地整合进 Windows 的外壳(例如资源管理器)。②重载图标每个版本控制的文件和目录的状态使用小的重载图标表示,可以转载 2015-12-15 14:56:53 · 2643 阅读 · 0 评论 -
ANT:生成doc、打包zip、FTP
进行项目的清理工作 进行项目的初始化 sourcepath="${src.dir}" private="true" windowtitle="我的JAVA DOC" use="转载 2015-12-16 08:29:22 · 365 阅读 · 0 评论 -
ANT:与Junit的整合(一):Junit3
HelloWorld.javapublic class HelloWorld { public String hello() { return "world"; } public String world() { return "hello"; } public String转载 2015-12-16 08:14:50 · 396 阅读 · 0 评论 -
ANT:自动测试、生成测试报告
源码放在src源码目录下两个测试文件放在test源码目录下新建lib文件夹,放入junit4的jar包运行以下的build.xml自动生成测试报告 //运行所有的测试文件 **/Test*.class"> //包含进lib中的jar转载 2015-12-16 08:22:42 · 707 阅读 · 0 评论 -
ANT:基于JavaEE的项目构建
drop database ant_test; create database ant_test; GRANT ALL ON ant_test.* TO "ant_test"@"localhost" IDENTIFIED BY '123'转载 2015-12-16 08:38:47 · 564 阅读 · 1 评论 -
ANT:属性、环境属性、Ant属性
--> 特别注意:如果是路径不建议在外部文件中定义,因为此时就不会设置location的值--> ${ant.home} ${ant.version} ${env.CATALINA_HOME} ${env.OS}转载 2015-12-16 08:09:47 · 548 阅读 · 0 评论 -
ANT:安装、基本使用
ANT是一款自动构建工具,可以将你从繁琐的一系列动作中解脱出来。包含自己的一些核心target(一个target表示你要做什么事,target中就有ANT认识的命令,比如mkdir、delete、javac、java、ftp(需要一个支持包放入ANT环境)、jar、zip、junit),还可以运行第三方命令(比如hibernateTools),你还可以实现自己的命令(很显然需要实现一个ANT的接口转载 2015-12-16 07:58:44 · 473 阅读 · 1 评论 -
ANT:与Junit的整合(一):Junit4
public class TestHello { private HelloWorld hw; @Before public void setUp() { hw = new HelloWorld(); } @Test public void testHello() { Strin转载 2015-12-16 08:18:05 · 912 阅读 · 0 评论