![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java开发
文章平均质量分 67
本栏收集个人在java开发过程中总结的心得体会,知识体系
做个专注的工程师
这个作者很懒,什么都没留下…
展开
-
按照姓氏首字母进行排序
/ 英文姓名排在中文姓名之后。// 中文姓名排在英文姓名之前。原创 2024-01-24 16:10:06 · 388 阅读 · 0 评论 -
Spring 框架详细总结
Spring-全面详解(学习总结)_策谋的博客-CSDN博客_spring详解转载 2021-10-02 15:57:46 · 89 阅读 · 0 评论 -
可重入锁详解
概述什么是 “可重入”,可重入就是说某个线程已经获得某个锁,可以再次获取该锁而不会出现死锁。例如package com.test.reen;// 演示可重入锁是什么意思,可重入,就是可以重复获取相同的锁,synchronized和ReentrantLock都是可重入的// 可重入降低了编程复杂性public class WhatReentrant { public static void main(String[] args) { new Thread(new Runnable()原创 2021-09-23 20:24:31 · 107 阅读 · 0 评论 -
常见压缩解压命令
1.tar压缩文件tar -czvf test.tar.gz a.c //压缩 a.c文件为test.tar.gz解压文件tar -xzvf test.tar.gz原创 2021-08-04 15:47:38 · 101 阅读 · 0 评论 -
LambdaqueryChainWrapper && LambdaUpdateChainWrapper
public void archivalIUpdateOperate(List<ArchivalRecords> archivalRecordsList, List<Long> jobUniqueIds, boolean flag) { try { if (flag) { new LambdaUpdateChainWrapper<ArchivalRecords>(archivalRecor...原创 2021-08-03 16:21:48 · 4213 阅读 · 0 评论 -
canal服务部署
部署前几点说明:(mysql初始化)a. canal的原理是基于mysqlbinlog技术,所以这里一定需要开启mysql的binlog写入功能,建议配置binlog模式为row. \[mysqld\] log-bin=mysql-bin #添加这一行就okbinlog-format=ROW #选择row模式server_id=1#配置mysqlreplaction需要定义,不能和canal的slaveId重复b. canal的原理是模拟自己为mysq...原创 2021-07-23 10:42:16 · 411 阅读 · 0 评论 -
MySql 聚合DBchange
1.多字段更新查寻UPDATE task_job_20210422 t,( SELECT min( id ) AS id,pool_config_id, md5 FROM task_job_20210422 GROUP BY pool_config_id, md5 HAVING count( 1 ) > 1 ) t2SET t.is_delete = 1WHERE t.id != t2.id and t.pool_config_id=t2.pool_config_id and t.md...原创 2021-07-20 20:28:08 · 110 阅读 · 0 评论 -
服务启动脚本常见配置说明
启动脚本增加配置 tp-provider的start.sh: pid=`ps -ef|grep task-platform-provider-*.jar|grep -v "grep"|awk '{print $2}'` if [ "$pid" = "" ] ; then echo "provider is starting" nohup java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=91...原创 2021-07-15 13:13:16 · 405 阅读 · 0 评论 -
Linxu 下如何去设置定时任务
1.写一个定时调本 xxx.sh定时删除日志的案例:#!/bin/bashDIRA=/home/programme/task-platform-provider/logDIRB=/home/programme/task-platform-web/log#删除30天前的文件及文件夹find ${DIRA} -mtime +30 | grep -v callbacklog | grep -v gluesource | xargs rm -rffind ${DIRB} -mtime +30.原创 2021-07-09 16:58:20 · 121 阅读 · 0 评论 -
linux 下磁盘空间和文件尺寸相关命令
1.查看磁盘空间使用率df -lh磁盘利用率过高一般是日志,文件等太大导致的。这个时候就去部署的服务内看看,哪里占用的磁盘空间太大,做进一步处理2.查看当前目录下文件的大小du -sh *...原创 2021-07-09 16:44:04 · 102 阅读 · 0 评论 -
java多线程应基础-------part1: [多线程-概念&创建启动&中断&守护线程&优先级&线程状态]
多线程系列教程:java多线程-概念&创建启动&中断&守护线程&优先级&线程状态(多线程编程之一)java多线程同步以及线程间通信详解&消费者生产者模式&死锁&Thread.join()(多线程编程之二)java&android线程池-Executor框架之ThreadPoolExcutor&ScheduledThreadPoolExecutor浅析(多线程编程之三)Java多线程:Callable、Futu..原创 2021-03-17 08:11:51 · 173 阅读 · 0 评论 -
java多线程应基础-------part4: [Callable、Feature和FeatureTask浅析]
通过前面几篇的学习,我们知道创建线程的方式有两种,一种是实现Runnable接口,另一种是继承Thread,但是这两种方式都有个缺点,那就是在任务执行完成之后无法获取返回结果,那如果我们想要获取返回结果该如何实现呢?还记上一篇Executor框架结构中提到的Callable接口和Future接口吗?,是的,从JAVA SE 5.0开始引入了Callable和Future,通过它们构建的线程,在任务执行完成后就可以获取执行结果,今天我们就来聊聊线程创建的第三种方式,那就是实现Callable接口。1.Ca原创 2021-03-20 17:18:58 · 2652 阅读 · 0 评论 -
java多线程应基础-------part3: [线程池-Executor框架之ThreadPoolExcutor;ScheduledThreadPoolE]
无论是在java还是在android中其实使用到的线程池都基本是一样的,因此本篇我们将来认识一下线程池Executor框架(相关知识点结合了并发编程艺术书以及Android开发艺术探索而总结),下面是本篇的主要知识点:1.Executor框架浅析首先我们得明白一个 问题,为什么需要线程池?在java中,使用线程来执行异步任务时,线程的创建和销毁需要一定的开销,如果我们为每一个任务创建一个新的线程来执行的话,那么这些线程的创建与销毁将消耗大量的计算资源。同时为每一个任务创建一个新线...原创 2021-03-20 16:58:33 · 237 阅读 · 1 评论 -
java多线程应基础-------part2: [多线程-概念&创建启动&中断&守护线程&优先级&线程状态]
本篇我们将讨论以下知识点:1.线程同步问题的产生什么是线程同步问题,我们先来看一段卖票系统的代码,然后再分析这个问题:package com.zejian.test;/*** @author zejian* @time 2016年3月12日 下午2:55:42* @decrition 模拟卖票线程*/public class Ticket implements Runnable{ //当前拥有的票数 private int num = 100; ...原创 2021-03-17 08:35:29 · 207 阅读 · 1 评论 -
线程应用加强
1.进程与线程认知强化1.1. 如何理解进程与线程?进程:操作系统进行资源调度和分配的基本单位(例如浏览器,APP,JVM)等,进程中分配着操作系统的资源。线程:进程中的最小执行单位,是 CPU 资源的分配的基本单位(可以理解为一 个顺序的执行流)。说明:实质上不同的进程之间存在资源抢夺,但是这不是我们研究的重点,进程之间的强夺,大不了直接关掉几个就行,或者加cpu,集群部署等来搞并行。 真正到项目中,由于环境固定,开发人员考虑的维度是在一个进程中如何提高过个线程的并发效果。1.2.原创 2021-03-08 07:21:53 · 133 阅读 · 0 评论 -
Mybatis Plus 高级用法
1.lamda条件构造器的使用要查询的sql : SELECT * FROM `task_job` where title like '%倪欢测试%' and check_outside_pn_code >= 1;LambdaQueryWrapper<TaskJob> lamda1 = new LambdaQueryWrapper<>();LambdaQueryWrapper<TaskJob> lambda2...原创 2021-02-20 17:08:22 · 1159 阅读 · 1 评论 -
Logstash安装和使用
1.下载文件文件下载要和ElASTICSEARCH,KIBANA 保持版本一致,历史版本下载地址原创 2021-02-18 16:39:02 · 251 阅读 · 0 评论 -
分布式数据库中间件--> sharding-sphere3.x 从概念到代码实现详解
本文重点讲解sharding-phere是什么?能做什么?怎么用三大经典问题。1.Sharding-Sphere 是什么?Sharding-Sphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar这3款相互独立的产品组成。他们均提供标准化的数据分片、读写分离、柔性事务和数据治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。Sharding-Sphere...原创 2021-02-08 08:57:58 · 358 阅读 · 2 评论 -
XXL-JOB
1.概述XXL-JOB 是一个轻量级 的 分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。开源社区:https://www.xuxueli.com/xxl-job/#%E3%80%8A%E5%88%86%E5%B8%83%E5%BC%8F%E4%BB%BB%E5%8A%A1%E8%B0%83%E5%BA%A6%E5%B9%B3%E5%8F%B0XXL-JOB%E3%80%8B参考资料:《分布式任务调度平台 XXL-JOB 官方文档》一文读懂分布式任务调度平台X..原创 2021-01-24 03:39:43 · 4798 阅读 · 4 评论 -
Springboot日志配置讲解(基于logback)
前言 java web 下有好几种日志框架,比如:logback,log4j,log4j2(slj4f 并不是一种日志框架,它相当于定义了规范,实现了这个规范的日志框架就能够用 slj4f 调用)。其中性能最高的应该使 logback 了,而且 springboot 默认使用的也是 logback 日志,所以本篇将会详细的讲解 logback 的日志配置方案。本篇主要内容如下:logback 配置文件的构成 如何将日志输出到文件 如何按时间,按大小切分日志 如何将让一个日志文件中只有一种转载 2021-02-05 19:44:53 · 538 阅读 · 0 评论 -
Springboot 结合Elasticsearch 查询实例
package com.gildata.task.platform.provider;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import io.micrometer.core.instrument.search.Search;import lombok.extern.slf4j.Slf4j;import org.apache.http.HttpHost;import org.elasti.原创 2021-02-03 21:34:42 · 239 阅读 · 0 评论 -
Elasticsearach 结合springBooot 轻松搞定
1. spirngboot引入ES依赖<!-- elasticsearch版本和环境使用ES版本号保持一致 --><properties><elasticsearch.version>7.6.1</elasticsearch.version> </properties><dependency> <groupId>org.elasticsearch.client</groupId>原创 2021-02-02 19:37:20 · 171 阅读 · 0 评论 -
java--比较
《一》== 和equal 比较基础认知:java数据的比较可以认为分为两大类:基本数据类型+String常量 VS 引用型数据类型。来个数据类型比较,先定位属于哪一种,然后在对应选择用== 还是用equal 作比较基本型数据类型+String常量int i=123;int j=123;String s1="123";基本数据类型(byte,short,char,int,float,double,long,boolean)和字符串常量在方法区中的常量池里面以HashSet...原创 2021-01-06 19:34:21 · 306 阅读 · 1 评论 -
spring集成redis
(一)redis调用清单 1. 添加 Redis 依赖<!--SpringBoot 的 Redis 支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>添加完依赖之后,我们还需要原创 2020-12-23 08:45:07 · 240 阅读 · 0 评论