- 博客(51)
- 收藏
- 关注
原创 紧急情况下, 数据库cpu100%, 需要kill最慢的sql进程
USE information_schema;SELECT * FROM PROCESSLIST WHERE info IS NOT NULL order by time desc结束: killKill pid;紧急情况下, 数据库cpu100%, 需要kill最慢的sql进程
2022-03-25 09:47:22 901
原创 获取docker容器的启动命令
docker run -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike -p nacos
2022-01-04 17:50:55 899
原创 httpclient post表单提交+去除ssl认证
import com.csoft.api.constants.PublicConstant;import fastjson.JSONArray;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import javax.net.ssl.HttpsURLConnection;import javax.net.ssl.SSLContext;import javax.net.ssl.TrustManager;import javax...
2021-10-19 15:41:40 608
原创 java8解决空指针问题
//优雅解决空指针 HashMap<String, String> map = new HashMap<>(); map.put("1",null); map.put("2","99"); String s1 = map.get("1"); System.out.println(s1); String s = Optional.ofNullable(map.get("1")).orElse
2021-09-30 15:44:21 244 1
原创 注解失效aaaa
没有注解的a方法调用有注解的b方法,b方法的注解会失效可以使用@AutowiredApplicationContext applicationContext;applicationContext.getBean(TwoScheduled.class).test1();使用applicationContext获取到当前类的bean然后调用有注解的方法...
2021-09-24 11:56:54 74
原创 获取当前实际的后5天 跨月
/** * @param date string 转日期 * @return */ public static Date transBackDate(String date) { Date parse = new Date(); try { if (date=="" || date.equals("0") || date.equals(null) || date.equals("null")){
2021-08-27 11:17:03 106
原创 2021-08-24
配置文件中加入#Prometheus springboot监控配置management: endpoints: web: exposure: include: '*' metrics: export: prometheus: enabled: true tags: application: ${spring.application.name} # 暴露的数据中添加application labelp
2021-08-24 11:02:39 62
原创 sql比较两张表,获取与不一样的数据
select * from excel_data a where not exists(select * from base_user b where a.account_number=b.username)
2021-07-08 13:58:43 6534
原创 项目启动同时会调用指定方法
/**项目启动就会调用run方法*/@Componentpublic class ReadExcelTesk implements CommandLineRunner {@Autowiredprivate ExcelDataMapper excelDataMapper;@Overridepublic void run(String… args) throws Exception {//start();}public void start() throws InterruptedEx
2021-06-28 16:39:59 105
原创 获取某个属性最大值 list中对象
HardDiskInfo hardDiskInfo = hardDiskInfos.stream().max(Comparator.comparing((HardDiskInfo::getCapacityInt))).get();
2021-06-03 18:09:17 984
原创 递归解析复杂嵌套jison
/*** @param i 递归json* @param paramInfo* @param stringBuilder*/private static void recursion(int i ,ParamInfo paramInfo,StringBuilder stringBuilder) {if (paramInfo == null){return;}for (int j = 0; j < i; j++) {stringBuilder.appen
2021-05-28 16:45:25 130
原创 读取2G的大json文件后存入数据库
package load.service.impl;import java.io.*;import java.util.ArrayList;import java.util.List;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.TypeReference;import load.domain.JsonBean;import load.mapper.HzHhmdFgwMapper;import load.servi
2021-04-27 18:37:08 361
原创 elasticsearch学习文档
Elasticsearch索引文档增删改查https://esdoc.bbossgroups.com/#/document-crudElasticsearch分页查询https://esdoc.bbossgroups.com/#/from-sizehttps://esdoc.bbossgroups.com/#/Scroll-SliceScroll-apihttps://esdoc.bbossgroups.com/#/search-afterElasticsearch SQL ORM操作http
2021-04-26 09:13:18 102
原创 静态方法中调用service接口中的方法
@Componentpublic class JobTrigger { private static Logger logger = LoggerFactory.getLogger(JobTrigger.class); @Autowired private JobInfoMapper jobInfoMapper; public static JobTrigger jobTrigger; @PostConstruct //初始化 public void i
2021-03-17 10:04:19 398
原创 mysql 动态连接数据源创建表
1、@Controller@RequestMapping("api/table")@Api(tags = "创建表")public class CreateTableControlelr { //private static final Logger LOGGER = LoggerFactory.getLogger(CreateTableControlelr.class); @Autowired private SysMysqlCreateTableManager sys
2021-03-09 14:40:09 331
原创 String parameter is not present 问题记录
前端没有遵循接口规范,接口要求的是直接传参数 id=1,前端传的参数是个对象{id=1}。让前端改参数或者把方法public R<Boolean> delete(@RequestParam Integer id) {改成public R<Boolean> delete(@RequestBody RemoveVo removeVo) {}-------------@Datapublic class RemoveVo { private Integer id;}
2021-02-23 17:12:25 1653
原创 kafka学习笔记
为什么学习Kafka最近开始学习Kafka,至于为什么公司要用Kafka,处于懵懂的状态。老大说过公司的200多个应用服务,每个服务每天等访问量都很大,听说其中一个应用会达到百万/天的QPS,而Kafka的优势就是高吞吐,使用Kafka可以很好的满足场景。后面会开发一个监控系统,对应用的访问指标进行监控、告警等。什么是Kafka根据维基百科的定义,消息引擎系统是一组规范。企业利用这组规范在不同系统之间传递语义准确的消息,实现松耦合的异步式数据传递。也就是系统 A 发送消息给消息引擎系统,系统 B 从消
2021-02-10 10:13:55 212
原创 一个简单的kafka写入elasticSearch的 demo
listenerpackage com.csoft.kafkademo.kafkademo.kafka.listener;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.TypeReference;import com.csoft.kafkademo.kafkademo.entity.Kafka1Message;import org.apache.http.HttpHost;import org.apache.kafk
2021-02-08 17:04:13 375
原创 kafka template操作kafka
依赖 <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-streams</artifactId> </dependency> <dependency> <groupId>org.springframework.kafka<
2021-02-08 15:56:20 14930 4
原创 RestHighLevelClient操作ElasticSearch <部分操作>
这里写自定义目录标题版本以及需要引入的jar包版本以及需要引入的jar包开始操作版本以及需要引入的jar包版本以及需要引入的jar包```java <!--elasticSearch high leve client--> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticse
2021-02-07 11:10:46 285
原创 elasticSearch 修改数据3种java Api
RestHighLevelClient client = new RestHighLevelClient( RestClient.builder( new HttpHost("10.1.10.00", 9500, "http"))); BulkRequest request = new BulkRequest(); request.add(new UpdateRequest("hz_qyhznr_sx
2021-01-18 18:55:12 511
原创 HBase 单机部署
HBase 单机1、拉取镜像docker pull harisekhon/hbase:1.32、运行docker run -d -h hbaseTag -p 2181:2181 -p 8080:8080 -p 8085:8085 -p 9090:9090 -p 9095:9095 -p 16000:16000 -p 16010:16010 -p 16201:16201 -p 16301:16301 -p 16020:16020 -p 16030:16303 --name hbase1.3 hari
2021-01-06 12:39:00 461
原创 2020-11-22
关于arrayList的remove方法报错问题AbstractList方法中定义了modCount并且赋值Itr方法中把modCount复制给expectedModCountremove方法它其实是调用了fastRemove方法而fastRemove方法中,修改了modCount,把之前的modCount修改为4,而在Itr方法中int expectedModCount = modCount; 的expectedModCount 值确一直没有改变...
2020-11-22 22:42:12 75
原创 MySql的索引
1、索引分为聚集索引和非聚集索引(主键索引和辅助索引)主键索引:根节点和父节点存储的是指针和索引的值,子页节点存储的是索引的值和对应一列的数据辅助索引:根节点和父节点存储的是指针和索引的值,子叶节点存储的是索引的值和对应列的主键索引的值2、辅助索引分为:唯一索引:索引列的值必须唯一,允许有一个空值。单列索引: 即一个索引只包含一个列。复合索引:即一个索引包含多个列。3、什么是回表:索引树中不包含需要的值,就需要先在普通索引树中查到对应主键的值,再去主键索引种查需要值,这个过程叫回表4、覆盖原
2020-08-11 21:36:59 268
原创 面试题4
http请求特别慢怎么回事答:vmstat、nmon、top检查网络:首先排查网络,ping服务器延迟是否过大检查服务器内存:看内存是否不够了检查cpu负载:命令查看cpu检查I/O:排除系统自身的性能问题抓取进程堆栈信息:jStack抓取堆栈信息Redis用过吗?一般用在什么场景下的?然后如何提高redis命中率答:排行榜、热点数据、主要是需要频繁调取的数据,为了减轻数据库压力计数器、分布式锁,像我之前做过的购物车,就是用redis做的sleep和wait方法有什么区别?答:s
2020-07-29 23:53:40 144
原创 面试整理3
/** 线程池的核心参数有哪些,执行流程是什么?、* corePoolSize 核心线程数* MaxPoolSize 最大线程数* threadFactory 线程工厂* KeepAliveTime 线程存活时间* workQueue 队列* policy 拒绝策略** 当线程池接收到任务,会新建线程,知道当前线程数等于核心线程数,这时候,新来的任务都会放在队列中等待处理* 队列满了后,会新建线程直到当前线程数等于最大线程数,这时如果在来请求,就会执行拒绝策略* 如果线程空闲下来,并
2020-07-28 21:07:06 116
原创 面试题整理
string和Stringbuffer、StringBulider的区别String的底层是一个被final修饰的char数组,可以理解为一个常量,线程安全StringBulider和StringBuffer都继承自abstartStringBulider,底层是没有被final修饰的char数组,性能方面,单线程下少量数据使用String,大量数据使用Stringbulider。因为Stringbuffer的方法都被synchronized修饰,线程安全性能较差,多线程下大量数据使用Stringbu
2020-07-07 21:11:26 195
原创 面试整理2
1、Stringbulider和Stringbuffer的区别?都继承子AbsturtStringbulider,但是Stringbulider的方法没有被syn修饰,StringBuffer的方法被syn修饰了所以前者不是线程安全的,后者是线程安全的,在性能方面,前者单线程情况下性能更好2、什么是线程安全当多个线程访问同一个对象的时候,不需要进行额外的同步或者管理调度,并且调用这个对象的结果是正确的3、如何保证线程安全4、什么是锁?死锁两个代码块互相需要彼此的锁5、syn的实现原理是什么?
2020-07-07 21:10:59 125 1
原创 垃圾回收算法 (读书笔记)
垃圾回收算法标记-清除算法最基础的垃圾回收算法‘标记-清除算法’,如同名字一样,算法分为‘标记’和‘清除’两个阶段;首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象,缺点1:效率不高2:标记清除后会产生大量不连续的内存碎片,导致之后在程序运行过程中需要分配较大的对象时,无法找到连续的足够内存不得不提前触发垃圾回收动作。复制算法它将可用内存的容量划分为大小相等的两块,每次只使用其中的一块。当这一块内存用完了,就将还存活的对象复制到另一块上边,然后在把使用过的内存空间一次清
2020-06-02 22:46:00 128
原创 如何判断对象已死?(读书笔记)
1、如何判断对象已死1、引用记数法给对象添加一个引用计数器,每当有一个对象引用时,计数器值就加一;当引用失效时,计数器指就减一;任何时刻计数器为零的对象就是不可能在被使用的。2、可达性分析这个算法的基本思路就是通过一系列的称为GCRoot的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路经称为引用链,(reference Chain)当一个对象到GCRoot没有任何引用链相连接时,则证明这个对象是不可使用的。在java语言中,可以作为GCRoot的对象包含以下几种:虚拟机栈中引用的对象
2020-06-02 22:14:03 180
原创 RocketMQ 安装、部署文档 -Linux版
最近想自学RocketMq,官方文档也不友好,只能自己想办法,在网上找了一堆教程,一个完整的都没有。找了一堆文档,整理下。1、JDK的安装1、在/usr/local目录下创建jdk文件夹mkdir jdk2、上传jdk包rz jdk.自己的版本.tar.gz #如果没有rz命令 yum install lrzsz3、查看当前Linux系统是否已经安装jdkrpm -qa ...
2020-04-27 22:45:16 461
原创 MYSQL面试整理
SQL优化1、使用合适的存储引擎a)当做大小查询操作时,使用mylsam 因为这个引擎对修改很不友好,只做一个update都把这整个字段锁住,而之后的进程就算时读的操作也要等update结束后执行当做写的操作时使用innodb引擎,支持行锁,对写的操作执行非常快并且支持很多高级操作,如事务2、当只查询一条数据时,使用limit 1 这样就不会在查询出结果后继续向下查询有没有符合条件的结...
2020-03-01 12:22:12 171
原创 JVM面试整理
JVMJVM模型是包含 堆、栈、方法区、虚拟机栈、程序计数器其中线程共享的是堆和方法区,其余都是线程私有的方法区主要存储一些变量一类的堆主要存储一些对象,对象在死亡后被回收,判定对象是否死亡的方法有一种叫做可达性分析的方法可达性分析:就是说所有对象都是属于GCRoot树下的子节点,从GcRoot到达对象是有一条引用链的,如果这个引用链无法到达这个对象,就证明这个对象可以被回收发生GC的...
2020-03-01 12:21:29 156
原创 jvm垃圾回收器
一、串行:垃圾回收器(sgc)1、 串行垃圾回收在进行垃圾回收时,他会持有所有应用程序的线程,冻结所有应用程序线程,使 ,用单个垃圾回收线程来进行垃圾回收串行垃圾回收器时为单线程环境而设计的,如果你的程序不需要多线程,启动串行垃圾回收2、串行收集器时最古老的,最稳定以及效率最高的收集器,可能会产生较长的停顿,只使用一个线程去回收。新生代,老年代使用串行回收;新生代复制算法、老年代标记-压缩;...
2020-02-28 12:47:05 152
原创 JVM补充1
GC 经常发生的区域是堆区,堆区还可以细分为新生代、老年代,新生代还分为一个 Eden 区和两个 Survivor 区。对象优先在 Eden 中分配,当 Eden 中没有足够空间时,虚拟机将发生一次 Minor GC,因为 Java 大多数对象都是朝生夕灭,所以 Minor GC 非常频繁,而且速度也很快;Full GC,发生在老年代的 GC,当老年代没有足够的空间时即发生 Full GC...
2020-02-28 12:42:52 87
原创 JVM补充
Java运行时数据区域?1. 方法区,堆,本地方法栈,虚拟机栈,程序计数器1. 线程私有的:程序计数器、虚拟机栈、本地方法栈2. 线程共享的:堆、方法区、直接内存程序计数器1. 程序计数器时一块较小的内存空间,可以看作是当前线程锁执行的字节码的行号指示器。字节码解释器工作时通过改变这个计数器的值来选区下一条需要执行的字节码指令,分支,循环,跳转,异常处理,线程恢复等功能都需要依赖这个计...
2020-02-28 12:40:38 92
原创 简单认识JVM
1、什么是jvm?Jvm是一种计算机设备的规范,包括堆、方法区、本地方法栈、虚拟机栈、程序计数器2、Jre和jdk和jvm的区别?Jre是运行环境,jdk是开发工具,jvm是一个可以让java语言跨平台的虚构的操作系统3、Jvm原理1、 JVMshijava的核心和基础,在编译器和os平台之间的虚拟处理器。他是一种利用软件方法实现的抽象的计算机基于下层的操作系统和硬件平台,可以在上面执行...
2020-02-28 12:39:28 78
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人