自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot 2.0学习总览

一、总览SpringBoot 1.0是基于Servlet + JavaEE + springMVCSpringBoot 2.0是基于Reactive + Netty,Servlet + Spring WebFlux, 非阻塞异步的方式- 组件自动装配:模式注解、@Enable注解、条件装配、加载机制- 外部化配置:Environment抽象、生命周期、破坏性变更- 嵌入式容器:...

2020-03-16 23:52:05 126

原创 页面优化技术

1、页面缓存+URL缓存+对象缓存页面缓存:将html页面以String的形式保存到redis中,使用时从缓存中读取,适合不会经常变的页面,设置缓存过期时间要短;(1)取缓存,(2)手动渲染模板(3)输出结果URL缓存:和页面缓存类似,拼上URL中可变的参数,作为缓存的key。对象缓存:是粒度更小的缓存单位,(1)将业务数据的Bean,放入缓存中。(2)删除老的缓存...

2019-08-28 22:21:28 141

原创 Springboot集成JSR303参数校验

JSR303 是一套 JavaBean 参数校验的标准1、pom导入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId></dependenc...

2019-07-14 14:27:51 1252

原创 Springboot集成Jedis使用

1、增加Jedis的依赖springboot本身支持的spring-boot-starter-data-redis,<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</a...

2019-07-14 13:44:40 4064

原创 并发调试及jdk8的并发新支持

并发的调试较单线程调试更复杂,且并发的问题不一定能复现,1、介绍eclipse的条件断点在加断点的地方,右键选择条件断点:设置进入断点的条件:案例:ArrayList(线程不安全)并发添加元素的越界的调试分析:设置条件断点:线程1越界后,抛出异常,终止运行,线程0继续运行:2、使用jstack -l pid:分析线程锁情况如,可以看...

2019-06-27 21:46:33 191

原创 Java集合的5点细节

1、实现了compareTo方法,就有必要实现equals方法,同时还需要确保两个方法同步compareTo是判断元素在排序中的位置是否相等,equals是判断元素是否相等,既然一个决定排序位置,一个决定相等,所以我们非常有必要确保当排序位置相同时,其equals也应该相等。2、subList返回的只是原列表的一个视图,它所有的操作最终都会作用在原列表上如:从list中删除部分数据:l...

2019-05-04 10:57:06 112

原创 Java集合的fail-fast机制

定义 fail-fast是Java集合的一种错误检测机制。当多个线程对集合进行结构上的改变的操作时,有可能(不是一定)会产生fail-fast机制。在非java.util.concurrent包下的类,迭代器的快速失败行为无法得到保证,因为一般来说,不可能对是否出现不同步并发修改做出任何硬性保证。快速失败迭代器会尽最大努力抛出 ConcurrentModificationExcep...

2019-05-03 10:07:09 206

原创 Java死锁问题

死锁定义1)进程死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。2)线程死锁是指由于两个或者两个以上的线程互相持有对方所需要的资源,导致这些线程处于等待状态,无法前往执行。产生死锁的四个必要条件1)互斥条件:指进程对所分配到...

2019-04-28 00:10:14 1510

原创 常见数据库设计规范

数据库命名规范1、所有数据库对象名称必须使用小写字母 + 下划线分割;(因为MySQL是大写敏感);2、所有数据库对象名称禁止使用MySQL的保留关键字,如:SELECT、FROM等;3、数据库对象命名做到见名知意,长度最好不要超过32个字符;如:user_account;4、临时表必须以tmp_为前缀,并以日期为后缀;备份库、备份表必须以bak_为前缀并以日期为后缀;这样方便查看...

2019-04-22 23:32:06 586

原创 数据结构与算法-基础定义-1

四种逻辑结构:集合结构、线性结构、树形结构、图形结构;

2018-05-27 23:06:43 155

原创 遇见美国

For attractive life,speak words of kindness.

2018-05-24 22:59:36 642

原创 流程语句

2018-05-08 23:15:39 141

原创 js基础

js包括:    1、ECMAScript      2、BOM    3、DOM基本语法:输出特殊的字符:如&lt;script&gt;    &amp;lt; 是 &lt;    &amp;gt; 是 &gt;变量:尽量不要去修改变量/常量的类型,防止引起错误;自动数据类型转换:...

2018-05-06 23:21:54 134

原创 栈和队列

2018-03-26 23:33:03 145

原创 线性表

2018-03-26 22:14:56 116

原创 异常捕捉的陷阱

这里细节的:

2018-03-18 23:05:06 184

原创 面向对象的陷阱

2018-03-17 20:53:04 145

原创 流程控制的陷阱

2018-03-15 23:42:42 149

原创 表达式的陷阱

1、字符串的陷阱宏替换:使用final修饰的常量Java的位运算符详解实例——与(&amp;)、非(~)、或(|)、异或(^)(相同为0,不同为1)

2018-03-13 23:43:17 128

原创 Java的内存回收

1.对象在内存中的状态4.1.2 Java中引用类型引用总结:4.2Java的内存溢出4.3.1  3种垃圾内存回收方式

2018-01-30 22:42:14 288

原创 Java集合实现细节

Set与Map:HashSet与HashMap:1、HashMap的创建2、HashSet的创建3、TreeMap与TreeSet3.2Map和List3.3ArrayList与LinkedList

2018-01-21 21:52:53 201

原创 类实例化过程

类初始化包括3部分:1、非静态块定义的初始值;2、类中的变量属性的赋的初始值;(1和2是顺序执行的)3、类的构造器中的初始值;(1和2执行后,再执行的)存在继承的情况如下:类中存在静态块和静态变量时:1、静态块和静态变量 是在类加载的时候执行赋值的,且执行一次,二者的执行顺序和代码顺序一致;2、类实例化时,仅对非静态块和变量;类继承时:初始化子类时,子类不仅

2018-01-12 22:30:34 2152

转载 常见的几种排序算法-插入、选择、冒泡、快排、堆排等

Java面试宝典系列之基础排序算法博客:http://blog.csdn.net/zhangerqing(转载请说明出处)本文就是介绍一些常见的排序算法。排序是一个非常常见的应用场景,很多时候,我们需要根据自己需要排序的数据类型,来自定义排序算法,但是,在这里,我们只介绍这些基础排序算法,包括:插入排序、选择排序、冒泡排序、快速排序(重点)、堆排序、归并排序等等。看

2017-01-13 00:26:59 2275

转载 Mybatis 的Log4j日志输出问题

使用Mybatis的时候,有些时候能输出(主要是指sql,参数,结果)日志。有些时候就不能。无法输出日志的时候,无论怎么配置log4j,不管是properties的还是xml的,都不起作用。有些时候,我们没做什么配置就能输出日志....这是一个让无数人烦躁的问题。其实解决问题很容易(我过了这么久才解决,以前都用拦截器输出)。这是一个普大喜奔的日子,让

2017-01-13 00:22:59 510

转载 jsp中静态包含和动态包含的区别

一、静态包含指令1、两个jsp页面的应该保持一致2、不能通过fileurl向被包含的jsp页面传递参数,因为此静态包含是发生在jsp页面转换为servlet的转换期间,此时的参数是服务器端设置的死的参数,完全没有经过客户端,这种参数是没有意义的,如,而且此时会报错。3、包含的jsp页面与被包含的jsp页面共用一个request内置对象。      比如说在客户端访问

2017-01-03 23:49:00 1643

转载 JSP三大指令

三大指令:page指令、include指令和taglib指令。page指令:* import:等同与import语句      在一个JSP页面中可以给出多个page指令,而且import是可以重复出现的    * pageEncoding:指定当前页面的编码  如果pageEncoding没有指定,那么默认为contentType的值;  如果

2017-01-03 23:01:48 227

转载 JSP的6个动作

JSP中6个动作为:1.Include、 2.Forward、3.UseBean、 4.GetProperty、 5.SetProperty、 6.Plugin。一、Include指令标签表示包含一个静态的或者动态的文件。语法:或注:1、page="path" 为相对路径,或其表达式。2、flush="tr

2017-01-03 22:46:23 356

转载 权限管理功能实例

第一个任务,设计并实现一套简单的权限管理功能。一套最基本的权限管理包括用户、角色、资源。数据库设计我的设计如下:用户:user角色:role用户-角色:user_role资源:resource(包括上级菜单、子菜单、按钮等资源)角色-资源:role_resource标准的权限管理系统设计为以上5张表。

2016-12-29 21:35:15 3103 1

转载 前后端基本知识

1、什么是框架  框架式一组程序的集合,包含了一系列的最佳实践,作用是解决某个领域的问题。当我们使用某个框架时,其实是把一系列JAR包加载到CLASSPATH路径中,实际上是获得了JAR中所有对JDK的额外支持。也就是说:框架只是一些JAR包而已,其本质是对JDK的功能扩展,作用是为了解决某个领域的问题。  最佳实践:实际上是无数程序员在经过了无数次的尝试后,总结出来的处理特定问题

2016-12-29 21:17:54 7000

转载 web前端知识体系大全

1. 前言  大约在几个月之前,让我看完了《webkit技术内幕》这本书的时候,突然有了一个想法。想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的是想要颠覆人们对于前端只有三大块(html、css、js)的认识——做web前端需要的比这三大块要多得多。  拖了好几个月了,但是由于近期将要参加的某一个活动,我不得不这两天把这个东西整出来。说

2016-12-22 21:59:25 309

原创 web知识点

第一章    Java Web工作原理(一)       HTTP请求流程及包含的内容:1.      客户端与Web服务器建立连接;2.      客户端发送HTTP请求;包括:1)        请求行:由请求的HTTP方法、请求的URL、HTTP版本 组成,中间用空格分开;2)        请求头:用来传递请求的元信息。由用户代理资料、可接收的格式、语言、内容编码等

2016-12-22 21:51:33 251

转载 java-枚举

定义: 所谓枚举类型,就是用一组数量有限的标识符来表示一组连续的整型常数,使能够更清晰的表示出现实世界枚举的用法:一些方法在运行的时候,需要的数据类型不是随意的,它是要在一个范围内有效的值,就可以用枚举来解决这个问题语法格式定义  enum 枚举类的类名{ //先定义出 对应的 枚举值 //再来写方法 }枚举的注意点: 1.枚举类型 是一个 特殊的 类  final class

2016-12-18 23:43:35 90

转载 JavaScript

java script和java 1 是两个公司开发的不同的两个产品,java是面向对象的程序设计语言,适合于internet应用程序开发,js是一种解释性语言 ,没有编译的过程,直接写完源代码就可以运行2 java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,js是一种解释性编程语言,源代码在发往客户端执行之前不需要经过编译,而是将文本

2016-12-16 13:09:24 219

转载 将web项目发布到Tomcat 服务器上的三种方法

1、在conf目录中新建Catalina\localhost目录,在该目录中新建一个xml文件,名字可以随意取,只要和当前文件中的文件名不重复就行了。在Tomca的安装目录 conf/Catalina/localhost下,里面有Tomcat自带的三个应用,随意复制其中的一个XML文件,然后修改docbase指向你自己的应用程序,并把文件名改名,改xml文件的内容为:reloada

2016-12-16 13:02:10 664

转载 setTimeout()和setInterval()的区别和转换

定义setTimeout()和setInterval()经常被用来处理延时和定时任务。setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式,而setInterval()则可以在每隔指定的毫秒数循环调用函数或表达式,直到clearInterval把它清除。从定义上我们可以看到两个函数十分类似,只不过前者执行一次,而后者可以执行多次,两个函数的参数也相同,第一个参数是

2016-12-06 23:39:36 15325

原创 JavaScript细节知识

例一: console.info(a);//将a的打印到控制台 var a=10;//定义a变量,赋值为10;那么在控制台答应的值为——undfined————在JS里,页面加载时过程中会先将基础数据类型和应用类型加载内容,但不赋值;到执行语句时,再对初始化代码赋值;也就是说,JS中在加载网页是,会先将所有的变量(名)加载到内存中,所以在执行到console.info(a);语句

2016-12-06 00:08:22 324

转载 Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)

两个月之前准备软考时,简单的从理论上总结了最常用的数据结构和算法,比如:线性表,链表,图。在进行Java开发时,jdk为我们提供了一系列相应的类来实现基本的数据结构。jdk所提供的容器API位于java.util包内。本文主要是通过简单的介绍Collection集合,向读者简单阐述各个类的基本定义以及其作用,为后面的学习做一下铺垫。首先,我们先看一下Collection集合的基

2016-11-29 23:43:03 264

原创 Java面试手写代码No.3(Singleton)

Java设计模式——单例模式(第3种为最终模式)抛砖引玉 一:懒汉模式/* * 问题域:设计一个能且只能产生一个对象的类 *///单列模式一------懒汉模式/* * 1、它是一种预加载的实现。不管代码中有没有用到getInstance,都会被产生; * 2、线程绝对安全的 */public class Singleton { private static Sing

2016-11-29 23:36:32 704

原创 Java面试手写代码No.2(CopyFile)

1、使用字符型流传输(包括文字等文档的文件的拷贝):注意要转码,亲,开放工具与文档的编码格式,需设置文件编码格式一致!和对异常的捕获。package com.lovo.test;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;

2016-11-22 23:53:45 1090

原创 Java面试手写代码No.1(JDBC)

Java数据库编程(MySQL为例):package com.lovo.test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JOptionPane;impor

2016-11-13 23:19:12 6870

空空如也

空空如也

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

TA关注的人

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