自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 资源 (2)
  • 收藏
  • 关注

转载 springBoot中定时器的三种模式

以下例子为单线程情况下的分析定时器的使用分析SpingBoot的定时器我相信大家都会使用,即使不会使用的,随便搜索一下,相信都能在30分钟内上手.但是其实Spring的定时器有三种模式,分别是fixedDelay、cron、fixedRate.那这三种分别有什么区别呢?我们来分别写一个SpringBoot的定时器Demo来体验一下.fixedDelay方式 1@Compone...

2019-04-08 09:44:43 1158

转载 mysql临时表

首先,临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间。因此在不同的连接中可以创建同名的临时表,并且操作属于本连接的临时表。 创建临时表的语法与创建表语法类似,不同之处是增加关键字TEMPORARY,如: CREATE TEMPORARY TABLE 表名 (…. )临时表使用有一些限制条件:...

2019-04-07 20:52:44 3209

转载 mysql触发器

什么是触发器简单的说,就是一张表发生了某件事(插入、删除、更新操作),然后自动触发了预先编写好的若干条SQL语句的执行;特点及作用特点:触发事件的操作和触发器里的SQL语句是一个事务操作,具有原子性,要么全部执行,要么都不执行;作用:保证数据的完整性,起到约束的作用;例子:创建触发器,记录表的增、删、改操作记录接下来将创建user和user_history表,以及三...

2019-04-07 20:33:26 100

转载 mysql视图

什么是视图通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。视图的特性视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变);可以跟基本表一样,进行增删改查操作(ps:增删改操作有条件限制);视图的作用方便操作,特别是查询操作,减...

2019-04-07 17:09:34 106

转载 mysql自定义函数

MySQL自定义函数用法详解-复合结构自定义变量/流程控制自定义函数 (user-defined function UDF)就是用一个象ABS() 或 CONCAT()这样的固有(内建)函数一样作用的新函数去扩展MySQL。所以UDF是对MySQL功能的一个扩展创建和删除自定义函数语法:创建UDF:  CREATE[AGGREGATE]FUNCTIONfunction_n...

2019-04-07 14:50:26 95

转载 mysql存储过程

记录MYSQL存储过程中的关键语法:DELIMITER // 声明语句结束符,用于区分;CEATE PROCEDURE demo_in_parameter(IN p_in int) 声明存储过程BEGIN …. END 存储过程开始和结束符号SET @p_in=1 变量赋值DECLARE l_int int unsigned default 4000000; 变量定义...

2019-04-07 14:36:40 106

转载 mysql索引

文章归属:http://feiyan.info/16.html,我想自己去写了,但是发现此君总结的非常详细。直接搬过来了关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓慢。还是...

2019-04-06 21:15:29 64

转载 Java线程池ThreadPoolExecutor使用和分析 - execute()原理

故事预热:某个工厂要招工人完成订单。有两个重要的参数:1,长工的数目(假设为10),2,总工人的最大数目(假设为20)。一开始,没有工人,所以要招长工。现在开始,每有一个订单,就去招一个工人当长工。直到长工数为10。接下来,老板考虑订单虽然多了,可是再招工人成本就太贵了,于是把新来的订单放在流水线上暂存起来,叫目前的工人做完手上的活之后赶紧去流水线上继续完成别的订单。接下来订单继续增长,老...

2019-04-02 14:52:15 716

转载 深入理解JVM虚拟机:(六)类加载机制和类加载器(ClassLoader)的详解

当程序主动使用某个类时,如果该类还未被加载到内存中,则JVM会通过加载、连接、初始化3个步骤来对该类进行初始化。如果没有意外,JVM将会连续完成3个步骤,所以有时也把这个3个步骤统称为类加载或类初始化。 1.概述Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数,属性...

2019-03-13 14:04:16 576

转载 深入理解JVM虚拟机:(五)GC调优与JVM实用参数

1.1 GC相关参数总结1.与串行回收器相关的参数 -XX:+UseSerialGC:在新生代和老年代使用串行回收器。 -XX:+SuivivorRatio:设置 eden 区大小和 survivor 区大小的比例。 -XX:+PretenureSizeThreshold:设置大对象直接进入老年代的阈值。当对象的大小超过这个值时,将直接在老年代分配。 -XX...

2019-03-11 14:51:30 706

转载 深入理解JVM虚拟机:(四)垃圾收集器与内存分配策略

一、 技术背景你要了解吧  按照套路是要先装装X,谈谈JVM垃圾回收的前世今生的。说起垃圾回收(GC),大部分人都把这项技术当做Java语言的伴生产物。事实上,GC的历史比Java久远,早在1960年Lisp这门语言中就使用了内存动态分配和垃圾回收技术。设计和优化C++这门语言的专家们要长点心啦~~二、 哪些内存需要回收?  猿们都知道JVM的内存结构包括五大区域:程序计数器、虚拟机栈...

2019-03-11 14:43:09 372

转载 深入理解JVM虚拟机:(三)OutOfMemoryError异常

JVM内存区域中,除了程序计数器外,其他几个运行时区域都有可能发生OutOfMemoryError(OOM)异常。本文对OOM异常进行总结,通过代码验证JVM规范中描述的运行时区域存储的内容;了解可能导致这些区域OOM异常的代码,能够在工作中根据异常代码对内存哪一出区域进行定位。1.Java堆溢出Java堆用于存储对象实例,只要不断地创建对象,并且保证GC Roots到对象之间有可达路径...

2019-03-05 16:24:03 133

转载 深入理解JVM虚拟机:(二)对象访问

对象的创建虚拟机遇到一条new指令时,首先检查指令的参数能否在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载、解析和初始化过。如果没有,必须先执行相应的类加载过程。接下来虚拟机为新生对象分配内存。对象所需要的内存在类加载完成后可以被完全确定,所以只需要把一块确定大小的内存区域从堆中划分出来给这个对象即可: 如果堆的内存是规整的,所有使用的内存在一边,未使用...

2019-03-05 15:04:24 114

原创 深入理解JVM虚拟机:(一)Java内存区域

运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分成若干个不同的数据区域,这些数据区域都有各自的用途,以及创建和销毁时间,Java虚拟机所管理的内存将会包括以下几个运行时数区域。1.程序计数器程序计数器是一块比较小的内存空间,它可以看做是当前线程所执行的字节码指令的行号指示器。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条...

2019-03-05 14:33:51 159

转载 JAVA基础复习-IO流

一、创建文件,借助File类来实现file.createNewFile() : 创建文件file.exists() : 判断文件是否存在,如果存在,则返回truedelete() : 删除文件,如果删除成功,则返回truedeleteOnExit() : 程序退出的时候才删除文件import java.io.File;import java.io.IOException;...

2019-03-04 15:30:54 138

转载 JAVA基础复习-集合

集合框架集合框架:★★★★★,用于存储数据的容器。对于集合容器,有很多种。因为每一个容器的自身特点不同,其实原理在于每个容器的内部数据结构不同。集合容器在不断向上抽取过程中。出现了集合体系。在使用一个体系时,原则:参阅顶层内容。建立底层对象。------------------------------------------------------------主要...

2019-03-03 21:58:49 303

原创 JAVA基础复习-多线程

多线程的内存模型:main memory(主存)、working memory(线程栈),在处理数据时,线程会把值从主存load到本地栈,完成操作后再save回去(volatile关键词的作用:每次针对该变量的操作都激发一次load and save)。1.用多线程的目的?那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程...

2019-02-28 16:44:10 326

转载 JAVA基础复习-基础概念

重载的定义是:在一个类中,如果出现了两个或者两个以上的同名函数,只要它们的参数的个数,或者参数的类型不同,即可称之为该函数重载了。如何区分重载:当函数同名时,只看参数列表。和返回值类型没关系。重写:父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。Java中的内存分配以及栈和堆的区别A...

2019-02-24 18:23:49 266

原创 JAVA基础复习-字符串

小知识对于+和append拼接字符串效率的误解开始学习Java的时候我们会被告知在进行字符串拼接的时候不要轻易使用+最好使用append,因为+是一个极其耗性能的一种做法,其实这样说并不是完全对的,对于有String类型变量参与的情况(String变量+”字面量” 或者 String变量+String变量),只要+拼接没有断,那就会一直调用append,一旦另起一条语句,马上就会new一个...

2019-02-19 16:21:43 167

原创 JAVA基础复习-运算

二进制机器数一个数在计算机中的表现形式叫做机器数,这个数有正负之分,在计算机中用一个数的最高位(符号位)用来表示它的正负,其中0表示正数,1表示负数。例如正数7,在计算机中用一个8位的二进制数来表示,是00000111,而负数-7,则用10000111表示,这里的00000111和10000111是机器数真数计算机中的机器数对应的真实的值就是真数,对最高位(符号位)后面的二...

2019-02-19 11:10:55 183

原创 springMVC全局异常处理

import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Component;import org.springframework.web.servlet.HandlerExceptionResolver;import org.springframework...

2019-01-09 16:30:34 131

转载 (三)log4j properties与xml简单配置

1.java版本import org.apache.log4j.*;/** * Created by godtrue */public class UseLog4j { //日志记录器 private static Logger LOGGER = LogManager.getLogger(UseLog4j.class); //程序入口——主函数 pub...

2019-01-07 15:58:50 253

转载 (二)log4j控制日志等级、风格,输出目的地

一.日志级别控制import org.apache.log4j.*;//by godtruepublic class UseLog4j { //日志记录器 private static Logger LOGGER = LogManager.getLogger(UseLog4j.class); //程序入口——主函数 public static void m...

2019-01-07 15:41:22 226

转载 (一)log4j框架入门介绍与使用

一.日志框架的作用      使用日志框架的好处显而易见,方便、自在、功能强大能够满足各种需求,不好的地方也是有的,比如:如果你也进行了试验你会发现,程序变慢了,需要一定的时间和精力作为学习的成本。      能够控制日志信息想往哪里打就往哪里打,比如:控制台、文件、邮箱、数据库等等      能够控制日志信息想怎么打就怎么打,比如:我想要打印时间、程序的名称、程序的方法名、程序的行号...

2019-01-07 15:09:55 280

原创 工作中用到的linux命令

查看日志:tail -n 200 catalina.out   //查看倒数200行日志tail -f  catalina.out //实时查看日志记录ps -ef |grep tomcat//查看tomcat相关进程df -k //查看系统内存使用情况du -k//查看当前目录下文件内存大小,bytedu -h//显示Gnetstat -tunlp |grep 808...

2018-12-24 19:49:26 154

原创 阿里云短信

阿里云短信服务官方指导教程:https://help.aliyun.com/document_detail/59210.html?spm=a2c4g.11174283.4.1.n6Pa55步骤:1、注册阿里云账号通过实名认证2、开通短信服务(开通免费)开通后可在控制台短信服务栏中查看3、创建Access Key,获取Access Key ID 和 Access Key Secr...

2018-12-24 19:02:12 167 1

转载 设计模式——行为型——模板方法模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述模板方法(Template Method)模式的:  模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。模板方法模式的结构  模板方法模式是所有模式中...

2018-12-02 15:50:33 125

原创 设计模式——行为型——策略模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述策略(Strategy)模式的:  策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式的结构  策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算...

2018-12-02 12:10:32 173

转载 设计模式——行为型——状态模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述状态(State)模式的:  状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。  状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。状态模式的结构  用一句话来表述,状态模式把所研究的对象的行为包装在不同的状态对象里,每一...

2018-12-02 12:00:45 154

转载 设计模式——行为型——观察者模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述观察者(Observer)模式的:  观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。  观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对...

2018-12-02 11:53:34 116

转载 设计模式——行为型——中介者模式

定义:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。类型:行为类模式类图:中介者模式的结构       中介者模式又称为调停者模式,从类图中看,共分为3部分: 抽象中介者:定义好同事类对象到中介者对象的接口,用于各个同事类之间的通信。一般包括一个或几个抽象的事件方法,并由子类去实现。 中介者实现...

2018-12-02 11:42:19 122

转载 设计模式——行为型——命令模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述命令(Command)模式的:  命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Transaction)模式。  命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。命令模式的结构  命令模式是对命令的封装。命...

2018-12-01 15:00:27 114

原创 rabbitMq+spring实现延迟队列(适用订单超时未支付的问题)

什么是延迟队列通俗一点说,延迟队列和我们生活中常用的定时器有点像,定时器会在指定的时间后响起,延迟队列则会在指定的时间后处理消息。延迟队列主要的应用场景有订单超时取消、超时自动评价等等。实现原理RabbitMQ给我们提供了TTL(Time-To-Live)和DLX (Dead-Letter-Exchange)这两个特性,(队列的TTL和消息的TTL如果同时使用,则消息的过期时间以两...

2018-11-30 17:58:40 2495 9

原创 Spring4.0.6 +Quartz 2.2.1动态添加、修改、删除、关闭定时任务(可结合数据库以及空指针异常问题的解决)

不懂定时器的可以阅读这位作者的文章:Quartz 2.2 的实现原理和运行过程:http://blog.csdn.net/xlxxcc/article/details/52104463spring配置<!-- 定时器 --> <!-- 这个类用来做需要完成的业务--> <bean id="initalJob" class="com.shanreal.sc...

2018-11-29 10:13:58 774

转载 设计模式——行为型——责任链模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述责任链(Chain of Responsibility)模式的:  责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织...

2018-11-26 10:35:35 125

原创 Java项目中的获取文件路径

在jsp和class文件中调用的相对路径不同。 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProperty("user.dir")获取你工程的绝对路径。另:在Jsp,Servlet,Java中详细获得路径的方法!1.jsp中取得路径: 以工程名为TEST为例: (1)得到包含工程...

2018-11-26 09:49:51 1488

转载 设计模式——结构型——代理模式

引言    设计模式是语言的表达方式,它能让语言轻便而富有内涵、易读却功能强大。代理模式在Java中十分常见,有为扩展某些类的功能而使用静态代理,也有如Spring实现AOP而使用动态代理,更有RPC实现中使用的调用端调用的代理服务。代理模型除了是一种设计模式之外,它更是一种思维,所以探讨并深入理解这种模型是非常有必要的。代理模式拳谱总纲     代理模式这种设计模式是一种使用代理对象来执...

2018-11-24 11:24:23 111

转载 设计模式——结构型——享元模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述享元(Flyweight)模式的:  Flyweight在拳击比赛中指最轻量级,即“蝇量级”或“雨量级”,这里选择使用“享元模式”的意译,是因为这样更能反映模式的用意。享元模式是对象的结构模式。享元模式以共享的方式高效地支持大量的细粒度对象。 当前咱们国家正在大力倡导构建和谐社会,其中一个很重要的组成部分就是建设资源节约型社会,“浪费可耻,...

2018-11-23 21:40:04 121

原创 设计模式——结构型——装饰者模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述装饰(Decorator)模式的:  装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。装饰模式的结构  装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造更多子类的情况下,将对象的功能加...

2018-11-23 10:22:32 145

转载 设计模式——结构型——门面模式

医院的例子  现代的软件系统都是比较复杂的,设计师处理复杂系统的一个常见方法便是将其“分而治之”,把一个系统划分为几个较小的子系统。如果把医院作为一个子系统,按照部门职能,这个系统可以划分为挂号、门诊、划价、化验、收费、取药等。看病的病人要与这些部门打交道,就如同一个子系统的客户端与一个子系统的各个类打交道一样,不是一件容易的事情。  首先病人必须先挂号,然后门诊。如果医生要求化验,病人...

2018-11-22 13:53:17 164

rubbitMq实战指南百度云连接

资源失效请留言我,我会补上!!

2019-01-04

重塑java基础高级进阶资源分享

仅仅是分享!实在没有c币可以留言我,我可以私发。

2019-01-04

空空如也

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

TA关注的人

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