- 博客(45)
- 资源 (1)
- 收藏
- 关注
原创 Eureka服务注册与发现
上一篇代码中存在的问题,cloud-consumer-order80服务调用生产者cloud-provider-payment8001服务提供的接口时,接口的地址被硬编码在代码中,如果日后我们的cloud-provider-payment8001服务的ip地址变更了或者新增机器了,就需要手动修改代码,极其难以维护。@RestController@Slf4jpublic class OrderController{ // 接口地址被写死在代码中难以维护 public static
2020-05-29 16:44:33
413
原创 spring cloud版本选择与项目创建
SpringCloud、SpringBoot、SpringCloud Alibaba版本选择 官网地址https://spring.io/projects/spring-cloud,因为我们要学习的是SpringCloud项目,可以通过下图的菜单点击进入到这个地址。进入后的页面就是SpringCloud的项目概述页,找到下面这段话简单翻译一下,标题Release Trains:发布系列。Spring Cloud是一个伞形项目,由独立项目组成,原则上具有不同的发布节奏。为了管理...
2020-05-27 20:00:02
1089
原创 DefaultMQPushConsume消费者
DefaultMQPushConsumer,由系统控制拉取操作,即由rocket源码从Broker,将消息拉取到消费者本地。消费者收到消息后,rocket源码会自动调用传人的处理方法来处理消息。1.1创建DefaultMQPushConsume消费者对象// 指定组名DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("please_rename_unique_group_name");创建消费者对象的时候,一.
2020-05-12 19:25:56
4105
原创 Spring 注解 @Qualifier和@Primary 详细解析
1. 概述Spring框架中的@Qualifier注解和@primary注解,它解决了哪些问题,以及如何使用它。我们还将了解它与@Primary注解的不同之处。2. 痛点使用@Autowired注解是Spring依赖注入的绝好方法。但是有些场景下仅仅靠这个注解不足以让Spring知道到底要注入哪个bean。默认情况下,@Autowired按类型装配Spring Bean。如果容器中有多个相同类型的bean,则框架将抛出NoUniqueBeanDefinition...
2020-05-09 11:45:50
4141
转载 从JDK1.6至JDK1.7到JDK1.8—从PermGen到Metaspace
相信大家在处理线上问题的时候,一定遇到过让人头疼的OutOfMemoryError异常。当JVM虚拟机内存中没有足够分配内存,并且垃圾收集器也无法提供更多的内存时就会抛出。对于抛出这个异常信息,排查起来有时候也比较麻烦,是分配的内存空间过小、是内存中加载的数据量过大、还是类似集合中引用对象过多没有及时回收、或者是代码中出现了死循环等等情况。在这篇文章中,我们不讨论怎么避免上面说的这个异常或者虚拟机怎么调优,相应的博文网上也有很多,在这里就不啰嗦了;在这里只简单介绍一下,从JDK1.8之后,虚
2020-05-09 10:59:24
809
原创 java8 - Steam
StreamStream(流)是一个来自数据源的元素队列并支持聚合操作元素是特定类型的对象,形成一个队列。 Java中的Stream并不会存储元素,而是按需计算。 数据源流的来源。 可以是集合,数组,I/O channel, 产生器generator 等。 聚合操作类似SQL语句一样的操作, 比如filter, map, reduce, find, match, sorted等。...
2020-03-12 17:42:39
204
原创 lambda表达式
1. Lambda表达式1.1 Lambda使用场景 Lambda表达式是java8引入的新特性,直接点说,就是新的一种java语法,是每一个java程序猿必须掌握的技能。它的使用场景是,当我需要实现一个被@FunctionalInterface注解修饰的接口时,我们就可以使用Lambda表达式。比如我们需要一个实现了Runnable接口的类,或需要一个实现了Comparato...
2020-03-10 16:58:19
1754
原创 Spring源码深度解析-bean标签的解析及注册
文章目录1. bean标签的解析及注册1.1 解析Element获取BeanDefinition1.2 解析bean标签下的自定义标签1.3 注册BeanDefiniton1.3.1 通过beanName注册BeanDefinition1.3.2 通过别名注册BeanDefinition1.4 通知监听器解析注册完成的事件书接上文挖的坑,我们已经知道Spring读取配置文件后,会将我们的配置文件...
2019-10-30 18:57:32
312
原创 Spring源码深度解析-读取配置文件
目录1. 加载配置文件的入口XmlBeanFactory2. applicationContext.xml被封装成一个ClassPathResource类型的对象3. XmlBeanDefinitionReader读取ClassPathResource类型的对象1. 加载配置文件的入口XmlBeanFactory2. applicationContext.xml被封装成一个ClassPathR...
2019-10-28 19:34:56
704
原创 Spring源码深度解析-初始化bean
目录1、Spring初始化bean2、BeanFactory的初始化Bean2.1 BeanFactory接口和ApplicationContext接口2.2 BeanFactory的初始化Bean2.3 Spring的Aware接口2.4 BeanPostProcessor所有bean的后置处理器2.4 InitializingBean接口和init-method属性2.5 BeanPostPr...
2019-10-24 11:55:52
885
原创 Hystrix-快速开始
Hystrix-快速开始接口提供者编写Pom文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http:/...
2019-02-20 16:47:01
289
原创 Redis集群环境搭建-cluster模式
一、Redis的集群方式使用slaveof命令和哨兵模式,会产生中心化的问题,即客户端所有的写请求都由master节点处理,并且master节点只有一个,这个节点处理了写请求和复制数据到slave节点的功能,致使master节点很容易崩溃掉,最好的方式就是使用多个master节点来搭建集群。二、1、安装Redis$ wget http://download.redis.io/relea
2017-01-06 14:43:55
1065
转载 Redis的持久化(RDB&&AOF)
一 RDB && AOF 对比 1. Redis 提供了两种持久化方式,一种是RDB(Redis Database) , 另一种是 AOF(Append only file); 2. RDB,简单来说,就是按照一定规则,定时将Redis 内存中说有的数据生成数据库快照,然后存储到磁盘等介质上。 AOF,简单来说,就是将Redis
2016-10-21 16:01:48
395
转载 电商那些年,我摸爬打滚出的高并发架构实战精髓
一、关于高并发高并发是指在同一个时间点,有很多用户同时访问URL地址,比如:淘宝的双11、双12,就会产生高并发。又如贴吧的爆吧,就是恶意的高并发请求,也就是DDOS攻击,再屌丝点的说法就像玩LOL被ADC暴击了一样,那伤害你懂的。来源:SFLYQ的博客原文:http://blog.thankbabe.com/2016/09/14/high-concurrency-sche
2016-10-11 14:50:28
8024
原创 Redis 五大常用数据类型
Redis作为一个缓存数据库,里面存放的数据都是以键值对(Key-Value)的形式存储,通过Key而得到其对应的Value。Key的值比较简单,通常都是字符串的形式,而与其对应的Value的类型则比较丰富,最常见的Value类型是字符串(String)、哈希(Hash)、列表(List)、集合(Set)、有序集合(sorted set)五种。字符串(String)这种类型的value
2016-09-29 10:39:25
6196
原创 Redis 安装前的Linux环境准备
Redis的安装是比较简单的,但是很多不了解Redis的朋友总是想把它安装到Windows环境下,这样做是很不适合Redis在真实生产环境的使用情况。真实的生产环境是Linux系统,所以在平时学习时最好也使用Linux环境。这里就介绍一下使用VMware虚拟机软件安装Linux系统,以及安装Redis时需要使用的其他软件的安装。1、所需软件VMware虚拟机软件的下载,版本号是:VMwar
2016-09-13 16:09:16
4245
原创 springMVC、spring、mybatis整合测试
经过上一遍,咱们已经ssm框架已经整合完了,现在开始测试是否整合成功1、搭建测试环境使用MySQL数据库,新建wqh数据库,后新建表,创建表的sql如下CREATE TABLE `tmenu` ( `ID` varchar(36) NOT NULL, `ICONCLS` varchar(100) DEFAULT NULL, `SEQ` decimal(22,0) DEFAU
2015-12-31 15:50:43
2359
1
原创 配置pom.xml、spring.xml、spring-mvc.xml、spring-mybatis.xml、web.xml
上一篇新建了maven项目,现在对该项目进行相关的配置(1)修改pom.xml文件,引入jar包<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.or
2015-12-31 14:31:40
5329
原创 使用Eclipse Mars新建maven项目
使用Eclipse的Mars.1 Release (4.5.1) 版本新建maven管理的web工程。
2015-12-31 10:07:33
4469
转载 java Collection
在 Java2中,有一套设计优良的接口和类组成了Java集合框架Collection,使程序员操作成批的数据或对象元素极为方便。这些接口和类有很多对抽象数据类型操作的API,而这是我们常用的且在数据结构中熟知的。例如Map,Set,List等。并且Java用面向对象的设计对这些数据结构和算法进行了封装,这就极大的减化了程序员编程时的负担。程序员也可以以这个集合框架为基础,定义更高级别的数据抽象,比
2015-12-18 09:46:30
355
转载 Hibernate get和load区别
get和load方式是根据id取得一个记录下边详细说一下get和load的不同,因为有些时候为了对比也会把find加进来。 1.从返回结果上对比:load方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常get方法检索不到的话会返回null 2.从检索执行机制上对比: get方法和find方法都是直接从数
2015-12-10 20:09:50
334
原创 Android控件之ListView ChoickModel 单选、多选模式
1、ListView的单选多选模式本编实现了ListView的单选和多选框的模式,具体效果如下图2、代码简介布局文件activity_main.xml代码如下<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.an
2015-12-09 20:03:23
739
转载 Android之 ListActivity 的使用和在 ListView中添加图片文字
ListActivity简单的说就是ListView和Activity的结合,跟ListView和Activity组合实现的没有什么很大的差别,主要是比较方便。但在实现时,有几点要注意。 1、ListActivity可以不用setContentView(R.layout.main),它默认是LIstView占满屏。 2、如果想在屏幕中显示
2015-12-09 15:56:22
649
原创 Android控件之ListActivity
1、ListActivity简介ListActivity可以理解为ListView和Activity的结合,与前一篇的ListView和Activity组合实现的差别不大,主要是相对方便一些,但是有一下几点需要注意1、ListActivity可以不调用setContentView(R.layout.main),它默认是ListView占满全屏。2、如果想在屏幕中显示其他控件,如文本框和
2015-12-09 15:15:01
588
原创 Android控件之ListView基本属性配置
1、ListView介绍在Android开发中ListView组件是非常重要的一个组件,该组件在开发中得到了广泛的应用。本篇的实例效果如下图2、代码介绍列表的填充内容values文件arrays.xml如下 菲菲1 菲菲2 菲菲3 菲菲4 菲菲5 菲菲6
2015-12-08 11:18:53
613
原创 Android控件之GridView自定义
1、GridView自定义网格布局自定义网格布局就是要求,为网格的定义一个布局文件,然后使用这个布局文件去渲染网格。同时为GridView绑定点击事件。效果如下图2、代码介绍Activity所对应的布局文件activity_main.xml,里面只有一个GridView控件。代码如下<RelativeLayout xmlns:android="http://schemas.
2015-12-07 16:31:56
792
原创 Android控件之GridView初体验
1、GridView介绍GridView就是一个网格布局,他将我们的手机屏幕分成一个一个的单元格,然后在单元格内填充我们的内容。效果如下图2、相关代码GridView是一个需要在xml布局文件中声明的控件,经过上面的学习,除了各种Dialog不需要再xml布局文件中声明,其他的控件一般情况都需要在xml布局文件中声明。代码如下<RelativeLayout xmlns:an
2015-12-07 14:00:34
383
原创 Android控件之TimePicker、DatePicker
1、TimePicker、DatePicker简介在前两篇文章中,使用的是弹出框的形式用来,展示时间和日期,而TimePicker、DatePicker控件则是将时间和日期显示在布局上。效果如下2、代码这样的时间和日期控件就需要在xml布局文件中,编写这两个控件相关的布局代码,使用TimePicker、DatePicker标签。具体如下<LinearLayout xmlns
2015-12-05 16:31:49
480
原创 Android控件之DatePickerDialog
1、DatePickerDialog简介上一篇介绍了TimePickerDialog,用来显示一个设置时间的对话框。在实际开发中有时候还需要弹出用来设置日期的对话框,这个时候就需要使用DatePickerDialog对话框。具体效果如下。2、代码介绍下面的代码实现了,设置完日期后,将用户设置的日期显示到手机上的功能。同上一篇文章类似,首先新建一个DatePickerFrag
2015-12-05 08:55:47
980
原创 Android控件之TimePickerDialog
1、TimePickerDialog简介之前介绍了ProgressBarDialog、AlertDialog,现在介绍TimePickerDialog。该控件是用来显示一个时间对话框的。具体的效果如下图:2、代码介绍下面的代码实现了在设置完时间后,用户设置的时间在手机上显示出来的作用。首先新建了一个TimePickerFragment类,该类继承了DialogFra
2015-12-01 12:55:57
1009
原创 Android控件之AlertDialog-自定义对话框
1、自定义样式对话框经过前两篇博客,使用的对话框的样式都是Android给我们提供的,只能在对话框里面放一些简单的信息,自定义样式的对话框成功解决了这个问题。顾名思义,这种对话框可以让我们自己定义对话框的内容、样式等,效果如下2、xml代码<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/androi
2015-11-28 10:29:26
495
原创 Android控件之AlertDialog-单选、多选信息列表弹出框
1、AlertDialog的信息列表、单选、多选对话框简介上一遍简单介绍了一个信息提示框,下面一次介绍信息列表对话框、单选对话框、多选对话框,具体效果如下2、xml布局文件布局文件只是几个按钮,并且为其绑定了点击事件,点击按钮后弹出对话框<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/and
2015-11-28 10:13:39
12697
原创 Android控件之AlertDialog-信息提示框
1、AlertDialog控件简介该控件的作用是弹出一个对话框,对话框的内容可以是一个文本信息、选择列表、提示信息等等,并且该对话框的样式也可以自己定义。AlertDialog类继承自Dialog类,上一篇讲到的ProgressDialog也是Dialog类的一个子类。该控件的效果图如下:2、java代码AlertDialog同ProgressDialog类似不能够在xml布局
2015-11-27 14:59:40
742
原创 Android控件之ProgressDialog
1、ProgressDialog简介在上一篇文章中,我简单介绍了ProgressBar控件,该控件能在界面上显示进度条,但是却不能以弹出框的形式显示进度条,而ProgressDialog提供了这个功能。ProgressDialog以弹出框的形式显示了进度条。如下图布局:2、xml布局代码和java代码该进度条弹出框是使用ProgressDialog类设置的,故在xml布局文件中
2015-11-26 19:05:57
576
原创 Android控件之ProgressBar基本用法
1、ProgressBar控件简介ProgressBar类的继承关系java.lang.Objectandroid.view.Viewandroid.widget.ProgressBar在某些操作的进度中的可视指示器,为用户呈现操作的进度,它还有一个次要的进度条,用来显示中间进度,如在流媒体播放的缓冲区的进度。一个进度条的最经常使用的是,其进度不能确定的情况。例如常见的流媒
2015-11-25 20:09:28
818
原创 Android控件之AutoCompleteTextView
1、AutoCompleteTextView控件简介AutoCompleteTextView控件,顾名思义,该控件主要是用于根据输入的内容自动出现相关提示下拉列表,供用户选择,即自动补全功能。如下图:2、xml布局文件<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xm
2015-11-24 16:45:49
356
原创 Android控件之Spinner
1、Spinner控件简介Spinner控件提供一个快速的方法从一个组里面选择一个值。在默认状态下,Spinner显示第一个值。触摸Spinner可以显示一个下拉菜单,用户可以选择一个新值。Spinner控件每一次只能选择一个值,它的选项来自于与该控件绑定的适配器或android:entries属性。控件样式如下:2、xml布局文件如下<RelativeLayout x
2015-11-24 12:18:50
426
原创 Android控件之RatingBar
1、RatingBar控件知识点RatingBar是基于SeekBar和ProgressBar的扩展,用五角星形状显示来进行等级评定。使用RatingBar的默认大小时,用户可以触摸、拖动或者使用按键来设置评分。它有两种样式:小风格用ratingBarStyleSmall,大风格用ratingBarStyleIndicator,其中大风格只用于显示,不能适用于用户交互。2、xml布
2015-11-20 15:50:11
590
rocketMQ相关知识点记录.doc
2020-05-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人