自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 问答 (3)
  • 收藏
  • 关注

原创 设计模式-工厂模式,抽象工厂模式

工厂模式工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。为什么要使用工厂模式1、一个调用者想创建一个对象,只要知道其名称就可以了,不需要知道实现类。2、扩展性高,如果想增加...

2019-05-30 14:35:54 282

原创 10分钟入门Kotlin

Kotlin是一门由JetBrains开源的编程语言。我从2017年开始局部使用,现在安利给没接触过的同学们。为什么选择Kotlin?1、基于JVM,静态语言,性能有保障;2、完全兼容Java,可以混编;3、语法简单,提供了非常多语法糖;4、语法安全,在编译期间处理各种为null问题,不需要像Java那样各种非空判断就可以避免绝大部分的NullPointException;...

2019-05-28 16:05:44 336

原创 JVM监控及问题分析

本文共分为四部分JVM内存分配机制jstat性能分析jmap显示堆中对象的统计信息jstack查看Java线程一、JVM内存分配机制和GC机制JVM虚拟机中的共划分为三个代: 年轻代(Young Generation)、年轻代分三个区。一个Eden区,两个Survivor区(一般而 言) 老年代(Old Generation TENURED...

2019-05-28 15:57:32 472

原创 调用链路监控 | Pinpoint

大量使用微服务的你,不知道是否遇见过这种问题,服务器没有异常报警,网络也很空闲,但系统却被卡在某一步业务无法继续进行。传统项目,我们可以只需要对Web服务、应用服务、数据库服务这三层进行检查即可,即使逐步进行,也不会浪费太多时间。但微服务是由大量的应用组成,此时如果一个个逐步进行检查,会浪费大量时间和精力,更甚至,问题还没找到,业务限时促销已经结束。基于这些问题你就要考虑引入APM工具,本...

2019-05-28 15:46:52 4046

原创 扩展 | Java版本自动化测试

为什么要使用自动化测试?随着业务的发展,系统也在不断变的庞大,流程越来越多。每一次小小的修改,都需要花费大量精力对所有系统流程进行测试,确保万无一失后才可上线。这种重复的工作量,和我们面向对象的特性严重不符。所以我们就需要引入自动化测试,把系统所有的流程,以脚本的方式,保存下来,每次修改后,执行脚本,自动检测流程是否正常。目前,市面上的自动化测试脚本编写语言,大部分以Pyth...

2019-05-28 15:36:51 278

原创 SpringBoot2.1(10)WebFlux优秀的新一代异步非阻塞Web框架

Spring5以后,新增了Webflux,异步非阻塞Web框架。在SpringBoot第三篇的时候,简单介绍过WebFlux。本篇,将从更细的粒度上,更全面的介绍下WebFlux。一、什么是WebFluxWebFlux是脱离了传统阻塞式Servlet框架,所以,它不同于Spring MVC。WebFlux是 Spring 5 的一个新模块。包含了响应式 HTTP、服...

2019-01-09 10:48:42 8182 6

原创 SpringBoot2.1(9)使用Dubbo搭建分布式应用

《回顾》之前已经写了8篇SpringBoot2相关的文章,如果你读过,应该可以学到一些东西。那些算是基础。后面Dubbo和SpringCloud的文章,都会依赖这些基础。这一篇,就开始搭建分布式应用。使用SpringBoot2.1.1结合Dubbo搭建第一个分布式应用。一、为什么要使用分布式?在系统越来越庞大的时候,单纯使用集群的方式来部署应用已经不能满足现实情...

2019-01-09 10:42:47 578

原创 SpringBoot2.1(8)发邮件

《回顾》上一篇,说到HTTP/2、HTTPS。如果你在现有的项目中,还没有接触过,也没关系,毕竟,这俩东西需要你负责的部分,都不难,需要的时候再来翻看,不是所有的东西都需要完全记住。但是所有的东西,你都需要知道。本篇,介绍下如何使用SpringBoot2.1,发送邮件。本文以163邮箱为例。一、邮箱设置1、开启SMTP开启授权码:(使用J...

2019-01-09 10:34:51 581

原创 SpringBoot2.1(7)HTTP/2,及自签名HTTPS

《回顾》上一篇,说了一个超简单的定时任务处理方案。还说到了怎么编译War包,把项目运行在Tomcat中。这篇,依旧不难,而且很短,介绍怎么给自己的项目,开启HTTP/2,并使用HTTPS协议。短,不一定都是缺陷。一、简单了解HTTP/2HTTP/2 (原名HTTP/2.0)即超文本传输协议2.0,是下一代HTTP协议HTTP/2 更高效、更简单、更强...

2019-01-09 10:29:54 474

原创 Springboot2.1(6) 超简单的定时任务,及War包运行

《回顾》上一篇,说了Swagger-UI和自定义日志,从现在开始,以后的演示项目,都这样用了。本篇,说下定时任务,说下怎么把SpringBoot项目编译成War包的形式运行。是的,我们堂堂程序员不仅有双肩包,还有Jar包,War包。一、定时任务不知道你是否还在使用代码一坨又一坨的XML来配置定时任务?如果是,那这一篇你不能放过。定时任务,属于SpringB...

2019-01-09 10:24:50 1307

原创 SpringBoot2.1(5)集成Swagger-UI、使用自定义日志

《回顾》上一篇,详细介绍集成Mybatis、Druid及使用Druid监控功能,对应用进行基本的监控。不知道你是否亲自试过。 本篇,将介绍一款接口管理及在线测试神器,Swagger-UI。另外,会讲解到自定日志。意思就是,你可以把SQL单独打印到一个日志文件里,把接口信息打印到一个日志文件里,页面信息打印到一个日志文件里。 先上个图,看下Swagger效果  ...

2018-12-28 11:31:14 1551

原创 SpringBoot2.1(4)集成Mybatis、Druid及Druid应用监控

《回顾》前三篇,看完以后,你的技能列表如下:会搭建SpringBoot2 + Java11架构的项目会基本配置会启用日志会使用Freemarker、Thymeleaf结合SpringBoot开发页面会构建可用于生产的Jar包 这一篇,来解决最关键的一个问题,和数据库交互。本文,以MySQL为例。持久层框架:Mybatis连接池:Druid M...

2018-12-25 10:03:41 2627 1

原创 SpringBoot2.1(3)集成Thymeleaf、WebFlux及Jar包运行

《回顾》上一篇,介绍了Springboot2的常用配置,集成freemarker开发页面及配置Springboot自带的日志。在这里强调下,Springboot的日志同时配置「logging.path」和「logging.file」时,只有后者生效。如果要配置路径,也要配置日志文件名,可以这样「logging.file=/opt/logs/xxx/web.log」 本篇...

2018-12-23 01:28:54 1603

原创 SpringBoot2.1(2)常用配置、日志及集成Freemarker写页面

《回顾》上篇文章说了SpringBoot的概念及详细的介绍了如何搭建一个SpringBoot基本项目有人说,这一些并不是我想要的。我要用SpringBoot写项目,带页面的那种。一步步来。 本篇文章,将介绍SpingBoot常用的一些配置,和使用Freemarker搭建第一个页面。SpringBoot,常用的配置文件分为两种.properties.yml...

2018-12-23 01:18:55 1623

原创 SpringBoot2.1(1)-介绍及搭配Java11搭建第一个WEB项目

SpringBoot,近几年在Java圈里最火的一个词。它是谁?它究竟有怎样的魔力?谁是幕后推手?身为Java组织内的一员,你如果对SpringBoot一无所知又会有怎么样的后果?来一探究竟。一、SpringBoot是谁,可以解决哪些问题? 身世 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。 -...

2018-12-23 01:04:03 3051 3

原创 你还在使用12年陈的Java1.6?Java8-11 的实用新特性,了解下。

为什么要推荐Java11?因为它的效率。原来Gauva中的一些实用特性,在Java11中有;C#中早就支持了的var,在Java11中也有;HttpClent也得到极大的简化,并且支持HTTP2.0;G1已经被设置为默认GC;并加入新的性能卓越的ZGC;.....没有对比,就没有伤害。先从一个简单的需求,对比使用以前的版本和Java8到11的版本实现...

2018-12-23 00:27:58 781

原创 只能输入数字和点(多个点,如IP地址)

<input type="text" oninput="value=value.replace(/[^\d.]/g,'')" onpropertychange="value=value.replace(/[^\d.]/g,'')"> 只能输入一个点的(数字和小数),请关注上一篇...

2014-06-08 13:24:10 853

原创 只能输入数字和小数点(一个小数点)

<html> <head> <title>只能输入数字和小数</title> <script> function onKeyUpDesc(text){ var value = text.value; if (isNaN(value) && value != "." ){ valu

2014-06-08 13:22:10 834

空空如也

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

TA关注的人

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