java
怪只怪满眼尽是人间烟火
尚未佩妥剑 转眼已江湖
展开
-
Java进程占用内存过高,排查解决方法
查看当前进程的状态top当前进程按照内存进行排序shift+m根据pid(进程号)找到线程号(tid) 此处的tid为10进制tid ps p 31088 -L -o pcpu,pmem,pid,tid,time,tname,cmd将10进制tid转换成16进制printf "%x\n" 18463使用 jstack 查看jdk的运行情况 jstack 31088jstack中的nid便是16进制的tid,找到一一对应的详解...原创 2022-05-10 23:57:31 · 2279 阅读 · 0 评论 -
Spring AOP同一ip限制其请求次数
pom依赖: <!-- Map依赖 --> <dependency> <groupId>net.jodah</groupId> <artifactId>expiringmap</artifactId> <version>0.5.8</version> </dependency>原创 2022-04-21 16:32:27 · 553 阅读 · 0 评论 -
java消费kafka数据之后,进行堆积之后在插入数据库
java高频的获取kafka数据,导致数据库数据一致在高频读写,为了降低数据库的高频连接搞高频读写,可以将数据堆积一段时间之后,进行插入数据库操作。主要采用了队列和缓存,将获取到的数据放入java队列中,利用缓存进行延时判断。 <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version原创 2022-04-13 18:01:17 · 3592 阅读 · 0 评论 -
spingboot实现redis的发布订阅
配置订阅频道import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.connection.RedisConnectionFactory;import org.springframework.data.redis.listener.ChannelTopic;原创 2022-04-02 16:01:20 · 1079 阅读 · 0 评论 -
Spring Boot集成Debezium监控数据库变化
看这篇文章之前,建议先看这篇文章,主要是采用数据的binlog进行监听mysql实时监听canal+kafka_怪只怪满眼尽是人间烟火-CSDN博客1.首先安装mysql2.然后安装kafka然后安装kafkahttps://qushen.blog.csdn.net/article/details/1226820003.安装并配置canalcanal.deployer-1.1.5.tar.gzhttps://github.com/alibaba/canal/releases/downl...原创 2022-02-24 11:58:06 · 3548 阅读 · 4 评论 -
SpringBoot的定时任务动态管理
地址:GitHub - guoyixing/super-scheduled: SpringBoot的定时调用的加强工具,实现定时任务动态管理,后续加入可视化管理、调度日志、集群任务统一管理原创 2022-01-30 23:03:37 · 669 阅读 · 0 评论 -
mysql监控sql
数据库大小(MB)select FLOOR(round(sum(DATA_LENGTH/1024/1024),2)) as data from information_schema.TABLES where table_schema='nlflow_data'查看日志表信息show variables like 'log_%'慢查个数show global status like 'slow_queries'当前连接数量show status like '%Threa..原创 2022-01-16 13:33:44 · 378 阅读 · 0 评论 -
jdbc工具类JdbcUtil
import lombok.extern.slf4j.Slf4j;import org.springframework.stereotype.Component;import java.sql.*;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;/** * @author qushen * @create 2022/1/12 15:52 *.原创 2022-01-14 10:49:33 · 572 阅读 · 0 评论 -
springboot@Async异步调用
@RestController@RequestMapping("/api")@Slf4jpublic class AsyncController { @Autowired private AsyncControllerTest asyncControllerTest; @GetMapping("/test") public String test() { asyncControllerTest.doAsyncMethod(); .原创 2022-01-12 23:13:55 · 152 阅读 · 0 评论 -
java简单的for循环多线程
public static void main(String[] args) { /** * 线程池 */ static ThreadPoolExecutor executor = new ThreadPoolExecutor(5, 10, 2, TimeUnit.MINUTES, new LinkedBlockingDeque<>()); for(int i=0;...原创 2022-01-12 19:47:15 · 2530 阅读 · 0 评论 -
Java冒泡实现类Collections.sort()
Collections是一个工具类,sort是其中的静态方法,是用来对List类型进行排序的List<user> list = new ArrayList<user>(); user userObject1 = new user(); userObject1.setName("zhangsan"); userObject1.setJava(11); userObject1.setMaths(11);原创 2021-11-14 11:29:08 · 265 阅读 · 0 评论 -
DataSourceBuilder转换JdbcTemplate
import org.springframework.boot.jdbc.DataSourceBuilder;import org.springframework.jdbc.core.JdbcTemplate;import java.sql.Connection;import java.util.LinkedList;import java.util.List;import java.util.Map;public class DataBase { private static .原创 2021-08-08 00:07:07 · 611 阅读 · 0 评论 -
dataSource 转 jdbctemplate
https://www.cnblogs.com/cutter-point/p/9147745.html转载 2021-08-07 23:36:05 · 280 阅读 · 0 评论 -
for循环中使用多线程
public class test { private final static Executor executor = Executors.newCachedThreadPool();//启用多线程 public static void main(String[] args) { for (int i = 0; i <= 3; i++) { final int j = i; //关键是这一句.原创 2021-08-07 10:24:42 · 3022 阅读 · 0 评论 -
java实现多级菜单(java递归)方法二
@Autowired private TreeBuilder treeBuilder; /** * 获取树状结构数据 */ @RequestMapping("menu/queryMenuTree") @ResponseBody public Object queryMenuTree(int id){ //查询Node数据 List<Node> list=menuService.quer...原创 2021-07-12 09:14:17 · 392 阅读 · 0 评论 -
java实现多级菜单(java递归)方法一
查询菜单树public List<Map<String, Object>> queryCategoryInfo() { List<Map<String, Object>> allMenu = queryAllCategory(); //根节点 List<Map<String, Object>> rootMenu = new ArrayList<Map<String, Object>原创 2021-07-12 09:11:06 · 377 阅读 · 0 评论 -
Spring Boot配置多数据源
application.properties文件server.port=8053spring.datasource.primary.jdbc-url=jdbc:mysql://192.168.21.55:3306/nlflow_dataspring.datasource.primary.username=nlflowdataspring.datasource.primary.password=nlflowdata1234spring.datasource.primary.driver-cl原创 2021-06-14 16:03:49 · 465 阅读 · 0 评论 -
java发送html模板
首先看一下模板:原创 2021-06-08 14:24:48 · 805 阅读 · 2 评论 -
java动态拼接String类sql
String sql = "SELECT * from em_earmarkboxinfo ac "; //定义一个list<string>类型的集合,用来放拼接的SQL语句 List<String> list = new ArrayList<>(); if (ebiboxid != 0) { String sqla = " BoxId= " + ebiboxid; ...原创 2021-02-03 15:45:02 · 1285 阅读 · 1 评论 -
采用redis+ThreadLocal获取全局的登录用户信息(一)
1.首先进行登录操作,代码已经假设你从数据库拿到了用户信息保存在变量userinfo中,将token返回给浏览器保存,并将token和userinfo保存在redis中。 @Resource private RedisTemplate redisTemplate; @RequestMapping("/login") public R token(HttpServletRequest request, HttpServletResponse response) { .原创 2020-12-25 11:09:01 · 2350 阅读 · 6 评论 -
sql中的where 1=1有什么用?
1=1 永真 1<>1 永假1=1常用于拼接动态sqlString sql = select * from table1 where 1=1 ;if(!a.equals("")){sql=sql+"a='"+a+"'";}if(!b.equals("")){sql=sql+"b'"+b+"'";}if(!c.equals("")){sql=sql+"c='"+c+"'";}if(!d.equals("")){sql=sql+"d='"+d+"'"...原创 2020-11-16 14:11:14 · 334 阅读 · 0 评论 -
Java实现根据地理位置获取经纬度
import com.alibaba.fastjson.JSONObject;import com.github.pagehelper.PageInfo;import org.apache.ibatis.annotations.Param;import org.omg.CORBA.Request;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.schedulin...原创 2020-11-05 13:43:56 · 4488 阅读 · 3 评论 -
支付宝手机网站支付对接(java)
以下所有的对接都基于沙盒环境,正式环境需要和支付宝进行签约。发起支付由用户提交付款信息,包括金额,用户订单号,商品名称,订单描述等信息。付款流程扫码付款。后端通知付款成功后支付平台会向后台发送一个异步的消息通知,系统在接收该信息时才对订单做出状态的更改,比如说更改会员状态,修改订单信息等操作。1.下载资料。https://opendocs.alipay.com/open/270/106291/2.下载秘钥生成工具:https://opendocs.alipay.com/ope原创 2020-09-11 10:50:46 · 2115 阅读 · 1 评论 -
springboot通过url访问项目外的其他目录下的图片
1.首先在application.properties文件中增加配置:#资源绝对路径为file:D://sws/module-base/module-base/upload,图片存放的真实路径spring.resources.static-locations=file:D://sws/module-base/module-base/upload #资源映射路径为/image/**,使用url访问的请求路径spring.mvc.static-path-pattern=/image/原创 2020-07-27 19:56:36 · 1741 阅读 · 0 评论 -
@Scheduled执行阻塞解决办法
问题还原:写了多了定时任务,但是部分任务一直不执行,想起来多个函数上使用了@Scheduled,该定时任务默认使用单线程,从而导致了线程阻塞。解决办法: 方案一:使用@Async注解实现异步任务 @Async @Scheduled(cron="0 0/10 * * * ? ") //每10分钟执行一次注意:Application主类要开启 @EnableAsync 注解 方案二:配置线程池import java.util.c...原创 2020-07-21 17:25:54 · 2656 阅读 · 0 评论 -
springboot 各种日志打印
1.springboot打印sql语句在application.properties文件中:#开启打印MyBatis sql日志输出logging.level.com.sws.platform.gis.dao=debug红色部门修改为mappper(.java)文件路径。原创 2020-07-13 17:18:18 · 328 阅读 · 0 评论 -
开始时间和结束时间设置为 yyyy-MM-dd 00:00:00 ~~yyyy-MM-dd 23:59:59
String format ="yyyy-MM-dd"; String format1 ="yyyy-MM-dd 00:00:00"; String format2 ="yyyy-MM-dd 23:59:59"; SimpleDateFormat sdf = new SimpleDateFormat(format); SimpleDateFormat sdf1 = new SimpleDateFormat(f...原创 2020-05-27 10:20:22 · 2096 阅读 · 0 评论 -
java解析动态AIS原始数据
首先看一下解析效果:首先项目引入jar包: <dependency> <groupId>dk.tbsalling</groupId> <artifactId>aismessages</artifactId> <version&g...原创 2019-11-19 10:24:01 · 2379 阅读 · 2 评论 -
java解析静态AIS原始数据
首先项目中引入如下jar包: <dependency> <groupId>dk.tbsalling</groupId> <artifactId>aismessages</artifactId> <version>2.2.1</version> </dependency>...原创 2019-11-19 09:28:06 · 2599 阅读 · 7 评论 -
java调用快递物流接口api
接口地址:阿里云全球物流快递查询(单号识别)登录阿里云进行购买,有免费试用次数,可以免费查询100次。购买成功之后去阿里云 控制台→云市场→已购买服务 就能看自己的接口所需要的key。然后java调用代码:public static void main(String[] args) { String host = "https://goexpress.marke...原创 2019-11-12 13:51:53 · 1804 阅读 · 2 评论 -
测试一个1024发博客有没有徽章。
测试一个1024发博客有没有徽章。原创 2019-10-24 12:13:07 · 205 阅读 · 0 评论 -
Jackson返回结果处理的几种注解
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.7.3</version> </dependency&...原创 2019-07-09 09:52:56 · 1271 阅读 · 0 评论 -
springboot上传文件及文件上传限制大小异常捕获
一个简单的页面上传文件,上传的接口是/upload,请求方法是post,enctype(表单类型)是multipart/form-data<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title&g...原创 2019-06-24 11:35:16 · 4577 阅读 · 9 评论 -
Spring boot 定制banner
springboot项目启动时候会在控制栏打印一个banner如果想要修改此banner,可以在src/main/resources文件夹下面放置一个banner.txt文件此网站可以生成txt的艺术字体 http://www.network-science.de/ascii/然后启动项目,会打印出自己定制出来的banner...原创 2019-06-24 09:12:32 · 380 阅读 · 0 评论 -
java验证码的实现
首先java代码生成验证码:import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import j...原创 2019-05-29 18:02:34 · 835 阅读 · 0 评论 -
Spring中的ModelAndView
顾名思义ModelAndView,这个ModelAndView是由Model+View组成的。也就是说,ModelAndView返回值有Model(模型/参数)和View(视图/页面)! 返回的只有一个Model时public ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletR原创 2018-01-19 15:38:37 · 2139 阅读 · 0 评论 -
手动搭建一个Spring Boot项目
Spring Boot如果在电脑联网的情况下可以使用在线插件进行自动搭建,没有插件的情况可以手动搭建。以下是eclispe手动搭建的流程:Eclipse→File→New→Maven Project:勾选Create a simple project(创建一个简单的项目) 点击Next填写Group id和artifact id,packaging选择为jar,点击finish...原创 2019-07-16 15:54:44 · 519 阅读 · 0 评论 -
ZooKeeper入门(四)实现分布式锁
首先是引入pom依赖: <dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <version>0.10</version> </dependency>接下来是java代...原创 2019-07-30 17:13:34 · 424 阅读 · 0 评论 -
ZooKeeper入门(五)配置集群和选举机制
一. 配置集群1. 准备多台ZooKeeper服务器 2. 配置ZooKeeper服务器在每台服务器的conf/zoo.cfg文件中添加如下内容:server.20=192.168.4.20:2888:3888server.21=192.168.4.21:2888:3888server.22=192.168.4.22:2888:3888格式: server.A=B...原创 2019-07-30 17:37:51 · 857 阅读 · 0 评论 -
Maven拉取私服Jar包和发布jar包到maven私服
<url>http://192.168.1.15:8081/repository/maven-public/</url> 将maven的setting文件中的仓库路径替换成自己私服的路径就ok了。如果要发布自己的jar到私服,只需要在pom文件中如下设置就行了。<distributionManagement> <snapshot...原创 2019-08-13 21:01:25 · 2700 阅读 · 0 评论