自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

武亚军的博客

不足之处还请大家多多指教。

  • 博客(13)
  • 收藏
  • 关注

原创 Java导出CSV在Office打开乱码解决

CSV文档是什么CSV是【Comma-Separated Values】的缩写,代表一种包含数据列表的纯文本文件格式,CSV文件通常用于在不同应用程序之间交换数据。CSV大多使用逗号字符来分隔数据,文件具有相当简单的结构。它是由逗号分隔的数据列表。例如:问题说明最近项目中有一个导出CSV的需求,导出的文件使用MicsoftOffice组件中的Excel打开后,内容就会出现乱码,而使用文本软件也可以正常打开且内容都是正常的。我们发现,文档是按照设置的UTF8格式导出的,这就说明并非简单的文件编码的问题

2021-12-03 17:18:26 2710

原创 关于一次Java任务启动与停止的实现过程

场景描述:用户要在某个页面操作一个服务的运行,另外需要在页面添加停止按钮中断任务继续运行。一开始我就想到了在发起运行时把当前线程放到一个ConCurrentHashMap中,并由前段传一个标记过来,停止的时候也把这个标记传过来,然后找到这个线程停止掉,实现如下:import lombok.extern.slf4j.Slf4j;import org.springframework.web.bind.annotation.RequestMapping;import org.springframew

2021-08-28 16:07:47 1158 1

原创 在静态方法中调用@Autowired注入的对象的方法

前端时间开发过程中遇到在别的jar包中调用这边的业务功能,但是又不允许依赖那部分的jar包,所以只好使用反射的方式调用,但是正常的反射调用的方法需要是 public static 修饰的方法才能够调得到,但是static方法中调用注入对象的方法直接报红。所以找了另外一种方法来实现首先,将注入对象正常使用@Autowired注入进来@Autowiredprivate DataTraceRepository dataTraceRepository;创建一个当前对象的静态变量,再添加一个init方法,方

2020-12-26 17:34:50 5500 1

原创 如何将一个jar包install到自己本地的maven仓库

maven命令:安装指定文件到本地仓库命令:mvn install:install-file -DgroupId=<groupId> : 设置上传到仓库的包名 -DartifactId=<artifactId> : 设置该包所属的模块名 -Dversion=1.0.0 : 设置该包的版本号 -Dpackaging=jar : 设置该包的类型(很显然jar包) -Dfile=<myfile.jar>

2020-12-21 14:19:02 776

原创 Tomcat无法使用shutdown命令杀死的问题

Tomcat无法使用shutdown命令杀死的问题问题描述问题解决解决方案1解决方案2(需要在tomcat停止的状态下操作)问题描述在使用shutdown命令关闭tomcat服务的时候出现如图报错,但是服务确实已经无法访问到了,使用ps -ef | grep tomcat可以看到tomcat进程仍然存在。问题解决解决方案1 查找到所有的tomcat,然后手动杀掉(缺点是每次都得操作,如果嫌麻烦可以使用第二种方案) ps -ef | grep tomcat kill -9 pid解决方案

2020-12-21 12:04:16 1636

原创 配置Log4j日志存储到ElasticSearch6.5.0

1. 使用docker安装Elasticsearch拉取镜像(项目使用版本为6.5.0)docker pull elasticsearch:6.5.0查看镜像使用 docker images 命令查看是否已经拉取成功启动镜像docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -p 9200:9...

2019-10-20 18:58:54 3644

原创 Java项目时间与服务器时间不同步的问题解决

问题描述有一个记录实时操作时间的操作, 查询到的记录的时间比实际时间慢了12小时排查过程查看数据库时区与数据库连接配置查询数据库当前时间 select now(); 发现就是当前时间, 没有任何问题然后查看数据库连接属性 ?useUnicode=true&characterEncoding=UTF-8**&serverTimezone=UTC**有时区设置查看服务器系统...

2019-10-13 21:21:35 7177 2

原创 PlantUml学习&Intellij IDEA的集成

PlantUml学习&Intellij IDEA的集成PlantUml是什么PlantUML的优点PlantUML安装方式及注意事项安装Graphviz并配置环境变量PlatUml的下载及安装参考资料PlantUml是什么PlantUml是一个支持快速绘制的开源项目。其定义了一套完整的语言用于实现UML关系图的描述,并基于强大的Graphviz图形渲染库进行UML图的生成。绘制的UML...

2019-08-06 16:13:20 825

原创 分享一下Java环境高德地图Api使用

使用高德经纬度获取地址信息一些准备用到的常量 /** * 高德地图请求秘钥 */ private static final String KEY = "密钥,可以去高德地图免费申请"; /** * 返回值类型 */ private static final String OUTPUT = "JSON"; ...

2018-04-04 17:45:40 9513 1

原创 根据两地经纬度计算两地直线距离

去百度地图拾取经纬度创建一个地点对象/** * 地图坐标类 */public class MapPoint { // 纬度 private double lan; // 经度 private double lon; public MapPoint() { } public MapPoint(double lan, d...

2018-03-20 11:30:24 4614

原创 重写Compare方法对集合以指定对象的属性进行排序

首先我们创建一个学生类举例子import java.io.Serializable;public class Student implements Serializable { private static final long serialVersionUID = 8553487662223781924L; private Integer id; priv...

2018-03-13 21:52:40 1104

原创 关于MySQL两种持久化方式区别总结

基本区别:InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事务;InnoDB支持外键,而MyISAM不支持。对一个包含外键的InnoDB表转为MYISAM会失败;InnoDB是聚集索引,数据文件是和索引绑在一起的,必须要有主键,通过主键索引效率很高。但是

2018-01-30 13:23:52 7473

原创 关于序列化后反序列化丢失几大问题总结

序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。反序列化失败原因:(目前只遇到过两种)没有添加 serialVersionUID 可能会导致反序列化失败生成默认的serialVersionUID --> [Ad

2018-01-19 10:47:11 8784

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除