自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蔡茂的博客

专注Java后端开发

  • 博客(18)
  • 收藏
  • 关注

原创 悲观锁与乐观锁

悲观锁与乐观锁乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号机制和 CAS 算法实现。 乐观锁适用于多读的应用类型,这样可...

2019-06-30 08:13:00 953

原创 常见的JVM相关问题

1. 内存模型以及分区,需要详细到每个区放什么。JVM 分为堆区和栈区,还有方法区,初始化的对象放在堆里面,引用放在栈里面,class 类信息常量池(static 常量和 static变量)等放在方法区方法区:主要是存储类信息,常量池(static 常量和 static 变量),编译后的代码(字节码)等数据堆:初始化的对象,成员变量 (那种非 static 的变量),所有的对象实例和数...

2019-06-29 16:47:51 1253

原创 个人理解面向对象

JavaSE学习——什么是面向对象和很多广义的面向对象说法对比而言,我这里首先采用的是一种比较狭义的理解 一方面是因为鄙人确实技术及理论水平有限,一方面也是为了让很多初学者更容易接受,从而由浅入深逐渐了解乃至于衍生出自己的理解面向对象可以说是一种思维方式,我这里以面向结构作引入并以生产汽车为实例进行介绍:面向过程的方式就为了保证汽车的质量,所以由大到小一系类的操作流程都需要自己严...

2019-06-27 20:20:37 837 2

原创 分布式篇——FastDFS

FastDFS

2019-06-27 12:48:25 1071

原创 全文检索篇——Lucene

全文检查篇——LuceneLucene核心原理图解收集数据、写入索引、用户输入关键字、对索引进行查询、返回查询结果.全文检索引擎就是一个搜索引擎,要进行搜索必须有一个数据源。在①处可以看到,我们的数据源可以来自下面四个地方:文件系统:我们的操作系统搜索是通过顺序搜索速度相当的慢,在这也可以通过全文检索来提高搜索速度;数据库:数据库对于文本字段的内容不能建立索引,在以后应用中也...

2019-06-26 13:18:41 882

原创 全文检索简介

全文检索从全文数据中进行检索就叫全文检索(全文搜索)。是基于文本的搜索。文本可分为:结构化数据:指具有“固定格式”或“有限长度”的数据,如数据库,元数据等;可以用二维表结构来逻辑表达实现的数据非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等;非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。包括所有格式的办公文档、文本...

2019-06-26 13:08:23 3169

原创 CORS解决跨越问题

解决跨越问题1、什么是跨域(域名)url: http://www.baidu.com/xxx.jspurl:协议://域名:port/uriurl:协议://域名:port定位服务器uri :定义资源跨域是指跨域名的访问,以下情况都属于跨域:跨域原因说明 示例 :域名不同 www.jd.com 与 www.taobao.com域名相同,...

2019-06-26 09:17:13 3883

原创 HashMap和Hashtable的区别

1、继承关系HashMap继承于Map接口的一个实现类AbstracMappublic class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable {public abstract class AbstractMap<K...

2019-06-20 21:05:43 807

原创 Spring Cloud中常见负载均衡实现技术

Spring Cloud中常见负载均衡实现技术RibbonFeignRibbon负载均衡Ribbon是Netflix发布的云中间层服务开源项目,主要功能是提供客户端负载均衡算法。Ribbon客户端组件提供一系列完善的配置项,如,连接超时,重试等。简单的说,Ribbon是一个客户端负载均衡器,我们可以在配置文件中列出load Balancer后面所有的机器,Ribbon会自动的帮助你基于...

2019-06-19 22:24:19 2002

原创 Spring Cloud Eureka注册中心

Spring Cloud Eureka注册中心由于Spring Cloud为服务治理做了一层抽象接口,所以在Spring Cloud应用中可以支持多种不同的服务治理框架,比如:Netflix Eureka、Consul、Zookeeper。在Spring Cloud服务治理抽象层的作用下,我们可以无缝地切换服务治理实现,并且不影响任何其他的服务注册、服务发现、服务调用等逻辑。Eureka是...

2019-06-19 21:43:53 815

原创 单例模式

单例模式单利模式应该能算得上各种设计模式中相对简单的一种设计思想,这一模式的目的是使得类的一个对象成为系统中的唯一实例。虽然简单,但是应用却是非常广泛的,比如现在比较主流的Spring框架默认采用的就是单利模式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。可以总结为:1、单例...

2019-06-19 14:03:20 820 1

原创 Spring Cloud Zuul路由网关

Spring Cloud Zuul路由网关Zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用。Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门,也要注册入Eureka.微服务架构体系中,通常一个业务系统会有很多的微服务,比如:Orde...

2019-06-18 09:06:08 948

原创 Spring Cloud Netflix Hystrix断路器

为什么需要Hystrix断路器在理想状态下,一个应用依赖的服务都是健康可用的,我们可以正常的处理所有的请求当某一个服务出现延迟时,所有的请求都阻塞在依赖的服务Dependency I当依赖I 阻塞时,大多数服务器的线程池就出现阻塞(BLOCK),影响整个线上服务的稳定性在复杂的分布式架构的应用程序有很多的依赖,都会不可避免地在某些时候失败。高并发的依赖失败时如果没有隔离措施,当前应用...

2019-06-18 09:00:25 956

原创 Spring Cloud

Spring Cloud概述Spring cloud是一个基于Spring Boot实现的服务治理工具包,在微服务架构中用于管理和协调服务。组成部分Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键...

2019-06-15 21:31:37 814

原创 单体架构(Monolith)与微服务架构(MicroService)

Monolith(单体应用)架构通常情况下,服务由多个模块所组成,各模块会根据自身所提供的功能不同具有一个明确的边界,在编译时,这些模块将被打包成为一个个jar包,并最终合并在一起形成一个war包(最终部署的时候只有一份war包,其他的以jar包的方式依赖)。接下来,我们需要将该war包上传到web容器中,解压war包,并重新启动服务器。这种将所有的代码及功能都包含在一个war包中的项目组织...

2019-06-15 19:48:01 5643

原创 浅谈Spring Boot

Spring BootSpring Boot的设计目的是用来简化Spring应用的初始搭建以及开发过程。使用springboot以后,搭建一个spring应用和开发变得很简单。该框架使用了特定的方式(继承starter,约定优先于配置)来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot并不是一个框架,从根本上将,它就是一些maven库的集合,maven或者gradl...

2019-06-14 14:06:37 1007

原创 HashMap排序

HashMap本身是不可以排序的,但其子类LinkedHashMap是有序的,所以我这里演示的是利用LinkedHashMap+List+Collections工具实现HashMap排序/** * HashMap排序 */ @Test public void testSortHashMap(){ //准备数据 HashMap<I...

2019-06-12 22:34:38 921

原创 关于百度人脸识别的一些方法和工具类

个人用到的方法package wltyx.nyybw.common.face;import com.baidu.aip.face.AipFace;import com.baidu.aip.face.FaceVerifyRequest;import com.baidu.aip.face.MatchRequest;import com.baidu.aip.util.Base64Util...

2019-06-03 09:55:15 2773

空空如也

空空如也

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

TA关注的人

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