Java
学习和工作中遇到的Java问题和小技巧
赛尔号-
这个作者很懒,什么都没留下…
展开
-
MySQL在一个字段中匹配多个值
XML语句Java代码的写法原创 2022-06-17 10:00:30 · 1823 阅读 · 0 评论 -
Mybatis-Plus一个字段匹配两个字段值
在代码中的写法生成的SQL原创 2022-06-17 09:50:13 · 2091 阅读 · 0 评论 -
ElasticSearch7.6入门学习
开始学习原创 2022-02-10 17:16:39 · 797 阅读 · 0 评论 -
Spring-狂神
参考来源:公众号【狂神说】原创 2022-01-12 15:21:10 · 379 阅读 · 0 评论 -
深入理解JVM虚拟机
深入理解Java虚拟机原创 2021-09-17 22:04:33 · 178 阅读 · 0 评论 -
算法题搜集和练习
算法原创 2021-12-23 17:08:53 · 117 阅读 · 0 评论 -
使用Java代码请求阿里云网关的接口
1、调用public class Demo4 { public static void main(String[] args) { for (int i = 0; i <= 20; i++) { String host = "http://xxx-cn-hangzhou-vpc.alicloudapi.com"; String path = "/datahome/xxx/xxx"; String meth原创 2020-12-29 17:45:21 · 861 阅读 · 1 评论 -
Java使用线程池对list进行分组处理
@Slf4jpublic class Demo24 { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); for (int i = 0; i < 1000; i++) { list.add("第" + i + "个"); } int nThreads = 5;原创 2021-11-02 16:59:35 · 618 阅读 · 0 评论 -
使用top命令定位OOM
1、找到Java进程[root@prod-datacenter-dataservice jvm] ps -ef | grep javaroot 19486 1 0 Aug25 ? 01:07:38 java -Xms128m -Xmx1024m -jar dhms_collectlog-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod --server.port=4600root 20526 1 7 10原创 2021-09-08 11:38:31 · 381 阅读 · 0 评论 -
MyBatis-Plus执行原生SQL
@Select({"${sql}"}) @ResultType(ArrayList.class) List<Person> executeQuery(@Param("sql") String sql);原创 2021-07-30 17:15:53 · 7451 阅读 · 0 评论 -
Java自定义注解
必看基础知识实际应用1、自定义注解@Inherited@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.TYPE)public @interface HybaseSubTable { String columnName() default ""; String filterType() default "year";}2、解析工具public class HybaseSubTableAnalysis<T&原创 2021-07-05 14:36:32 · 93 阅读 · 0 评论 -
Java 使用stream对list进行分片
将一个list分成指定大小的若干个listpublic static void main(String[] args) { int LIMIT = 30; ArrayList<Integer> integers = new ArrayList<>(); for (int i = 0; i < 222 ; i++) { integers.add(i + 1); } Arr.原创 2021-06-16 10:04:15 · 1542 阅读 · 0 评论 -
SpringBoot整合Dubbo & Zookeeper
dubbo整合和面试题原创 2021-05-17 21:04:17 · 635 阅读 · 1 评论 -
Java中json数据的组装和解析
1、json组装// json数据{ "userName": "xxx", "email": "xxxx", "phone": 13588888888, "level": 1, "timestamp": 1616296271000, "parentId": 2, "appInfo": [ { "appId": "app1xxx", "sign": "sign1xxx"原创 2021-05-10 15:03:52 · 1192 阅读 · 0 评论 -
Java使用多线程(线程池)处理任务
import lombok.extern.slf4j.Slf4j;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * @Author :ps * @Date :2021/4/3 22:07 * @Description : */@Slf4jpublic class ThreadDemo4 { public static void main(String[]原创 2021-04-11 11:48:55 · 265 阅读 · 0 评论 -
SpringBoot中rabbitMQ确认机制和return机制
1、添加配置rabbitmq: host: 10.100.4.8 port: 5672 username: pss123 password: pss123 virtual-host: host1 #return机制 publisher-returns: true #确认机制 publisher-confirm-type: simple2、编写配置代码import cn.hutool.json.JSONObject;import原创 2021-03-16 16:05:59 · 785 阅读 · 0 评论 -
Java发起Post请求,通过Body传递参数
1、发起请求import cn.hutool.http.HttpUtil;import cn.hutool.json.JSONObject;import cn.hutool.json.JSONUtil;JSONObject param = JSONUtil.createObj();param.put("text1", content);param.put("text2", content2);String post = HttpUtil.post("http://10.100.64.22/a原创 2020-12-18 14:44:35 · 4907 阅读 · 0 评论 -
SpringBoot接收Post请求Body里面的参数
1、ApiPost测试数据{ "list": [ "{'time':'xxxxx','distinct_id':'xxxx','appId':'xxxx'}", "{'time':'xxxxx','distinct_id':'xxxx','appId':'xxxx'}", "{'time':'xxxxx','distinct_id':'xxxx','appId':'xxxx'}", "{'time':'xxxxx','distinct原创 2020-12-18 14:36:25 · 8126 阅读 · 0 评论 -
Mybatis-Plus分页
public interface ArticleCEIDataService extends IService<ArticleCEIData>{}@Servicepublic class ArticleCEIDataImpl extends ServiceImpl<ArticleCEIDataMapper, ArticleCEIData> implements ArticleCEIDataService {}@Mapperpublic interface Arti原创 2020-11-30 18:33:38 · 146 阅读 · 0 评论 -
在springboot项目中引入外部jar包
1、在resource文件夹下创建lib文件夹2、将要引入的jar包复制到这个文件夹下3、右键lib文件夹,选择Add as Library…原创 2020-11-17 17:07:08 · 764 阅读 · 0 评论 -
mybatis-plus采用多数据源
1、按照官网说明操作点击查看2、修改注解修改主启动类的注解,不修改启动会报错@SpringBootApplication(exclude = DruidDataSourceAutoConfigure.class)原创 2020-11-17 14:50:28 · 686 阅读 · 0 评论 -
ISO时间转换成标准时间
import com.google.gson.internal.bind.util.ISO8601Utils;import java.text.ParseException;import java.text.ParsePosition;import java.text.SimpleDateFormat;import java.util.Date;public class ISOUtil { public static String formatDate(String isoDate)原创 2020-10-29 15:16:45 · 1438 阅读 · 0 评论 -
Mybatis-Plus动态SQL中like的用法
@Select({ "<script>", "SELECT COUNT(id) FROM do_exception_log", "WHERE `exception_level` = #{level} AND created_at >= #{startDate} AND #{endDate} >= created_at", "<when test='moduleId != null'>", "AND `module_id` like \"%\" #{m.原创 2020-10-16 14:39:23 · 2640 阅读 · 0 评论 -
Java8 通过stream去重的方式
点击查看原创 2020-09-25 10:42:45 · 552 阅读 · 0 评论 -
MySQL高级
MySQL高级1、常见的函数调用:select 函数名(实参列表) from 表名1.1、单行函数字符函数:--length:获取参数值的字节个数select length('length')--concat:拼接字符串select CONCAT (last_name,'-',first_name) from employees--upper、lower:将字符变成大写或者小写select upper('join')select lower('joiN')--substr(从原创 2020-08-22 11:19:55 · 382 阅读 · 0 评论 -
MyBatisPlus一个关键字匹配多个列
需求描述:在输入框输入一个关键字,去匹配多个列if (StringUtils.isNotEmpty(keyWord)) { queryWrapper.like("module_id",keyWord).or().like("parent_module_id",keyWord).or().like("module_name",keyWord);}输出的sql语句:SELECT id,module_id,parent_module_name,parent_module_id,parent_modul原创 2020-08-18 17:11:15 · 1763 阅读 · 2 评论 -
Java获取指定时间之后的几分钟
public static Integer diff(String time) throws ParseException { SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); long currentTime =System.currentTimeMillis(); long createTime = df.parse(time).getTime(); lon原创 2020-08-06 13:50:59 · 6309 阅读 · 0 评论 -
SpringCloud各个组件的说明
SpringCloud组件使用1、Eureka1、什么是服务治理在传统的RPC远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务于服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。2、什么是服务注册Eureka采用了CS的设计架构,Eureka Server作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使用Eureka的客户端连接到Eureka Server并维持心跳连接。这样系统的维护人员就可以通过Eu原创 2020-08-01 15:19:15 · 950 阅读 · 0 评论 -
Java读取指定文件并判断字符
public static void main(String[] args) throws IOException { String str = ""; //字节缓冲文件读取流 BufferedInputStream br = new BufferedInputStream(new FileInputStream("D:\\temp\\4.1.txt")); byte[] bytes = new byte[1024]; int原创 2020-07-31 14:42:54 · 363 阅读 · 0 评论 -
Java获取指定时间之前/之后的时间
public static String getOneMinAgo() { Calendar nowBefore = Calendar.getInstance(); Calendar nowAfter = Calendar.getInstance(); nowBefore.add(Calendar.MINUTE, 1); nowAfter.add(Calendar.MINUTE, -1); SimpleDateFormat sd原创 2020-07-31 14:41:04 · 328 阅读 · 0 评论 -
SpringBoot集成Mybatis-Plus
1、引入maven依赖<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.37</version></dependency><dependency> <groupId>com.alibaba</groupId> <a原创 2020-07-31 14:23:39 · 165 阅读 · 0 评论 -
使用shell脚本文件启动和停止java服务
1、启动脚本#!/bin/shexport JAVA_HOME=/usr/local/jdk1.8/jdk1.8.0_144export PATH=$JAVA_HOME/bin:$PATHAPPDIR=`pwd`PIDFILE=$APPDIR/datahome-hybasedata.pidif [ -f "$PIDFILE" ] && kill -0 $(cat "$PIDFILE"); then echo "datahome-hybasedata is already r原创 2020-07-31 14:06:32 · 1054 阅读 · 0 评论 -
常见的设计模式
1、设计模式七大原则单一职责原则一个类只负责一项功能,在类或者方法(方法及其简单时)级别遵守单一职责原则接口隔离原则客户端不应该依赖他不需要的接口,即一个类对另一个类的依赖应该建立在最小接口之上依赖倒置原则高层模块不应该依赖底层模块,二者都应该依赖其抽象抽象不应该依赖细节,细节应该依赖抽象依赖倒置的中心思想是面向接口编程设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架构比以细节搭建的架构要稳定的多。在Java中,抽象指的是接口或者抽象类,细节就是具体的实现类使原创 2020-05-20 16:44:42 · 161 阅读 · 0 评论 -
Java读取和修改Tomcat的server.xml配置文件(多个service配置适用)
1、读取工具类public static Document getXMLAttribute(String filepath, String nodeName){ Document document = null; List<Map<String,String>> retListmap = new ArrayList<>(); try { //创建解析器 SAXReader r原创 2020-05-18 13:52:22 · 1192 阅读 · 0 评论 -
Tomcat9.0.34 部署多个项目
1、准备一个Tomcat,复制一个webapps目录,名称自取,下面的配置文件会用到2、在每个webapps文件夹下放入要运行的项目3、修改配置文件,配置端口号<?xml version="1.0" encoding="UTF-8"?><Server port="8006" shutdown="SHUTDOWN"> <Listener classNam...原创 2020-04-23 14:40:59 · 1314 阅读 · 0 评论 -
SpringBoot集成接口文档swagger
1、引入依赖<!-- swagger2 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <ve...原创 2020-01-08 13:59:59 · 118 阅读 · 0 评论 -
Java提取json中的数据
1、需要导入的依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version></dependency>2、待提取的数据格式...原创 2019-11-10 11:49:56 · 3102 阅读 · 0 评论 -
Java 发送HTTP-POST请求(支持中文参数)
1、Map参数转为json格式工具package com.newcapec.eam.business.util;import java.util.HashMap;import java.util.Map;import org.json.JSONObject;/** * map转json * 作者: 彭赛赛 * 创建时间:2019/11/4 9:21 */public c...原创 2019-11-07 14:02:01 · 3908 阅读 · 0 评论 -
Java MD5加密
public class MD5Util { public static void main(String[] args) { String string = "0006410822李仕文园区/李仕文大厦/1单元/1层/大门12017-07-03 12:16:352017-07-04 00:00:002017-07-04 23:59:59"; String ...原创 2019-11-01 17:59:18 · 110 阅读 · 0 评论 -
推荐一款极为好用的web调色板
地址:http://jscolor.com/原创 2020-03-06 09:47:10 · 368 阅读 · 0 评论