4 shaoXingZJU

尚未进行身份认证

为了能进阿里而读书

等级
TA的排名 14w+

全局异常处理

ErrorMvcAutoConfiguration是Springboot默认的异常处理配置​若想更改异常页面的显示,可以写一个类实现ErrorPageRegistrar接口,添加发生某类异常时显示的页面。项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的、不可预知的异常需要处理。每个过程都单独处理异常,...

2019-03-02 19:57:22

Java序列化

为什么需要序列化呢?一、希望在JVM停止后能持久化指定的对象,这就需要把对象进行序列化后保存二、Java对象通过网络进行传输。因数据只能以二进制的形式在网络中进行传输,因此当把对象通过网络发送出去之前需要先序列化成二进制数据,在接收端读到二进制数据之后反序列化成Java对象 Java的序列化,只知道需要实现Serializbale这个接口。原理这篇博客总结的很好http://beautyboss....

2018-07-05 13:37:30

xml中输出原义和转义字符

被<![CDATA[]]>这个标记所包含的内容将表示为纯文本,比如<![CDATA[<]]>表示文本内容“<”。   此标记用于xml文档中,我们先来看看使用转义符的情况。我们知道,在xml中,”<”、”>”、”&”等字符是不能直接存入的,否则xml语法检查时会报错,如果想在xml中使用这些符号,必须将其转义为实体,如”<”、”...

2018-07-02 17:53:25

Slf4j和各个日志框架

Slf4j和各个日志框架集成的原理    (适配层)通过ClassLoader去加载classpath下所有存在StaticLoggerBinder.class的文件。找到这个文件以后加到一个集合里面。通过加载到对应jar中的StaticLoggerBinder。来获取实例。推荐2个博客,这里就不详说了https://blog.csdn.net/k1280000/article/details/...

2018-06-29 19:24:19

IDEA中快捷键无效的原因

在使用IDEA时,发现一些快捷键无法使用或者效果莫名其妙,列举2个,其他的查找问题的思路类似(就是跟其他快捷键冲突)IDEA中Ctrl+Shift+F快捷键无效输入法的问题,我用的是搜狗输入法,它有着自己的快捷键,对于Ctrl+Shift+F就是简体繁体切换的快捷键,找到快捷键设置,去掉即可。Alt+向左方向键快捷键,导致idea显示翻转其实是跟图形显示的快捷键冲突解决方法:屏幕右键——图形选项—...

2018-06-27 16:52:49

解决Intellij IDEA中运行缓慢的问题

  最近入手idea后,装了商业版的。安装的时候是默认设置,所以有些没用的插件也都默认装了,还打开了自动设置源码,检测错误等功能,导致idea运行缓慢,所以特意找了下解决办法。(这是我参考网上https://blog.csdn.net/u013068377/article/details/54316965,然后进行的设置)    一、IDEA太卡顿,设置使用IDEA的内存在IDEA的安装目录下的...

2018-06-26 23:07:19

轮询和心跳的区别

在很多的平台应用中,都有这样的需求,平台内包括多个子系统或者属于其管控范围内的其他平台,需要对这些系统进行统一的监控,来查看当前的运行状态或者其他运行信息,我们的应用也有这样的一个情况,需要再外网服务端(平台)上监控,其下运行的多个内网服务端的网络状况,查阅了写资料后确立了2种可实现的方式。1:轮询机制2:心跳机制 先简单介绍一下,轮询:概括来说是服务端定时主动的去与要监控状态的客户端(或者叫其他...

2018-06-25 17:06:08

Maven 命令格式及一些常用命令

Maven自身指定定义了一套对项目进行编译,测试,打包,运行,部署等工作的抽象。Maven自己是不实际负责这些工作的,而是把它们交给了插件。所以Maven命令的实际工作执行者是各种各样的插件。要了解Maven命令,还得知道Maven生命周期的概念。Maven有三套独立的生命周期:clean,default和site。每个生命周期又有不同的阶段。这三个生命周期之间是互相独立的,调用一个不会影响另一...

2018-06-24 19:52:17

Maven中的Scope标签

scope是用来限制Dependency的作用范围的,影响maven项目在各个生命周期时导入的package的状态。旧版本中的Scope标签有5种compile默认就是compile,什么都不配置也就是意味着compile。compile表示被依赖项目需要参与当前项目的编译,当然后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去。testscope为test表示依赖...

2018-06-23 20:12:01

开发环境搭建

本人从事Java开发,特此记录搭建开发环境的心得。 一、JDK+Idea首先,JDK的下载安装,环境配置。IDE安装最新版的商业idea参考jdk+idea配置https://blog.csdn.net/nobb111/article/details/77116259      即JDK系统环境变量配置      IDEA配置JDK二、MavenJava应用统一使用Maven构建。直接下载解...

2018-06-22 09:41:44

error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version

    昨天用git从Github上clone代码时报错error:1407742E:SSLroutines:SSL23_GET_SERVER_HELLO:tlsv1alertprotocolversion  首先介绍我的版本git1.9.5  一看SSL一直以为是公钥没有添加到github上,然后经过https://blog.csdn.net/lkt_anhua/article/...

2018-06-22 09:28:17

Volatile关键字解析

volatile关键字是与Java的内存模型有关的,Java内存模型规定所有的变量都是存在主存当中,每个线程都有自己的工作内存。线程对变量的所有操作都必须在工作内存中进行,而不能直接对主存进行操作。并且每个线程不能访问其他线程的工作内存。 volatile关键字的两层语义       一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义:1)保证了不...

2018-06-20 15:45:51

Java类加载器解析

类加载器负责加载文件系统、网络或其他来源的类文件。即使类来源于同一个class文件,只要加载它们的类加载不同,则这两个类就必定不相等。       绝大部分Java程序都会使用以下三种类加载器:Bootstrap类加载器、Extension类加载器和Application类加载器。 Bootstrap类加载器:       它是所有类加载器的父加载器。Bootstrap类加载器没有任何父类加载...

2018-06-13 20:21:44

浏览器输入URL到页面展示之中发生了什么?

当我们在浏览器的地址栏输入一个URL,然后回车否能看到页面,这之中到底发生了什么呢?其中我归纳为6个步骤:       域名解析       TCP的3次握手       建立TCP连接后发起http请求       服务器响应http请求,浏览器得到html代码       浏览器解析html代码,并请求html代码中的资源(如js、css、图片等)       浏览器对页面进行渲...

2018-06-11 15:49:46

GC新生代对象晋升到老年代情况总结

对象优先在Eden分配,且新生代对象晋升到老年代有多种情况,现在做一个总结:(1)、Eden区满时,进行MinorGC,当Eden和一个Survivor区中依然存活的对象无法放入到Survivor中,则通过分配担保机制提前转移到老年代中。 (2)、若对象体积太大,新生代无法容纳这个对象,-XX:PretenureSizeThreshold即对象的大小大于此值,就会绕过新生代,直接在老年代分...

2018-06-05 20:12:41

强引用、软引用、弱引用和虚引用

从JDK1.2版本开始,Java对引用的概念进行了扩充,从而使程序能更加灵活地控制对象的生命周期。       强度由高到低依次为:强引用、软引用、弱引用和虚引用4种 ⑴强引用(StrongReference)   强引用即“Objectobj=newObject()”这种。若对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError...

2018-06-04 21:00:29

MySQL索引解析

索引是一种数据结构,存储的表中特定列的值。一般情况下主键会默认创建聚簇索引,且一张表只允许存在一个聚簇索引。        索引分为聚簇索引和非聚簇索引两种,聚簇索引是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了;聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快。       聚簇索引的叶子节点就是数据节点,而非聚簇索引的叶子节点仍然是索引节点,只不过有指向对应数据块的指...

2018-06-04 15:04:35

Invalid character found in method name. HTTP method names must be tokens

    本人将开发好的项目部署到阿里云上,然后发现一段时间后能访问到资源,但是里面的ScheduledThreadPool相关的功能不能使用。登录到阿里云上,发现Tomcat报了以下这个异常。  经测试,要是将http请求改为https,则立即报这个错误。但是我发现我也没有用https啊,难道浏览器自动将http转为https?按照网上的办法,我在server.xml中加上maxHttpHea...

2018-06-01 22:40:35

ArrayBlockingQueue和LinkedBlockingQueue源码解析

ArrayBlockingQueue和LinkedBlockingQueue都是java.util.concurrent包中的阻塞队列。阻塞队列就是支持阻塞的插入和移除的容量,即在容量满时往BlockingQueue中添加数据时会造成阻塞,当容量为空时取元素操作会阻塞。内部的阻塞队列是通过重入锁ReenterLock和Condition条件队列实现的。看名字就可以知道他们的底层数据结构不同:   ...

2018-06-01 20:32:16

TCP流量控制

TCP利用滑动窗口机制达到流量控制的目的,是传输层进行流控的一种措施。TCP滑动窗口分为接受窗口,发送窗口: 接收方通过通告发送方自己的窗口大小(在返回的ACK中包含自己接收窗口的大小),从而控制发送方的发送速度,从而防止发送方发送速度过快而导致自己被淹没的目的。ACK包含两个非常重要的信息: 一是期望接收到的下一字节的序号n,该n代表接收方已经接收到了前n-1字节数据,此时如果接收方收到第n+1...

2018-05-28 09:14:40

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!