自定义博客皮肤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)
  • 资源 (2)
  • 收藏
  • 关注

原创 Synchronized、Lock和Atomic性能测试

Synchronized、Lock和Atomic性能测试模拟8线程,其中4线程写操作,4线程读操作,分别测试无任何同步机制下(线程不安全)、Synchronized、Lock和Atomic原子类的循环N次计算的性能package concurrency;import java.util.Random;import java.util.concurrent.*;import java.u...

2020-01-07 23:58:39 239

原创 并发知识点1

多线程的优势与风险优势:速度快:同时处理多个任务,可充分利用处理器的资源提高系统吞吐率,响应更快。设计简化:复杂的任务可以分多个小任务执行完成,简化程序建模设计资源利用高:异步充分利用资源,使cpu可以在等待其他资源时(如等待io)处理其他的任务风险:安全性:多线程共享变量,可能会产生不相符的结果活跃性:某个操作由于等待其他资源无法进行下去,如死锁、饥饿等。性能:cpu频繁切...

2020-01-05 23:09:54 147

转载 Java设计模式7:适配器模式

简介将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构型模式和对象结构型模式两种,前者类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以应用相对较少些。。适配器模式的结构目标(Target)接口:当前系统业务所期待的接口,它可以是抽象类或接口。适配者(Adaptee)类:它是被访问和适配的现...

2020-01-05 18:59:42 160

原创 Java设计模式6:代理模式

简介给某对象提供一个代理以控制对该对象的访问。比如访问者不能直接引用目标对象,则使用代理模式可作为访问对象和目标对象之间的中介。代理模式的结构抽象主题(Subject)类:通过接口或抽象类声明真实主题和代理对象实现的业务方法。真实主题(Real Subject)类:实现了抽象主题中的具体业务,是代理对象所代表的真实对象,是最终要引用的对象。代理(Proxy)类:提供了与真实主题相同的接...

2020-01-05 16:04:32 105

原创 Java设计模式5:建造者模式

简介概念: 定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。如Executors就是利用工厂模式创建线程池。用户只需要知道具体工厂的名称就可得到所要的产品,无须知道产品的具体创建过程;在系统增加新的产品时只需要添加具体产品类和对应的具体工厂类,无须对原工厂进行任何修改,满足开闭原则;结构抽象工厂(Abstract Factory):提供了创建产品的接...

2020-01-05 03:17:14 96

原创 Java设计模式4:简单工厂模式 & 工厂模式 & 抽象工厂模式

简介概念: 定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。如Executors就是利用工厂模式创建线程池。用户只需要知道具体工厂的名称就可得到所要的产品,无须知道产品的具体创建过程;在系统增加新的产品时只需要添加具体产品类和对应的具体工厂类,无须对原工厂进行任何修改,满足开闭原则;模式的结构抽象工厂(Abstract Factory):提供了创建产...

2020-01-03 00:21:20 101

原创 java集合HashMap&LinkedHashMap&HashSet记录

基于jdk1.8HashMap如图,HashMap是一个key-value数据存储的集合,内部由线性结构数组+链表+红黑树实现—>源码详解知识总结:HashMap内部数组默认长度16(长度始终为2的倍数),负载因子loadFactor=0.75,扩容机制为2倍(为了更高高效通过元素hash值计算出下标:h & (n-1) )。在元素hash计算下标冲突时,采用链表的结构...

2019-11-15 00:26:31 135

原创 java 注解

元注解元注解主要用于描述注解类元注解描述@Target表示该注解用于什么地方。可能的ElementType参数包括:CONSTRUCTOR: 构造器的声明 FILELD:域声明(包括enum实例) LOCAL_VARIABLE:局部变量声明 METHOD:方法声明 PACKAGE:包声明 PARAMETER:参数声明 TYPE:类、接口(包括注解类型)或enum声明...

2019-10-11 23:03:14 116

原创 java I/O知识点

I/O 字节、字符流接口简介类说明File文件类,代表一个特定文件信息,或代表一个目录下的一组文件, 常用方法getName、length、canRead、canWrite、getPath、exists、list、mkdirs、delete等方法InputStream字节输入流接口,表示从不同数据源产生输入的类OutputStream字节输出流接口,表示数据...

2019-10-10 00:46:29 143

原创 java集合ArrayList&LinkedList总结

基于jdk1.8ArrayList如图,ArrayList内部由线性结构数组实现,内部实现数组的动态增长—>源码详解知识总结:ArrayList内部使用一个数组存储数据,使用一个size变量标记储存了多少个元素。数组初始化最小长度为10(为节约空间,ArrayList引入了空数组),支持最大元素为Integer.MAX_VALUE - 8,减8是因为部分JVM创建数组时额外需要...

2019-09-15 22:16:14 233

原创 GIT常用命令

配置用户$ git config --global user.name "yourname"$ git config --global user.email "youremail"生成SSH密钥对$ sh-keygen -t rsa -C "youremail@xx" #生成公钥和私钥GIT管理的本地结构Git管理文件的三种状态已修改modified已暂存staged...

2019-09-14 22:18:15 135

原创 通过反射实现依赖注入DI

依赖注入DI依赖注入简单来讲就就是对象在被创建的时候,所有依赖关系由一个调控系统管理和传递给他。也可以说,依赖被注入到对象中。Spring框架核心之一便是依赖注入,依赖注入主要实现是通过java反射,他是如何工作以及要得到的目的是什么,可以通过以下代码实战可以了解到。如果你像了解依赖注入的详细概念可以参考以下博客https://blog.csdn.net/sinat_21843047/arti...

2019-09-08 23:07:44 865

原创 java类型信息

Java运行时类型信息java运行时类型信息让我们可以在程序运行时发现和使用类型信息,主要分两种方式:传统的RTTI(Run-Time Type Information),假定我们在编译期已知道了所有类型反射机制,它允许我们在运行时发现和使用类型的信息反射机制:针对所有正确的java类,不管是本地已知的,还是从网络、数据库读入的类,我们可以通过类型信息+反射机制像普通类一样使用这些类,这...

2019-09-08 22:41:46 184

原创 String总结

String总结内部数据结构为不可变的char[]和一个hash值。不可变的类,每一个修改的String的方法都会创建一个全新的String对象。String重载的‘+’号,使String对象可以相+,内部实现使用StringBuilder对象。Switch对String的支持(java 8),本质是调用hashCode()和equals()方法保证;直接使用字面量(双引号)声明出的S...

2019-09-08 22:34:35 117

原创 Java设计模式3:原型模式

简介概念: 用原型的实例指定创建对象的种类,并通过拷贝这些原型创建新的对象,通俗的意思是复制一个一模一样的对象出来,其表现目的是保护最原始的那一份存档。隐藏复制过程。实现原型模式在java中实现要点是实现Cloneable接口,覆写Object的clone方法。// Cloneable标记接口public class Message implements Cloneable { ...

2019-09-01 23:44:35 107

原创 文件上传接口设计

1.问题描述18年初跳槽来到新公司,在开发中惊奇的发现公司项目中的文件上传功能竟然存在多个接口,他们为每个需要文件上传的业务实现了接口,仔细看了下这些上传文件代码,他们主要区别在于每个业务存储的文件类型、文件大小、是否要压缩需要限制或者是文件路径需要指定不同。这几个特性完全可以配置化定义规则(上家公司就是这么做的,配置化实现公用文件上传接口是一个正确的选择)。究其原因可能大家害怕更改之前的接口会...

2019-09-01 19:14:58 7334

原创 Java设计模式2:单例模式

简介定义:单例模式(Singleton)指一个类只有一个实例,且该类能自行创建这个实例。单例模式有的特点单例类只有一个实例对象;该单例对象必须由单例类自行创建;单例类对外提供一个访问该单例的全局访问点;单例模式作用在有些系统中,为了减少内存开支、保证数据内容的一致性,对某些类只创建一个惟一的访问点实例。在计算机系统中,如 Windows 的回收站、打印机的后台处理服务,在我们...

2019-09-01 14:12:20 161

原创 Java设计模式1:设计模式概论

设计模式是什么设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易地被他人理解、保证代码可靠性。毫无疑问,设计模式于己于人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石脉络,如同大厦的结构一样。学习设计模式的意义设计模式的本质是面向对象设计原则的实际运用,是对类的封装性...

2019-09-01 09:12:18 207 1

Spring Cloud Eureka + Spring Cloud Gateway + Spring Cloud Zipkin

Maven构建,Spring Cloud Eureka + Spring Cloud Gateway + Spring Cloud Zipkin案例,含有SpringCloud中文文档

2020-10-20

eureka+gateway+userService+zipkin

该案例共四个工程。由Maven构建,Spring Boot版本1.5.3,Spring Cloud版本为Dalston.RELEASE。包含了eureka-server工程,作为服务注册中心;zipkin-server作为链路追踪服务中心,负责存储链路数据;gateway-service作为服务网关工程,负责请求的转发,同时它也作为链路追踪客户端,负责产生数据,并上传给zipkin

2020-10-20

空空如也

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

TA关注的人

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