自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 IDEA配置全局生效-不是针对单个项目

IDEA全局配置

2022-07-01 10:56:40 3621 1

原创 MAVEN 错误解决

1.java: 程序包XXX不存在出现jar包找不到的问题,首先有可能是项目依赖中有些jar没有下载完整,而mvn idea:idea这个命令可以检查并继续下载未下载完整的依赖jar进去相应pom路径,执行指令mvn idea:idea即可。.........

2021-07-21 12:28:59 2433

原创 mysql explain desc解析

1.Explain之idid情况有三种:1、id 相同表示加载表的顺序是从上到下。2、id不同值越大,优先级越高,越先被执行。3、id有相同,也有不同,同时存在。id相同的可以认为是一组,从上往下顺序执行;在所有的组中。2、Explain之select_typeselect_type表示select的类型,常见的取值如下:SIMPLE: 简单的select查询,查询中不包含子查询或者UNION;PRIMARY: 查询中若包含任何复杂的子查询,最外层查询标记为该标识;

2021-07-06 18:00:21 223 1

原创 MAT——使用示例教程

前言Memory Analyzer:一款很强大的内存分析工具。下载地址:https://www.eclipse.org/mat/downloads.php使用教程1.首先弄个内存泄漏的场景 /** * ThreadLocal误用,模拟并发内存泄漏场景 * 可把JVM option -xmx设置小一些,例如800m,方便触发mmo */ @RequestMapping(value = "/test0") public String..

2020-10-21 17:03:21 1781

原创 分布式锁的实现

但考虑到,可能在业务执行时间长的情况下,正好锁的存活时间超时了,那么线程2有可能也获取到锁了,然后线程一执行完所有任务后,remove key(锁),导致把线程2的锁误删了,这就很严重。有人说,可以在删除前get key,对比锁的值是否相等,但一般情况下redis的 get 和remove是分开执行的,中间的时间间隔还是会出现上面说的误删情况,所以可以使用lua脚本,redis 执行lu...

2020-04-15 15:23:37 110

转载 java序列化

序列化ID的作用:https://blog.csdn.net/liji_xc/article/details/47302455

2020-04-11 12:34:30 83

原创 正则表达式简单笔记

这些符号被称为正则表达式模式修饰符,用法含义如下:1、/g 表示该表达式将用来在输入字符串中查找所有可能的匹配,返回的结果可以是多个。如果不加/g最多只会匹配一个2、/i 表示匹配的时候不区分大小写,这个跟其它语言的正则用法相同3、/m 表示多行匹配。什么是多行匹配呢?就是匹配换行符两端的潜在匹配。影响正则中的^$符号4、/s 与/m相对,单行模式匹配。5、/e 可执行模式,此为PHP专有参数,例...

2020-04-08 22:46:01 92

原创 MQ-kafka

类似传统消息引擎,kafka也支持点对点、发布/订阅模型两种方式传输消息数据。1.点对点 客户A的消息只能被客户B接收2.发布/订阅 它有一个“主题”的概念,存在可能同时有多个消息生产者向同一个topic发布消息,消费者也有可以多个。*为什么要使用消息引擎? A:削峰填谷。举个例子,假设上游订单系统给下游N个自服务发送消息。因为上游系统发送指令快速简单,他只是向下游请求进行订单操作(...

2020-04-08 14:06:13 284

原创 linux、windows 可执行脚本

WINDOWS脚本@echo off Shell窗口不再打印指定,而只打印echo输出信息call XXX 调用其他批处理,完成后继续执行下一行指令。例如使用maven打包指定 mvn clean package,打包后默认会自动关闭dos窗口而不执行下一行命令,若使用call mvn XX则不会受到上面的影响。关闭指定...

2020-04-07 14:23:08 1066

原创 SpringCloud核心服务概念简述

开题本文只是对SpringCloud核心服务主要功能进行讲解,让Spring Cloud整个框架成体系,作为一条故事加深理解。为何使用Spring Cloud如果说Springboot是在微服务、注解驱动的领域做了大改动,那么SpringCloud就是应分布式集群环境而生的框架。CAP 理论C:数据一致性(consistency) 所有节点拥有数据的最新版本 ...

2020-04-06 17:39:02 276

转载 集群节点websocket解决方案

文章思路较大部分来源于以下博客:https://www.cnblogs.com/xianwang/p/11846631.html标题单节点websocket相信大家对这个没太多疑问。那么多服务节点websocket会有什么问题要特殊处理呢,看下图因为多服务节点的情景下,假设后台还是按照单节点做法,那么每个服务节点只能存储自己的websocketSession,会导致消息无法发布到其他...

2020-04-04 11:21:55 1310

原创 JAVA编程的一些特殊技巧

1.有时候会看到一种写法,do {} while(false); , 既然这个循环永远都不会执行,那么为什么要加上循环呢?其实只是想利用break特性替代goto.实际变成会有业务如果尽量避免出错会添加很多的条件嵌套,这样会造成代码可读性差,而且写着写着容易把自己也套进去if( A文件存在 ) { 执行A文件的相关操作; if( B文件不存在 || 用户...

2020-04-03 13:06:48 120

原创 对象去重、排序,对象拷贝

package com.lkun.springbootdemo.entity;import lombok.Data;import java.io.Serializable;import java.util.Date;/** * @ClassName UserEntity * @Description 集合排序去重、对象拷贝 * @Author liangkun **/@D...

2020-04-03 13:05:39 166

转载 redis整合spring结合缓存使用好文

林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka文章--使用redis实现缓存:https://www.cnblogs.com/ruiati/p/5803179.html如果要使用缓存的时候,那么怎么选择ehcache和redis呢?ehcache直接在jvm虚拟机中缓存,速度快,效率高;但是缓存共享麻...

2020-04-03 13:04:15 95

转载 nginx配置使用

版权声明:如有转载请声明版权,(包括转帖)版权归原作者所有。如不声明版权,作者保留追究其法律责任的权利。 https://blog.csdn.net/qq_36125138/article/details/8414...

2020-04-03 13:01:02 328

原创 Mysql海量数据调优方案 +mycat+mysql主从复制配置

mysql海量数据优化性能方案产生瓶颈的原因一般有三:1.mysql连接数过多2.单表数据量多大(数据量大会导致索引所占硬盘空间多大,因为索引查找使用的是B+树,需要把索引加载从硬盘加载进内存,这就是瓶颈最大原因)3.硬件资源常见的优化方案读写分离、分库分表(表分区是它子集)、缓存、索引、sql优化海量数据的主要解决方式常见还是读写分离、分库分表...

2020-04-03 13:00:39 177

原创 mysql-SQL调优

本文主要为有一定的sql基础,但对sql是否有使用到索引等问题的调优方式还不大清楚的人,指出一个使用的方式。本文并非纯原创,是结合前人的博文,自己总结写一篇博文。mysql join集合用法:https://blog.csdn.net/lukabruce/article/details/80568796索引、分库分表、sql的写法等,都会影响到sql性能。概念:1....

2020-04-03 12:58:29 129

转载 多数据源切换

1.AbstractRoutingDataSource进行切换:https://blog.csdn.net/qq_37502106/article/details/91044952其实就是AbstractRoutingDataSource+AOP 进行切换。去耦可以考虑使用自定义注解+AOP解析的方式方便切换。...

2020-04-03 12:58:00 318

原创 java 线程池

好文:https://www.jianshu.com/p/76ddf9745c43https://blog.csdn.net/u011479540/article/details/51867886前提:如果并发量比较小,只是要求在子线程执行部分业务,那可以考虑使用Executors.newSingleThreadExecutor()java通过Executors提...

2020-04-03 12:53:27 115

原创 代理服务器、真实IP的获取

X-Forwarded-For是用于记录代理信息的,每经过一级代理(匿名代理除外),代理服务器都会把这次请求的来源IP追加在X-Forwarded-For中来自4.4.4.4的一个请求,header包含这样一行X-Forwarded-For: 1.1.1.1, 2.2.2.2, 3.3.3.3代表 请求由1.1.1.1发出,经过三层代理,第一层是2.2.2.2,第二层是3.3.3.3,...

2020-04-03 12:53:04 4040

原创 多线程相关笔记

序言关于类锁和表锁,网上一堆堆,这个笔者就不多说了。由于内容还不充实,先不发布出去。文章:浅谈Java中的锁:Synchronized、重入锁、读写锁- 简书https://www.jianshu.com/p/21e095b713731.ReenTranLock和synchronized使用场景:一般而言如果业务不复杂建议使用synchronized,因为sy...

2020-04-03 12:52:28 74

原创 zookeeper笔记

Zookeeper客户端api原生jdk-api:缺点:没有封装递归创建父节点、递归删除子节点的函数,删除节点顺序不会容易出异常;建立连接由于是异步,瞬时可能获取不到连接对象,使用性较差。zkclient:原生基础上封装,支持级联删除、添加,优化使用,但对异常捕获和处理比较简单粗暴。curator:比较流行的客户端...

2020-04-03 12:51:20 109

转载 跨域问题解决方案

https://www.cnblogs.com/morethink/p/6525216.html

2020-04-03 12:47:43 75

原创 mysql 细节解剖

一般来说,mysql使用同步+长连接+连接池的方式进行通信交互(但mysql也有异步和短连接)默认存储引擎InnoDB支持事务,支持行级锁和表级锁,支持读写不冲突执行一条sql语句,究竟做了什么mysql预读取,局部性原理因为mysql InnoDB数据存储于磁盘,从磁盘读取到内存,最小读取单位是页Page,页在操作系统4K(4K对齐),但在inn...

2020-04-03 12:47:20 139

原创 MongoDB笔记

MongoDB是一个最想关系型数据库的非关系型数据库关系型数据库非关系型数据库支持事务无事务(性能提升)表之间有关联数据与数据之间没关联有表结构约束Key-Value表结构命名区别mysqlMongoDB数据库数据库表集合 Colliection行文档 Document列字段 Field索引索引...

2020-04-02 18:15:28 132

原创 控制线程执行顺序(java)

这里只是说出思路,没有具体代码。列出三个场景使用join,从源码上看,join方法其实是调用Object.wait(),让主线程等待指定线程执行完才能继续执行下去,个人觉得不大好,主线程都阻塞了,多线程的意义也失去了一大半。2.创建一个只有一个线程的线程池,然后按顺序执行那几个任务,这肯定是有序的。3.假设有三个线程需要很复杂的计算,需要要求三个线程并发计算,但计算完的结果要一起总汇输...

2020-03-29 12:16:53 201

原创 Promise、async、await用法——前端异步串行执行,循环串行执行

前言本文只是个人因需求在开发后的总结,更偏向于应用方面,对于promise、async的基础就不赘述了。相关文章网络上也很多,有需要的朋友也可以参考一下,建议有一点点相关知识后再阅读更容易理解。1.先热下身—promise的基础用法—异步函数串行执行其实就算不使用promise,通过在异步函数里嵌套下一个要执行的异步函数也可以达到同样的效果。但使用promise代码更灵活,代码可读性也好些。...

2019-05-30 17:32:39 2559 1

原创 java 递归,非递归遍历树节点 【深度优先、广度优先】

java 树节点递归类似的博文其实数量并不少,但觉得不少博文还是比较乱而且有点复杂化了,所以决定尝试写一篇简单易懂的博文... 由于树节点一般无法确定它的级层数,所以遍历树的节点传统方法一般可使用递归函数。递归函数的好处是代码更简单易读,但是缺点就是树的层级太深可能会导致内存溢出,下面顺便写出递归遍历树的简略代码:假设有个需求,需要遍历查找到code相等的树节点,然后返回这些节点。...

2018-11-04 17:35:45 3765

原创 tomcat映射路径配置的一些坑

本文是个人参考其他博客结合自身亲自测试,得出一些结论然后更大家分享下,希望能让人少踩点坑。常规方法(方法一):%tomcat%/conf/server.xml文件,标签下添加<Host><Context docBase="D:/upload/test/savePath1" path="/mapperUrl"/><!--其中docBase为实际文件存...

2018-08-29 09:46:22 7082 1

原创 Tomcat获取不到post请求的处理方法

之前项目用的是tomcat7.0.2x版本,还好好的。后来被调到别的项目去一段时间后,tomcat换成7.0.86了,结果就发现post的请求参数后台没法获取,但get请求却好好的。关于post请求参数无法被后台获取到的原因主要有两个:1.网上比较多是这个答案,常见的是使用ajax请求时设置了contentType: "application/json;charset=UTF-8",这个方式发送p...

2018-06-15 15:38:43 5072

原创 word的一些坑,解决方法

以下说的是word20131.word插入图片仅显示一小截,解决方法 如上图,虽然可以通过设置图片——格式——环绕文字,改为四周型或其他的解决该问题,不过这个方式并不能根本解决问题,图片多起来后很容易造成排版错误。我的解决方法:造成这个原因一般是由段落里面使用了固定值行距所造成的,可以点击该图片——段落,将该图片行距修改为单倍或多倍行数即可解决该问题。2.表格控制换行: C...

2018-05-30 10:13:51 437

原创 textarea文本保存到数据库,前端输出保存换行回车解决方案

处理这种文本输出格式的,使用富文本编辑器是比较方便的,但我这里写的不是使用富文本编辑器的处理方法!     那么,从数据库取出text文本到前端展示格式一致的解决方案主要有两种(仅Web端,其他平台没有调试):一:提交数据之前,将textarea的回车、空格先转换格式,再提交数据存入数据库,那样取出数据输出到web端也能保证格式一致。//关键js代码var text = $("te...

2018-05-26 11:08:09 36348 12

原创 关于Java里的volatile的一些见解

 首先得了解一下volatile是干什么的:volatile 关键字:当多个线程进行操作共享数据时,可以保证共享数据的内存可见性。使用方式例如:volatile int a = 3;什么是内存可见性?先不急着,看看下面java的内存模型的说明:想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的。Java内存模型规定了所有的变量都存储在主内存中...

2018-01-06 11:46:52 247

转载 Mybatis中javaType和jdbcType类型对应

备忘用"java.util.Map" id="resultjcm"> result property="FLD_NUMBER" column="FLD_NUMBER" javaType="double" jdbcType="NUMERIC"/> result property="FLD_VARCHAR" column="FLD_VARCHAR" javaType="string"

2017-11-29 17:41:35 8968

原创 Eclipse debug及常用快捷键

eclipse快捷方式:【sysout ALT+/】 【Ctrl+1】 【快速生成主函数 main ALT+/】 【多行注释 选中多行+Ctrl+Shift + /】                  【格式化代码 Ctrl+A Ctrl+Shift+f】 【类、函数的备注 /** Enter】                 【自动引入包 Ctrl+Shift+O】       

2017-11-24 11:51:24 760

转载 浮点数运算出现偏差以及简单解决方法

浮点数在做运算后是会出现误差的,这很正常。double a=2.00-1.10;double b=0.90;System.out.print(a==b);结果会输出false所以有时在判断浮点数相等时会用到一个方法,那就是public static boolean isEqual(double a,double b){    final double epsilon

2017-11-24 11:49:04 3915

原创 关于深复制浅复制机制

浅复制,深复制:该文章并不是从头说起深复制和浅复制的实现,只是为了凸显出深浅复制机制的不同点,以及造成问题的解决方式。要是对复制机制不了解,还请先去看别的文章。  复制机制, 需要类实现接口:implements Cloneable并且重写方法:public Object clone() throws CloneNotSupportedException{    retur

2017-11-24 10:55:44 149

原创 常用终端指令

linux查看内存使用情况: free可以使用一下命令查使用内存最多的10个进程 ps -aux | sort -k4nr | head -n 10可以使用一下命令查使用CPU最多的10个进程 ps -aux | sort -k3nr | head -n 10【删除文件|目录】: rm -rf [fileName]【get root】: su root (C...

2017-09-15 19:37:15 1018

原创 关于用数组替代递归算法,提高运算速度的问题

例如:对于大家都熟悉的Fibonacci数学问题 该方法函数源代码一般如下:public static int getFibonacci(int n) {if(n == 1 || n == 2) {return 1;}elsereturn getFibonacci(n-1) + getFibonacci(n-2);}可以用数组实现递归,如下: 改代码加入输入流,用于测试

2016-02-09 14:07:48 1018

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除