4 yjclsx

尚未进行身份认证

我要认证

欢迎大家各抒己见,如果喜欢我的文章请关注我!

等级
TA的排名 5

优化springboot

介绍在SpringBoot的Web项目中,默认采用的是内置Tomcat,当然也可以配置支持内置的jetty,内置有什么好处呢?1. 方便微服务部署。2. 方便项目启动,不需要下载Tomcat或者Jetty针对目前的容器优化,目前来说没有太多地方,需要考虑如下几个点线程数 超时时间 jvm优化针对上述的优化点来说,首先线程数是一个重点,初始线程数和最大线程数,初始线程数保障...

2019-08-21 10:52:47

Spring MVC异常统一处理的三种方式

Spring 统一异常处理有 3 种方式,分别为:使用 @ ExceptionHandler 注解 实现 HandlerExceptionResolver 接口 使用 @controlleradvice 注解使用 @ ExceptionHandler 注解使用该注解有一个不好的地方就是:进行异常处理的方法必须与出错的方法在同一个Controller里面。使用如下:@Contro...

2019-08-21 10:27:51

fail-fast机制

在JDK的Collection中我们时常会看到类似于这样的话:例如,ArrayList:注意,迭代器的快速失败行为无法得到保证,因为一般来说,不可能对是否出现不同步并发修改做出任何硬性保证。快速失败迭代器会尽最大努力抛出 ConcurrentModificationException。因此,为提高这类迭代器的正确性而编写一个依赖于此异常的程序是错误的做法:迭代器的快速失败行为应该仅用于检...

2019-08-21 10:27:05

springboot中ElasticSearch入门与进阶:组合查询、聚合查询

1.springboot中配置elasticSearch1.1在工程中引入相关的jar包1.1.1在build.gradle中添加需要的jar包我创建的gradle工程,对应的maven工程也是一样,添加对应的jar包即可//添加SpringDataElasticsearch的依赖compile('org.springframework.boot:spring-...

2019-08-21 10:23:14

算法的时间复杂度和空间复杂度详解

通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出算法的优劣与否。因此,作为程序员,掌握基本的算法时间复杂度分析方法是很有必要的。 算法执...

2019-08-21 10:22:16

线上问题定位--CPU100%

服务器CPU突然告警,如何定位是哪个服务进程导致CPU过载,哪个线程导致CPU过载,哪段代码导致CPU过载?步骤一、找到最耗CPU的进程工具:top方法: 执行top -d 1-c,每秒刷新一次,显示进程运行信息列表 键入P(大写p),进程按照CPU使用率排序 图示:如上图,最耗CPU的进程PID为1802步骤二:找到最耗CPU的线程工具:top...

2019-08-21 10:21:11

Java各种规则引擎

一. Drools规则引擎简介:Drools就是为了解决业务代码和业务规则分离的引擎。Drools 规则是在 Java 应用程序上运行的,其要执行的步骤顺序由代码确定,为了实现这一点,Drools 规则引擎将业务规则转换成执行树。特性:优点:   1、简化系统架构,优化应用   2、提高系统的可维护性和维护成本   3、方便系统的整合   4、减少编写“硬代码”业...

2019-08-21 10:15:14

【深度长文】JavaScript数组所有API全解密

全文共13k+字,系统讲解了JavaScript数组的各种特性和API。数组是一种非常重要的数据类型,它语法简单、灵活、高效。 在多数编程语言中,数组都充当着至关重要的角色,以至于很难想象没有数组的编程语言会是什么模样。特别是JavaScript,它天生的灵活性,又进一步发挥了数组的特长,丰富了数组的使用场景。可以毫不夸张地说,不深入地了解数组,不足以写JavaScript。截止ES7规范...

2019-08-21 10:10:56

理解OAuth 2.0

理解OAuth 2.0作者:阮一峰原文地址:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.htmlOAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。更新:我...

2019-08-21 10:09:03

使用docker搭建web服务

本文会对虚拟化技术与 Docker 容器技术做一个对比,然后引出一些 Docker 的名词术语,比如:容器、镜像等,随后将使用 Docker 搭建一个 Java Web 运行环境,最后将对本文做一个总结。我们先来回顾一下传统虚拟化技术的体系架构:可见,我们在宿主机的操作系统上,可安装了多个虚拟机,而在每个虚拟机中,通过虚拟化技术,实现了一个虚拟操作系统,随后,就可以在该虚拟操作系统上,...

2019-08-21 10:07:03

IntelliJ IDEA 18 周岁,吐血推进珍藏已久的必装插件

IntelliJ IDEA是目前最好最强最智能的Java IDE,前几天,他刚刚年满18岁。本文,给大家推荐几款我私藏已久的,自己经常使用的,可以提升代码效率的插件。IDEA插件简介常见的IDEA插件主要有如下几类:常用工具支持Java日常开发需要接触到很多常用的工具,为了便于使用,很多工具也有IDEA插件供开发使用,其中大部分已经在IDEA中默认集成了。例如maven、...

2019-08-21 10:04:36

并发编程模式

一、future模式在网上购物时,提交订单后,在收货的这段时间里无需一直在家里等候,可以先干别的事情。类推到程序设计中时,当提交请求时,期望得到答复时,如果这个答复可能很慢。传统的是一直等待到这个答复收到时再去做别的事情,但如果利用Future设计模式就无需等待答复的到来,在等待答复的过程中可以干其他事情。future模式核心思想就是异步调用,去除了主函数的等待时间,并使得原本需要等待的时...

2019-07-31 20:12:05

shell编程

一、简介Shell脚本语言是Linux/Unix系统上一种重要的脚本语言,在Linux/Unix领域应用极为广泛,利用Shell脚本语言可以简洁地实现复杂的操作,而且Shell脚本程序往往可以在不同版本的Linux/Unix系统上通用。Shell脚本语言简单、易学、易用,适合处理文件和目录之类的对象,以简单的方式快速完成某些复杂的事情通常是创建脚本的重要原则。二、基本格式Shell脚本...

2019-07-31 20:10:18

M3U8 Downloader的使用

M3U8Downloader是一款专门下载M3U8格式的在线视频的工具,并且还附带视频转换和视频合并小工具。M3U8Downloader开发背景HLS(HTTPLiveStreaming)是苹果公司实现的基于HTTP的流媒体协议,可以实现流媒体的点播和直播播放,主要用于PC和Apple终端的音视频服务。包括一个m3u(8)的索引文件、TS媒体分片文件和key加密串文件。...

2019-07-31 19:43:24

jenkins+gogs实现自动构建maven项目

本文基于《jenkins构建maven项目》,在此之上增加自动构建。直接进入主题。我这边的git仓库使用的是搭建在内网的gogs,所以想实现当代码push到git上后就立即自动构建打包该项目,就需要在jenkins上安装gogs的插件。Jenkins安装Gogs插件打开 系统管理 -> 管理插件 -> 可选插件 ,在右上角的输入框中输入“gogs”来筛选插件:...

2019-07-31 19:43:20

mysql按照汉字拼音排序

项目中有时候会遇到需要按照汉字拼音排序的需求。如果要排序的字段编码使用的是GBK字符集,那就可以直接按照拼音排序。因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字3755个采用拼音排序,二级汉字就不是了),直接在查询语句后面添加ORDER BYname ASC,查询结果将按照姓氏的升序排序。如果存储姓名的字段采用的是utf8字符集,需要在排序的时候对字段进行转码,对应的代码是...

2019-07-31 19:43:16

jenkins构建maven项目

省略jenkins的安装,我这边是使用jenkins docker镜像启动的容器。1、配置环境进入系统管理->全局工具配置首先需要配置的是jdk、maven、git。我在docker中已经安装了jdk、maven、git,所以JAVA_HOME就直接填写jdk路径,Maven_HOME填写maven路径,Path to Git executable填写git执行路径。...

2019-07-31 19:43:07

取代cookie的网站追踪技术:"帆布指纹识别"

【前言】一般情况下,网站或者广告联盟都会非常想要一种技术方式可以在网络上精确定位到每一个个体,这样可以通过收集这些个体的数据,通过分析后更加精准的去推送广告(精准化营销)或其他有针对性的一些活动。Cookie技术是非常受欢迎的一种。当用户访问一个网站时,网站可以在用户当前的浏览器Cookie中永久植入一个含有唯一标示符(UUID)的信息,并通过这个信息将用户所有行为(浏览了哪些页面?搜索了哪些...

2019-07-31 19:42:49

git fetch和git pull的区别

1. git fetchgit fetch相当于是从远程获取最新到本地,不会自动merge,如下指令:git fetch orgin master //将远程仓库的master分支下载到本地当前branch中git log -p master ..origin/master //比较本地的master分支和origin/master分支的差别git merge origin/mas...

2019-07-31 19:42:01

maven deploy上传jar包到nexus错误排查

Returncodeis:500最近在项目中使用maven-deploy上传jar包时出现[ERROR]Failedtoexecutegoalorg.apache.maven.plugins:maven-deploy-plugin:2.7:deploy(default-deploy)onprojectwenwo-platform-parent:Failedto...

2019-07-31 19:41:52

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。