自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (3)
  • 收藏
  • 关注

原创 synchronized锁

前言:    在程序中,若存在多个线程同时操作共享变量,就会造成线程不安全,要保证多线程操作共享数据安全,必须加上互斥锁,同一时刻只有一个线程可以操作数据。 synchronized三种用法:    1.实例方法    2.静态方法    3.代码块我们先写出代码,查看运行结果,然后再分析1.实例方法package com.xhx.java;/** * ...

2018-06-30 19:19:53 479

原创 java设计模式十二之外观模式

前言:    外观模式,也叫Facade模式,当外部客户端与子系统通信时,通过外观对象进行通信。外观对象提供了调用子系统的各种接口。一般可以把外观对象设置成单例的。优点:    降低调用者与子系统的耦合,隐藏了子系统的实现细节,同时更利于维护怎么实现:    Facede外观对象:对子系统进行封装调用    子系统对象:可能存在多个    调用者:客户端调用者代码:    子系统A:package...

2018-06-30 12:41:29 136

原创 String,StringBuilder与StringBuffer

前言:    String: String类还有String类的属性都是被final修饰的,每次对象改变时相当于指向了一个新的对象,所以性能最差    StringBuilder:属于可变字符串,比String快很多,可以用toString()方法转成String对象    StringBuffer: 属于线程安全的可变字符串,方法前面都加了synchronized,当然在单线程中推荐用Strin...

2018-06-28 22:16:45 134

原创 mysql索引失效条件

1. where条件中有or,除非or的所有字段都有索引,只要有一个没有索引,就不走索引上面name和id都有索引上面money没有索引2.对于多列索引,第一列会使用索引,单独其他列不会,用or连接多列不会使用索引,用and会使用索引3.like查询以%开头不会使用索引4.如果是字符类型,里面存的数字,必须加引号相当于执行了一个函数,转成了数字:5.where中有函数...

2018-06-27 21:24:57 1217

原创 Math.round函数

Returns the closest {@code long} to the argument, with tiesrounding to positive infinity.返回一个最接近的值,如果是0.5,上下距离一样,向正无穷方向取值,其实就是取较大的值。 @Test public void testRound(){ System.out.println(Ma...

2018-06-27 11:13:01 15638

原创 Springboot(十二)构建docker images镜像

前言:   把springboot工程,放在docker容器中运行,有很多种方法,本博客用maven插件与Dockerfile构建。代码:    首先构架一个springboot工程pom.xml如下:docker-maven-plugin为构建docker所需的maven插件<?xml version="1.0" encoding="UTF-8"?><project xmln...

2018-06-26 22:37:57 3963 1

原创 Springboot(十一)@ControllerAdvice全局异常处理

前言:       @ControllerAdvice,用于全局异常处理,减少代码入侵,必须在controller层抛出来,若异常在代码中被抓住了,没有抛出来,是不起作用的。实现:     写一个全局异常类GlobalDefaultException,类上加注解@RestControllerAdvice,在方法上加注解@ExceptionHandler(value = Exception.clas...

2018-06-24 15:41:08 4031

原创 Springboot(十)jpa

前言:    springboot整合jpa代码: application.ymlspring: datasource: username: xuhaixing password: xuhaixing url: jdbc:mysql://192.168.94.151:3306/mytest?useUnicode=true&characterEn...

2018-06-23 22:57:58 190

原创 Springboot(九)jdbcTemplate

前言:       Springboot配置jdbcTemplate连接mysql数据库代码: pom.xml加入spring-boot-starter-jdbc与mysql的包<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="h...

2018-06-23 22:38:14 186

原创 java设计模式十一之代理模式

前言:    代理模式可以对原来的类进行扩展,通过代理对象来访问目标对象。例如spring aop怎么实现:    抽象角色:真实对象与代理对象都需要实现的接口    真实角色:继承抽象角色,要被代理的类    代理类:扩展真实角色。静态代理:       package com.xhx.designpattern;/** * 抽象角色 * 真实对象与代理对象都需要实现的接口 */pu...

2018-06-23 17:21:40 202

原创 java设计模式十之享元模式

前言:    享元设计模式也叫轻量级模式,是把对象不变化的部分抽取出来形成一个对象,避免这个对象修改。享元的目的是为了减少不必要的内存消耗,通过共享技术,有效的实现了大量细粒度对象的复用。内部状态:存储在享元对象内部,一般在构造对象时设置,不会随环境变化而改变,因此内部状态可以复用。外部状态:随环境改变而改变,是不可以共享的状态,所以外部状态需要在使用时由客户端传入(会造成线程安全问题)怎么实现:...

2018-06-22 07:49:08 160

原创 java设计模式九之观察者设计模式(二)

前言:    在上一篇中,我们是用的java.util包下的观察者与被观察者父类。这次我们自己写一个代码:    被观察者父类Observable,有一个添加观察者的集合,添加观察者的方法,删除观察者的方法,通知观察者的方法。package com.xhx.designpattern.entity;import com.xhx.designpattern.observer.Observer;...

2018-06-20 08:07:51 143

原创 java设计模式九之观察者设计模式(一)

前言:    观察者设计模式属于行为模式之一,当一个对象改变的时候,需要通知其他关联的对象,通俗的说就是当一个对象改变的时候,也需要改变其他业务内容,为了达到解耦、利于维护的目的。怎么实现:    被观察者父类:里面包含添加、删除、通知观察者的方法的声明或者具体方法    被观察者实现类:含有自己的业务逻辑,当发生改变时,向所有观察者发送通知。    观察者父类:含有被观察者调用的回调函数    ...

2018-06-19 00:05:28 169

原创 java设计模式八之策略模式

前言:   Strategy模式也叫策略模式,是行为模式之一,它对一系列算法加以封装,并且算法可以相互切换,让算法独立于使用它的客户而独立变化,首先为所有算法定义一个抽象的算法接口,每种算法都继承这个接口,并加以封装和实现,具体算法交由客户端决定。使用场景:      1.同一个问题有多种处理方式,只有行为不同。      2.用很多if ..  else if...来判断一个抽象类的子类的执行怎...

2018-06-18 20:11:22 245

原创 SpringCloud(十五)springCloud sleuth 分布式链路跟踪

前言:    在为服务中,各个为服务之间存在着调用关系,spring cloud sleuth就是追踪整条调用链的。一些感念:Span:基本工作单元,例如,在一个新建的span中发送一个RPC等同于发送一个回应请求给RPC,span通过一个64位ID唯一标识,trace以另一个64位ID表示,span还有其他数据信息,比如摘要、时间戳事件、关键值注释(tags)、span的ID、以及进度ID(通常...

2018-06-17 19:54:16 1160

原创 SpringCloud(十四)springCloud bus 消息总线刷新配置

前言:     在微服务中,我们将使用轻量级消息代理,通过一个共用的消息主题,让系统中所有为服务都连上来,主题中的消息会被所有监听者消费,所以称为消息总线。spring cloud bus将分布式节点用轻量级消息连接起来,他可以用于服务间通讯,例如:配置文件的更改。可以用kafka、rabbitmq等 代码:      基于springboot2.0首先基于上一篇的代码(搭建eureka、conf...

2018-06-15 08:09:34 5356 1

原创 Springboot(八)多环境配置2 spring.profiles

在上一节中,我们把所有的配置都放在了一个配置文件中,用---做分割,这一节我们把不同环境的文件放在不同文件中。文件名application-{profile}.yml/properties新建一个springboot工程application.yml:spring: profiles:# 可以写多个 # active: dev include: prod,devapplic...

2018-06-14 08:29:44 688

原创 Springboot(七)多环境配置1 spring.profiles

前言:    首先系统在不同的环境中,可能需要不同的配置,比如:生产环境、开发环境、测试环境、压测环境等,每个环境数据库访问地址、mq监听地址、文件服务器地址等可能都不一样,那么怎么实现多环境切换,这就是spring.profiles代码:首先搭建一个springboot工程application.ymlspring: profiles:# 可以写多个 active: prod ...

2018-06-14 08:21:04 685

原创 Springboot(六)自定义配置文件属性值注入两种方法

前言:    在配置文件中自己定义的值,怎么注入到程序中,比如:mq队列的名称,缓存的key,文件的路径等。 代码:首先建一个springboot工程pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:...

2018-06-13 23:12:32 15769 1

原创 SpringCloud(十三)springCloud config 分布式配置中心

前言:    在分布式系统中每个微服务会有不同的配置文件,并且在生产环境、开发环境、测试环境等可能都对应不同的配置文件,分布式配置中心可以对其进行统一管理。可以把配置文件放在一个磁盘路径下,也可以放在git仓库中。当然还是放在git仓库中好代码:    在上一篇代码的基础上增加config-service工程pom.xml加入maven依赖 <dependency> ...

2018-06-13 20:26:58 387

原创 SpringCloud(十二)zuul网关 filter过滤器

前言: zuul网关还可以实现过滤器功能,比如进行安全控制等,网关进行统一拦截。网关的过滤有三个阶段,1.路由被请求前 2.路由被请求时 3.路由被请求后 4.处理请求发生错误时下面举一个简单的例子,路由请求前:代码实现: 在上一篇的基础上,加一个过滤器类package com.xhx.springcloud.filter;import com.alib...

2018-06-12 23:19:02 2819

原创 SpringCloud(十一)zuul网关 fallback

前言:   在学hystri时用到了fallback,当时在feignClient里面加的fallback,当请求微服务发生错误时,执行fallback,zuul集成了hystrix,也可以实现fallback,实现fallback时需要实现 FallbackProvider(springboot2.0)利用上篇的代码: 加一个下面的类就可以了,有注释:package com.xhx.spring...

2018-06-12 22:17:52 2000

原创 SpringCloud(十)zuul网关 路由url与service-id配置

在zuul中有两种路由配置:1. 通过访问ip及端口号映射2.通过服务名称映射 在上节代码基础上:首先我把服务提供者与服务消费者都开了集群: 先配置第一种:更改网关application.ymlserver: port: 8090eureka: client: service-url: default-zone: http:/...

2018-06-12 00:16:22 29252 2

原创 SpringCloud(九)zuul网关 路由与负载均衡

前言:        在前面的章节中,微服务架构中,每一个微服务都需要暴漏,不同的url,不同的端口,没有一个统一的入口,这样设计显然不合理,网关的一个功能就是实现一个统一的入口,所有请求经过网关,然后网关统一代理到各个微服务,并且能实现负载均衡的功能。代码:工程构造如下;工程的pom.xml文件:用的springboot2.0<?xml version="1.0" encoding="UT...

2018-06-11 19:11:32 6044

原创 java设计模式五之Builder建造者设计模式

前言:     Builder建造者设计模式,用来隐藏复合对象的创建过程,把复合对象的创建过程加以抽象,通过子类继承或者重载的方式,动态的创建具有复合属性的对象。     我感觉比较明显的一个优点是:把对象创建和业务代码分离,代码清晰易懂,便于代码的维护,不用把复杂的对象创建过程融合到业务逻辑代码中。怎么实现?   1.有一个复合的对象,称之为product,最终要创建的产品。   2.抽象建造者...

2018-06-10 13:30:42 208

原创 SpringCloud(八)hystrix Dashboard 单独微服务

前言:     我们需要监控每一个微服务,但是如果每个微服务都集成hystrix Dashboard,这样设计并不好,所以要把hystrix Dashboard单独分离成一个微服务。(前几次工程的代码都是基于以前的工程,这次工程完全重写)代码:    首先看一下工程的目录我把springcloud的maven直接放到最外面了,子module直接引用父类的pompom.xml<?xml ver...

2018-06-07 21:02:13 833

原创 SpringCloud(七)hystrix Dashboard

One of the main benefits of Hystrix is the set of metrics it gathers about each HystrixCommand. The Hystrix Dashboard displays the health of each circuit breaker in an efficient manner.

2018-06-06 23:43:51 356

原创 Springboot(一)监控与管理Actuator

前言:     Actuator是一个暴露自身信息的模块,主要实现对应用系统的监控与管理。主要有三大功能:应用配置类:获取应用程序中加载的应用配置、环境变量、自动化配置报告等与Spring Boot应用密切相关的配置类信息。度量指标类:获取应用程序运行过程中用于监控的度量指标,比如:内存信息、线程池信息、HTTP请求统计等。操作控制类:提供了对应用的关闭等操作类功能。加入maven包:  ...

2018-06-06 20:34:54 4773

原创 SpringCloud(六)hystrix熔断

前言: 在微服务架构中,为了高可用,单个微服务会开集群,服务与服务之间通过rpc调用时,由于网络原因或者程序问题,不可能保证每次调用都100%成功,单个服务出现问题,调用这个微服务就会出现线程阻塞,由于服务与服务之间具有依赖性,故障会传播,整个微服务系统有可能崩溃。Hystrix: 当调用微服务在一定时间段内失败率达到某个阈值时,会默认打开Hystrix,返回其设置的默认...

2018-06-06 14:27:54 568

原创 java设计模式七之原型设计模式

前言:  原型设计模式是指:用原来的对象,创建一个同类型的新对象实例。两个概念:   浅拷贝:非引用对象复制值,引用对象复制引用   深拷贝:复制非引用对象的值,非引用对象创建新实例,并且复制原来的值。实现:   实现Cloneable接口:在java虚拟机中,只有实现了此接口的类,才可以使用clone()方法,否则会抛出CloneNotSupportedException异常。      重写c...

2018-06-05 21:42:17 177

原创 SpringCloud(五)feign请求api

简介: feign是一个声明式的伪http客户端,默认集成ribbon,并与eureka结合,实现了负载均衡的功能。可替代restTemplate_+ribbon在上一篇的基础上,修改eureka-client引入maven包: <dependency> <groupId>org.springframewo...

2018-06-05 17:46:25 1751

原创 SpringCloud(四) ribbon负载均衡

在集群环境下,负载均衡很重要。下面演示客户端的负载均衡ribbon <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client...

2018-06-05 15:18:54 414

原创 java设计模式四之单例设计模式

前言:    单例设计模式是一种创建对象的模式,保证这个类只有一个实例对象为什么要使用单例?  1、减少对象内存占用  2、共享资源  3、减少对象创建时间,提高性能三种模式:饿汉式懒汉式双重验证代码:  饿汉式:package com.xhx.designpattern;import java.util.Objects;public class Person { private ...

2018-06-04 17:37:32 146

原创 java设计模式三之抽象工厂设计模式

前言:     抽象工厂设计模式是用来创建一个产品族的,简单工厂和工厂方法设计模式是用来创建一个具体产品的。怎么实现:     抽象工厂:工厂的父类,包含对多个产品的生明     具体工厂:抽象工厂的实现,负责创建产品族中的多个产品对象     实体父类:被创建对象的父类,负责描述所有实例的公共接口     具体实体:要被创建的具体的对象代码:  水果类父类:package com.xhx.des...

2018-06-04 13:51:51 206

原创 java设计模式二之工厂方法设计模式

前言:工厂方法模式也属于类的创建模式,也被称为多态工厂模式,它与简单工厂模式的不同是,工厂定义为抽象的,工厂的每个子类负责创建具体的实体类。这样的好处是,增加新的实体,只需要增加相应的工厂就可以了,不需要修改原工厂代码。怎么实现:1、需要实体类:要被创建的类2、被创建的类的共同父类:多态的体现,负责所有实例的公共接口,在工厂类中接受实体对象3、抽象工厂类:所有工厂类的父类4、工厂类:创建实体类,继...

2018-06-04 13:22:58 145

原创 java设计模式一之简单工厂设计模式

前言:简单工厂设计模式用来专门创建其他类的实例,这些类具有共同的特点。怎么设计:1、需要实体类:要被创建的类2、被创建的类的共同父类:多态的体现,负责所有实例的公共接口,在工厂类中接受实体对象3、工厂类:创建实体类代码:1、公共的父类,水果类package com.xhx.designpattern;public interface Fruit { /** * 水果 ...

2018-06-04 11:16:37 236

原创 SpringCloud(三) eureka集群

根据 SpringCloud(一) eureka服务注册与发现 ,再增加两个eureka serverEureka Server的高可用Eureka Server的设计一开始就考虑到了高可用的问题,在Eureka的服务治理设计中,所有节点即是服务提供方,也是服务消费方,服务注册也不列外。之前的有配置:eureka: client: register-with-e...

2018-06-01 09:50:32 366

springcloud jar包转war包 demo

eureka,zuul,springclod jar转 war 自己做的示例,放到tomcat中运行,博客地址 http://blog.csdn.net/u012326462/article/details/79055652

2018-01-14

JSP页面的基本结构——求圆面积周长预习报告

JSP页面的基本结构——求圆面积周长预习报告,哈哈哈哈,欢迎大家下载,预习报告。

2015-12-28

JSP页面的基本结构——求圆面积周长

实验报告jsp,求院的周长和面积

2015-12-28

空空如也

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

TA关注的人

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