自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 全局异常处理

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

2019-03-02 19:57:22 1106

原创 Java序列化

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

2018-07-05 13:37:30 213

转载 xml中输出原义和转义字符

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

2018-07-02 17:53:25 1324

原创 Slf4j和各个日志框架

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

2018-06-29 19:24:19 277

原创 IDEA中快捷键无效的原因

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

2018-06-27 16:52:49 8537

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

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

2018-06-26 23:07:19 36955

转载 轮询和心跳的区别

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

2018-06-25 17:06:08 2009

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

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

2018-06-24 19:52:17 260

原创 Maven中的Scope标签

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

2018-06-23 20:12:01 173

原创 开发环境搭建

本人从事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 154

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

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

2018-06-22 09:28:17 951

原创 Volatile关键字解析

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

2018-06-20 15:45:51 122

原创 Java类加载器解析

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

2018-06-13 20:21:44 175

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

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

2018-06-11 15:49:46 181

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

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

2018-06-05 20:12:41 6712

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

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

2018-06-04 21:00:29 112

原创 MySQL索引解析

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

2018-06-04 15:04:35 143

原创 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 2503

原创 ArrayBlockingQueue和LinkedBlockingQueue源码解析

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

2018-06-01 20:32:16 183

原创 TCP流量控制

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

2018-05-28 09:14:40 364

原创 CopyOnWriteArrayList解析

    昨天在面试的时候被问到CopyOnWriteArrayList,发现自己一点不知道,赶紧学习一波~~CopyOnWriteArrayList,用于遍历操作为主要操作的情况,是线程安全的。在某些情况下它提供了更好的并发性能,在迭代期间不需要对容器进行加锁或复制。(迭代器保留一个指向底层基础数组的引用)。 写入时复制(CopyOnWrite),其中所有修改操作(add,set,remove等...

2018-05-28 09:09:15 292

原创 Java基础需要注意的细节(良心总结)

最近在复习一下Java的基础知识,总结一些容易忽略的细节。有不对的地方,欢迎大家回馈,共同进步~~Java跨平台性:指的是Java语言的跨平台性,一次编译,多处可用。但JVM要根据平台安装对应的Java中写数字时,默认的变量类型是int和double,注意丢失精度的问题        比如byte b=3;                b=b+2;  //这里会编译出错 (因为2默认是int)&...

2018-05-23 21:39:36 1167

原创 StringBuffer与StringBuilder源码解析

这是源码中2个类的声明public final class StringBuilder    extends AbstractStringBuilder implements java.io.Serializable, CharSequencepublic final class StringBuffer    extends AbstractStringBuilder    implements...

2018-05-23 19:56:24 149

原创 GC解析

GC,即Java垃圾回收。Java采用的是类似于树形结构的可达性分析法来判断对象是否还存在引用,对不存在引用的对象进行GC。JVM垃圾回收的root根对象有以下几种:(1)虚拟机(JVM)栈中引用对象(2)方法区中的类静态属性引用对象(3)方法区中常量引用的对象(final的常量值)(4)本地方法栈JNI的引用对象GC触发的条件有两种:(1)程序调用System.gc()时可以触发;(不建议)(2...

2018-05-23 19:14:28 170

原创 Java异常

    在现实中充满了不良的代码和有错误的代码,在程序运行时,由于一些错误或其他外部环境的影响造成用户数据的丢失,用户就可能不在使用这个程序了。为解决这些问题,Java使用一种称为异常处理的错误捕获机制处理。    一、异常分类            在Java中,异常对象都是派生于Throwable类,上图即为Java中的异常层次结构图。    Error类描述了Java运行时系统的内部错误和资...

2018-05-21 11:00:05 118

原创 Java(TM) Platform SE binary未响应

说明:本人将web部署到服务器上,启动tomcat运行。本来一直好好的,然后突然无法访问页面    然后到服务器上查看,发现服务器的tomcat在运行,又弹出Java(TM) Platform SE binary未响应的一个窗口点击关闭后,tomcat也退出了,重启之后又能服务了。但是这也不是办法,总不能一有问题就重启吧。仔细分析:tomcat不能服务,根据提示就是JVM停止工作导致的,    1...

2018-05-17 13:18:48 16447

原创 Ajax动态画EChart图表

本人由于项目需要,在状态变化的时候需要动态绘制对应数据的EChart图表,并且不刷新整个网页。所以就用Ajax动态画EChart图表,下面是开发过程中遇到的一些坑的总结。流程:页面首次加载时展示一幅原始的图形,若后台数据更新,则进行一定的业务处理后,前端通过AJAX动态绘制出最新的数据一、前端JSP代码    准备一个放图表的容器     <div id="AScanChart" style...

2018-05-17 08:37:44 1088

原创 多线程下类的初始化过程

本文对Java多线程情况下类初始化过程中做一个总结说明:Java语言规范规定,对于每一个类或者接口,都有一个唯一的初始化锁与之对应总结为4个阶段一、获取Class对象的初始化锁    获取Class对象的初始化锁来控制类或者接口的初始化过程,这个锁是线程阻塞的(即A获取了锁,B线程就会等待)二、获得了锁的线程A进行初始化    执行类的静态初始化:                         ...

2018-05-14 21:31:07 1106

原创 org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'MonitorServiceImpl'

SSH框架的web开发中,报了这么一个错误。根据提示:No bean named 'MonitorServiceImpl' is defined       就是说你的这个bean没有定义,spring找不到解决思路:1.是否正确使用注解将bean放入Spring容器中,如@Service2.判断bean所在的路径是否在Spring的扫描范围内3.bean的默认第一个字母小写(这也是我犯错误的原因...

2018-05-14 09:49:11 661

原创 Java代理

一、概述 代理(Proxy)是一种设计模式,间接访问目标对象的访问方式,代理就是类似一个中介的角色。可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。 现实中的例子:明星(被代理对象)和经纪人(代理),商家都是联系经纪人, 而不是直接联系明星。明星只是负责表演,唱歌,而经纪人是直接与商家对话,然后让明星干.....(调用被代理对象的方法)二、分类2.1静态代理  静态代理使用...

2018-05-11 13:35:48 115

原创 JVM类加载过程

java代码编译后,会生成JVM能够识别的二进制字节流文件(*.class)。在Class文件中描述的各种信息,最终需要JVM把其加载到JVM内存中才能运行和使用。一、概论    JVM把描述类数据的字节码.Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制。    类加载都是在程序运行期间完成的,这种策略虽然会令类加...

2018-05-10 15:10:00 139

空空如也

空空如也

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

TA关注的人

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