java
文章平均质量分 79
不忘初心_jzy
一位java 开发者
展开
-
使用 Jpom 快速发布项目到服务器教程
简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件前言❝本文主要介绍:如何从零开始使用 Jpom 中的构建功能快速实现将项目从仓库中构建并发布到服务器中并启动项目。❞Jpom 功能特点 创建、修改、删除项目、Jar包管理 实时查看控制台日志、备份日志、删除日志、导出日志 cpu、ram 监控、导出堆栈信息、查看项目进程端口、服务器状态监控 多节点管理、多节点自动分发 实时监控项目状态异常自动报警 在线构建项目发布项目一键搞定..原创 2021-08-01 23:11:04 · 5714 阅读 · 2 评论 -
java 动态修改方法上的注解值
https://blog.csdn.net/jiangzeyin_/article/details/78421178上篇博客提起,动态修改类上注解的值。有博友问题如果修改方法上注解值,其实二者是相通的。代码如下:import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import j...原创 2018-04-15 22:35:18 · 15537 阅读 · 25 评论 -
velocity 使用中的一个坑
如果使用velocity 想自定义 spring.velocity.properties.file.resource.loader.class 属性实现加载指定file 或者复杂的页面关系一般配置如下:#velocity 模板文件配置spring.velocity.charset=UTF-8spring.velocity.content-type=text/htmlspring....原创 2018-05-12 18:18:42 · 1222 阅读 · 0 评论 -
一个关于压缩流InputStream 读取的话题
曾经在网上看到一段代码优化InputStream 读取的,大致是根据流大小来确定每次读取的字节数。代码如下:DataOutputStream outputStream = null;try { outputStream = new DataOutputStream(new FileOutputStream(file)); int len = inputStream.ava...原创 2018-05-06 15:00:16 · 3561 阅读 · 0 评论 -
解析snowflake 算法生成的id 中时间、数据中心id 、机器编号、毫秒内序列
数据中主键有多种方式:数据库自增、程序生成。程序生成一般采用的是snowflake 算法。这个算法在网上有很多解释,这里就不做过多的解释。生成的id大致有以下组成:Snowflake算法一般生成的每一个ID都是64位的整型数,它的核心算法也比较简单高效,结构如下:41位的时间序列,精确到毫秒级,41位的长度可以使用69年。时间位还有一个很重要的作用是可以根据时间进行排序。5位的数...原创 2018-06-23 16:56:06 · 7432 阅读 · 4 评论 -
SpringBoot ResponseBodyAdvice 接口实现自定义返回数据类型(响应头)
有业务需要,我们需要动态确定接口返回的数据类型。如果json 、text、xml 等…如果是固定类型可以采用 @RequestMapping 注解中的 produces 来实现那如果需要不确定类型,那么就不添加这个属性。controller 的方法如下:@RequestMapping(value = "version", method = RequestMethod.POST)p...原创 2018-07-18 10:46:08 · 34449 阅读 · 13 评论 -
多次或者误用,ISO-8859-1 转换为 UTF-8 自动纠错
java 中客户端传来的参数很多都是ISO-8859-1 的编码,我们如果要使用需要将其转换为UTF-8 的编码。方式如下:new String(source.getBytes("ISO-8859-1"), "UTF-8") 这样就转换为UTF-8 的编码了。在实际使用中,有些框架会根据客户端指定编码格式来自动转换,如果我们再次调用转换那么得到的将是乱码原创 2018-08-22 10:47:54 · 8753 阅读 · 0 评论 -
SimplifyDb java快捷操作数据库发布啦
-- QQ群:136715345 --SimplifyDb在java 中我们有多种方式操作数据库,但是如果只是为了简单处理使用一些框架,在使用中还是显得麻烦。这里就整理一个简单快速操作数据库的一种方案简介SimplifyDb 是一个Java基于druid的一款简化写sql语句操作mysql的框架。本项目主要采用反射读写需...原创 2018-09-18 13:15:27 · 454 阅读 · 0 评论 -
SpringBoot 上传文件封装方便快速多方式保存文件
SpringBoot 中如果是文件上传,Requet 对象都是 org.springframework.web.multipart.MultipartHttpServletRequest在业务需求中我们一般需要限制文件上传大小,文件上传类型。一般配置都是全局统一配置,如果在不同接口限制不同,还是需要单独封装处理这里根据大部分业务封装一个类,能实现控制:1. 文件大小限制2. 文件后缀名...原创 2018-10-29 17:33:39 · 2018 阅读 · 1 评论 -
Spring Boot 线上项目管理
Spring Boot 线上项目管理在linux 中管理SpringBoot 项目如果是打包为Jar那么我们一般是使用shell 命令来管理,如果有多个项目管理起来显得比较麻烦。如果新增、更新、删除项目都不是很方便。再或者想不使用电脑控制重启、关闭、开启项目。直接使用shell 登录服务器管理显然不是最简单的方法如果休息日在朋友家玩,公司领导联系说需要控制一下某个项目,这是你身边有电脑...原创 2018-12-29 16:24:20 · 887 阅读 · 0 评论 -
一个关于Java执行外部shell命令的疑问笔记
Java 中可以通过 Runtime.getRuntime() 来执行外部命令在实际中可以用来执行shell 命令一般代码如下shell 文件(简化)#!/bin/bashecho "我是shell命令里输出的"Java方法代码private String exec(String cmd) throws IOException, InterruptedException {...原创 2019-03-07 14:39:30 · 278 阅读 · 0 评论 -
java 解析mysql 的binlog 日志文件
原文链接:https://ask.hellobi.com/blog/cimen/9133Maven 配置<dependency> <groupId>com.github.shyiko</groupId> <artifactId>mysql-binlog-connector-java</artifactId> ...转载 2018-03-05 10:42:05 · 8479 阅读 · 6 评论 -
java dbutil 快速方便操作多数据源数据库
在java 中我们有多种方式操作数据库,但是如果只是为了简单处理使用一些框架,在使用中还是显得麻烦。这里就整理一个简单快速操作数据库的一种方案项目地址:https://gitee.com/jiangzeyin/dbutil并且也上maven 库了:https://mvnrepository.com/artifact/cn.jiangzeyin/dbutil博客专栏:http://blog.csdn.原创 2017-08-22 15:03:15 · 3047 阅读 · 0 评论 -
Java 使用动态代理来动态修改注解值
java 中定义注解都是在编写代码时,如果我们想在运行中根据某个条件来修改注解的值。是无法注解操作的,但是通过动态代理是可以实现的。这里需要用到的是Proxy 动态代理第一步得到代理实例:InvocationHandler invocationHandler = Proxy.getInvocationHandler(componentScan);然后再通过代理示例来操作注解上的值: Invocat原创 2017-11-02 09:32:17 · 11468 阅读 · 6 评论 -
java 多种方式判断文件是否为图片
在很多时间我们需要判断一个文件是否为图片,再或者我们需要获取一个文件的类型是否为我们需要的(这种场景在上传文件接收的时候,非常必要)方式一:使用ImageIO 判断图片宽高 方式二:判断文件头信息方式三:获取文件头信息,该方法可以获取所有文件的类型原创 2017-07-11 14:57:56 · 14415 阅读 · 4 评论 -
java 判断文件是否为图片2
前面写了篇博客,多种方式判断一个文件是否为图片。在实际使用中发现方式二,没有兼容exif 格式的图片。这里补正一下。前一篇博客地址:http://blog.csdn.net/jiangzeyin_/article/details/74972661 public static String getImageType(File srcFilePath) { FileInputStream原创 2017-07-12 10:28:38 · 3255 阅读 · 0 评论 -
java 将jsonarray 转化为对应键值的jsonobject
有时候我们再操作数据的时候,很多数据是jsonarry 格式的 如:[{"name":"测试数据","id":1},{"name":"测试数据2","id":2}]这样的格式很类型表格数据类型。但是我们要取id 为1的name 这样我们就要先变量以便了。如果需要多次操作这样的类型,显得很麻烦。这里的数据我们可以看出id 是唯一的。那么我们可以想办法将其转为jsonobject 这样我们就很方便 根原创 2017-07-12 17:34:11 · 6041 阅读 · 0 评论 -
java Properties 键的顺序按照文件里的顺序排列
Properties 在读取文件后,键的顺序并不是我们文件中的顺序。这样的情况,在有些业务要求一定要按照顺序。那么这样就很头大。这里自定义一个Properties 类来实现package com.yoke.util;import java.io.File;import java.util.*;/** * key的顺序按照文件顺序 * * @author jiangzeyin * @date原创 2017-07-12 17:42:35 · 6064 阅读 · 0 评论 -
java 快捷操作Properties 辅助类
我们在操作Properties 时候一般都是按照键值来操作,但是如果我们在操作一个复杂 的Properties 时候这样先进行很多操作就显得累赘。比如我们想获取Spring Boot 的 Properties 时候。里面很多复杂的键。我们就需要考虑找一个工具类来实现。package com.yoke.util;import java.util.ArrayList;import java.util.原创 2017-07-12 17:58:25 · 3132 阅读 · 0 评论 -
Java 将字符串按照指定字符拆分 为List
这里使用了java sdk 中一提供的方法 并不是split 方法对应包:import java.util.ArrayList;import java.util.StringTokenizer;具体方法: public static ArrayList<String> StringToArrayList(String str, String separator) { ArrayLi原创 2017-07-07 12:14:07 · 8326 阅读 · 0 评论 -
java 判断当前运行类是否在jar 中运行
有时候我们需要对某个包中的所有类进行扫描,我在测试环境中写好代码。打包在生产环境中运行就报错。大写的尴尬呀!发现是因为打包后class 存在jar 中。对应的路径关系不正确。所有我们需要对当前类进行判断在何种情况下运行 URL url = BaseApplication.class.getResource(""); String protocol = url.getProtocol();然后我们判原创 2017-07-07 14:45:37 · 4799 阅读 · 0 评论 -
java 实现一个广告系统
在广告公司有时候需要对广告页面进行一些处理,进过多次经验整理出来供大家参考1.页面调整 2.域名解析 4.图床系统 5.订单系统 6.扒页面 7.改广告页面 项目地址:https://gitee.com/jiangzeyin/ad_tools广告相关 的可以控制nginx 以及下订单 使用idea java8 开发(代码里有部分lambda表达式)ad_tools —-> 总项目原创 2017-08-22 14:47:50 · 9153 阅读 · 8 评论 -
java 获取某个包下的所有类名
java 获取某个包下的所有类名 (中文路径)原创 2017-07-07 14:51:18 · 18706 阅读 · 8 评论 -
websocket 实现服务器日志实时反馈(linux 环境)
在我们线上项目中,版本迭代很多操作需要重新、关闭、开启应用程序,这样我们就需要登录服务器去命令中操作。如果我们定制开发一个web程序去控制项目的重启与关闭,这样就需要在web界面中实时反馈重启与关闭时的日志反馈信息,这样如果出现异常方便我们及时处理。如果要实时反馈的话,这里提供解决方案是使用websocket + sh 命令tail 这样来实时获取日志文件里面信息,java 获取到对应流信息并输出到原创 2017-09-15 16:04:35 · 1919 阅读 · 0 评论