自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

抠脚的汉子

爱抠脚的码农

  • 博客(36)
  • 收藏
  • 关注

原创 jQuery中each方法return踩坑

在jQuery的each方法中使用return true或者return false语句,不会中断当前执行方法的逻辑进行返回。在each方法中return true相当于continue在each方法中return false相当于break基于这种情况,我们可以中断当前each后,使用标志位来进行判断是否中断方法的执行,如下: ... $("input[name$='l...

2020-03-20 15:50:26 611

原创 JVM调优工具之JDK自带常用工具(jconsole、jvisualvm的使用)

JDK自带JVM调优常用工具这里只是先介绍工具的简单使用,后续会使用这些介绍的工具进行简单的调优实战。1.1 jconsole(1)说明JConsole工具是JDK自带的可视化监控工具。查看java应用程序的运行概况、监控堆信息、永久区使用情况、类加载情况等。(2)使用方式命令行中输入命令:jconsole就可以开启jconsole工具了(3)工具使用连接上某一...

2020-01-08 21:46:18 1919 1

原创 JVM调优工具之堆内存分析利器-MAT

(1)MAT(MemoryAnalyzer)下载安装下载地址:https://www.eclipse.org/mat/downloads.php(2)获取Dump文件获取dump文件的集中方式:手动使用jmap命令获取dump文件 jmap -dump:format=b,file=heap.hprof PID自动(触发条件需要Java应用发生内存溢出)Java应用启动...

2020-01-02 23:08:51 629

原创 VisualVm工具安装插件

以visualgc插件举例进行安装,如需该插件请留下邮箱:安装步骤如下:(1)下载插件到本地(2)命令行中输入jvisualvm打开visualvm工具(3)选择菜单:工具->插件(4)选择已经下载好的插件进行安装(5)安装完成后,重启visualvm工具,我们就能看到对应的效果了...

2020-01-02 23:08:26 943 5

原创 JVM调优-常用jvm命令、意义及用法

JVM常用命令1 jps查看Java进程2 jinfo(1) 实时查看和调整JVM配置参数The jinfo command prints Java configuration information for a specified Javaprocess or core file or a remote debug server. The configuration inf...

2020-01-01 22:53:19 341

原创 JVM-常见JVM参数、如何查看JVM参数、如何动态设置JVM参数

1 JVM参数1.1 标准参数// 查看java版本-version// help命令就不用了说了吧-help// -server// 指定类运行所依赖其他类的路径,通常是类库和jar包,需要全路径到jar包,多个jar包之间连接符,// window上分号“;”.Linux下使用“:”-cp 1.2 -x参数非标准参数,也就是在JDK各个版本中可能会变动-Xi...

2019-12-21 15:41:27 2464

原创 如何将Java文件打包成可执行jar包

1 新建java文件 /** * @Description: * @Modified By: */ public class TestJar { public static void main(String[] args) { System.out.println("jar 执行 "); } }2 新建MANIFEST.MF文件...

2019-12-21 14:50:31 1077

原创 git删除远程分支后,本地不更新的问题

使用git开发过程中,有时候会出现远程的git分支已经被删除了,但是本地的git还是存在的,即使使用git -r命令,还是可以看到该分支。解决如下: git fetch // 如果上一个命令,还是不行的话,可以使用下面的命令 git remote prune origin...

2019-12-15 17:10:21 1575

原创 spring源码解析-02 Spring Bean的生命周期

以上为Bean初始化阶段的执行流程。主要分一下几个步骤:实例化一个Bean--也就是我们常说的new;如果这个Bean已经实现了BeanNameAware接口,会调用它实现的setBeanName(String)方法;如果这个Bean已经实现了BeanFactoryAware接口,会调用它实现的setBeanFactory(setBeanFactory(BeanFactory)传递的是S...

2019-12-15 17:04:46 149

原创 Maven本地仓库有jar包 pom文件还是报红

情况一:本地jar包不完整(有lastUpdated后缀)删除jar包,重新导入。如果有很多jar不是完整的jar包,删除很麻烦,可以使用windows脚本进行删除。(新建bat后缀文件,将下列内容放入文件中保存执行)// C:\localRepository\ 需要替换为本地maven仓库路径del /s /q "C:\localRepository\*lastUpdated*"p...

2019-10-09 22:38:13 4586

原创 git新建、删除分支(本地和远程)

1. 新建分支及推送到远程//切换分支git branch branchname//创建并切换到新分支git checkout -b branchname//远程分支git push origin branchname//查看远程分支git branch -r2. 删除分支2.1 删除本地分支 git branch -d branchname // -D 表示强制删除...

2019-10-09 22:28:03 482

原创 js定时器语法

setInterval() 开启定时器 // 用法: var idInt = setInterval(function(){ // doSomething },2000);clearInterval() 关闭定时器 // 用法: clearInterval(idInt);...

2019-10-09 22:21:11 485

原创 js日期格式化

createTime是一个Json格式的日期,var date = new Date(createTime.time);// 时间格式 2012-12-22 21:20:12var text = date.getYear()+"-"+date.getMonth()+"-"+date.getDay()+" "+date.getHours()+":"+date.getMinutes()+"...

2019-10-09 22:17:46 116

原创 HttpClient工具类(包含get、post表单和json请求)

httpClient工具类:package com.lvmama.tnt.cps.utils.distributor;import org.apache.commons.lang3.StringUtils;import org.apache.commons.lang3.exception.ExceptionUtils;import org.apache.http.Header;impo...

2019-10-09 22:13:05 1343

原创 json序列化循环引用问题-序列化字符串中包含 $ref问题

问题:使用fastJson将对象转换成字符串,发现转换后的字符串中包含 $ref字符:实体类: class Car{ private String name; private String color; public Car(String name, String color) { this.name = name;...

2019-09-30 10:29:29 1576

原创 fastJson复杂类型解析

fastJson解析json字符串使用定义一个实体类:public class User { private Long id; private String name; private Integer age; public Long getId() { return id; } public v...

2019-09-25 00:09:33 1804

原创 json使用eval解析json字符串报";"问题解决

后端返回json字符串,前端使用eval解析json川报错,提示缺少“;”解决:将eval(json)替换成eval’(’+json+’)’ 就行了

2019-09-24 23:14:52 862 1

原创 富文本内容如何存储和页面回显

富文本用于很多场景,内容包括文本、粗体文字、变色文本、图片等。如下图所示:这些富文本内容是如何存储到后端,又是如何从后端获取原样展示到页面上的呢?具体交互流程如下:前端通过富文本编辑器生成富文本内容将富文本内容发送到后端进行存储前端获取富文本内容,进行页面展示富文本内容: 这里的富文本内容其实就是含有标签的字符串,比如图中的这些富文本内容就是类似以下字符串:普通文字、<b...

2019-09-20 23:59:51 26360 2

原创 checkbox或者radio默认选中,默认不可选中

checkbox:默认选中 <input id="checkbox1" type="checkbox" checked="checked" /> <input id="radio1" type="radio" checked="checked" />当我们想让checkbox或者radio默认选中时,只要设置了checked属性,不管该属性的值是什么,...

2019-09-20 23:15:06 14526 1

原创 文件上传MultipartFile的getInputStream方法返回不同流对象问题

java文件上传的时候发现CommonsMultipartFile的getInputStream方法在文件不同大小的时候返回的流对象是不同的,导致InputStream在转换为对应的子类对象是报错,当时很是纠结,然后看了下getInputStream的代码实现当文件小于10240b(即10kb)的时候,返回的是ByteArrayInputStream当文件大于10kb的时候,返回的FileI...

2019-08-15 22:55:43 13597

原创 请求参数中包含特殊字符问题

content-type 也叫MIME类型,是用来描述请求中媒体类型消息,定义于消息头中。常见的媒体类型有如下:text/html:html格式text/xml:xml格式text/plain:纯文本格式image/gif:gif:图片格式image/jpeg:jpg:图片格式image/png:png:图片格式application/xml:xml数据格式applicatio...

2019-08-12 11:51:03 4884

原创 git忽略已经添加过的文件

在添加ignore文件之后,项目中已经存在的文件已经被git跟踪了,之后再加入ignore文件是不会删除已经添加过的文件解决办法执行下面的命令,清除.idea的git缓存,取消git跟踪就可以了git rm -r --cached .idea...

2019-07-31 23:27:26 429

原创 排序算法的时间复杂度和空间复杂度

排序方法时间复杂度(平均)时间复杂度(最好)时间复杂度(最坏)控件复杂度稳定性冒泡排序O(n²)O(n²)O(n)O(1)稳定选择排序O(n²)O(n²)O(n²)O(1)不稳定插入排序O(n²)O(n²)O(n)O(1)稳定快速排序O(n㏒n)O(n㏒n)O(n㏒n)O(1)不稳定归并排序O(n㏒n)...

2019-06-05 23:02:07 288

原创 git-将本地项目上传到github

第一步:打开git bash通过命令git init把这个文件夹变成Git可管理的仓库第二步:在Github上创建一个Git仓库注意,初始化readme文件选项最好不要勾选(如果勾选后续会有点小问题,但是也可以解决)第三步:在Github上创建好Git仓库之后我们就可以和本地仓库进行关联了,在命令行输入: git remote add origin 仓库地址例:第四步:执行以下...

2019-06-05 22:49:04 179

原创 maven无法自动导入私服jar包问题

因为maven导包的问题,坑了好久,找了多位大哥都没有解决问题,最后无奈找到了开发总监2分钟就搞定了。。。自己做过很多尝试都没有效果:更换maven版本更换idea版本无数次检查配置问题(setting文件用的是同事的)无数次百度、google (没什么卵用)以上的操作都没有效果,到最后找到开发总监2分钟就搞定了,原因是:图中这两个地方的配置一定要一样(之前是不一样的),我不知...

2019-06-04 18:01:16 2292 1

原创 JUC-Semaphore使用及原理分析

1 Semaphore简介及使用ps:要想理解Semaphore原理,需要先了解AQS,不了解AQS的可以看先之前的文章->aqs源码解析Semaphore类是一个计数信号量,必须由获取它的线程释放,底层是基于AQS实现的,通常用于限制可以访问某些资源(物理或逻辑的)线程数目。举个例子,某个停车场总共有5个停车位,意味着同一时刻最多只能容纳5辆车,先来的5辆车占了车位之后,其他的车只能...

2019-05-29 23:15:07 382

原创 juc-CountDownLatch原理分析

CountDownLatch是java.util.concurrent包下一个同步工具类,它允许一个或多个线程等待直到在其他线程中一组操作执行完成。它能够使一个线程等待其他线程完成各自的工作后再执行。例如,应用程序的主线程希望在负责启动框架服务的线程已经启动所有的框架服务之后再执行。每当一个线程完成了自己的任务后,计数器的值就会减1。当计数器值到达0时,它表示所有的线程已经完成了任务,然后在闭锁...

2019-05-29 22:44:51 401

原创 JUC-Condition使用以及Condition原理分析

1. 线程通信ps:要想理解Condition原理,需要先了解AQS,不了解AQS的可以看先之前的文章->aqs源码解析在Synchronized加锁状态时,是使用wait/notify/notifyAll进行线程间的通信。那么在使用ReentrantLock加锁时,是如何实现线程间通信问题的呢?在JUC中既然提供了Lock,也提供了用作其线程间通信的方式,再次引入了Condition。...

2019-05-24 22:03:01 3097 1

原创 JUC-ReentrantLock源码分析

1. ReentrantLock定义PS:要想理解ReentrantLock原理,需要先了解AQS,不了解AQS的可以看先之前的文章->aqs源码解析ReentrantLock是jdk提供的可中断, 可重入获取, 支持超时, 支持尝试获取锁。它与synchronized锁主要有以下几点不同之处:可重入, 一个线程获取独占锁后, 可多次获取, 多次释放(synchronized也一样,...

2019-05-23 23:17:31 425

原创 thymeleaf使用报错org.xml.sax.SAXParseException: 对实体 "xxx" 的引用必须以 ';' 分隔符结尾。

ThymeLeaf使用过程中报错如下:org.xml.sax.SAXParseException: 对实体 "xxx" 的引用必须以 ';' 分隔符结尾。 at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203) ~[n...

2019-05-21 18:35:28 3285

原创 访问接口报415

web项目访问接口报415问题。代码如下: @PostMapping(value = "hotelList") public String hotelList(@RequestBody HotelListRequest request, Model model){ // TODO ....... return "hotel/hotel-product-l...

2019-05-17 14:24:01 5214

原创 springboot项目访问jsp页面404问题

springboot使用jsp的一些配置本身是比较简单的,分为以下几步:导入jar包 <dependency> <groupId>com.lvmama.boot</groupId> <artifactId>lmm-boot-starter-web</artifactId> ...

2019-05-14 15:50:04 6002

原创 Java并发编程之synchronized详解(锁优化、锁升级)

1 线程安全1.1 什么是线程安全问题“线程安全”相信稍有经验的程序员都会听说过,但是如何描述线程安全呢?在网上查到以下两点比较符合线程安全的定义:如何一个对象可以安全地被多个线程同时使用,那它就是现成安全的当多个线程访问同一个对象时,如果不用考虑这些线程再运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那...

2019-05-12 20:22:15 975

原创 线程的生命周期

1 线程的定义1.1 线程是什么线程是操作系统能够运算调度的最小单位。它被包含在进程中,是进程中的实际运行单位,一个进程中包含一个或多个线程,多个线程共享进程中的资源,线程之间的运行互不影响。1.2 线程和进程的区别线程与进程的区别可以归纳为以下4点:1)地址空间和其它资源(如打开文件):进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。2)通信:进程间通信IPC...

2019-05-11 14:38:24 482

原创 Java并发编程之AQS源码分析

一、简介AQS就是AbstractQueuedSynchronizer,它是为实现依赖于先进先出(FIFO)等待队列的阻塞锁和相关同步器(信号量,事件等)提供的一个框架。AQS继承了AbstractOwnableSynchronizer类,这个类为创建锁和相关同步器提供了基础。AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock、Sema...

2019-04-15 23:51:21 1904

原创 spring源码解析-01spring核心模块-设计思想以及使用到的设计模式

阅读源码过程中首先介绍下spring中各个模块,如下 核心模块: spring-core:依赖注入IOC与DI的最基本实现 spring-beans:Bean工厂于Bean的装配 spring-context:IOC容器 spring-context-suipport:对spring ioc容器的扩展支持,以及ioc子容器 spring-context-indexer:Sp...

2019-03-24 21:47:43 882

空空如也

空空如也

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

TA关注的人

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