- 博客(10)
- 资源 (1)
- 收藏
- 关注
原创 springboot自动装备bean的理解与实现
spring组件轻量化,但配置重量级的特点促使了springboot的诞生。springboot开发几乎不需要什么配置,极大地提高了开发效率,这要得益于springboot强大的自动装配逻辑。玩转springboot,首先要搞明白它的自动装配的原理是什么,比较复杂,有大牛写的非常透彻,可以参考其博客:https://sylvanassun.github.io/2018/01/08/2018-01-08-spring_boot_auto_configure/https://www.cnblogs.com/
2020-11-26 00:48:10 602 1
原创 java并发之生产者消费者模式的应用
并发编程作为java语言体系中非常重要的模块,除了有许多概念性的东西需要搞明白之外,还需要多上手实操,才能有更深的体会,更熟练的代码编写。复习一下并发之常见的概念性名词:happens-before、as-if-serial。学习并发之前基础的概念性理论要明白一点,编译器和处理器为了更好的性能,常常会对程序员编写的代码指令进行指令重排序,也就是实际执行的代码顺序可能跟我们编写代码的顺序并不一致,这样就导致了如果没有一个原则语义来定义编译器和处理器的这种处理逻辑,程序员就崩溃了,因为他感觉自己再也无力去掌控
2020-05-14 12:16:17 255
原创 多态在模板设计模式中的应用
我们知道java面向对象的三大特性是封装继承和多态,前两种都好理解也知道怎么去实现,那么多态是什么?可能只是熟悉一个概念,不知道具体有什么好处,在哪里会用到。简单的说,多态的表现形式就是父类引用指向子类对象,Father father = new Zi(); 其灵活运用可以在模板设计模式中管中窥豹。比如有一个父类Car,其中有个run方法,我们分别用两个子类(Benz和大众Dz)实现它,并重写父类run方法,分别打印Benz run和Dz run , 新建一个Person类,注入父类Car为其成员变量,
2020-05-12 09:29:33 302
原创 java AQS CyclicBarrier的应用
CyclicBarrier 作为并发中的一个重要的AQS同步器,可以建立线程屏障来管理线程,可以实现某些特定的业务场景,这里举个例子:有一个大小为50000的随机数组,要用5个线程分别计算10000个元素的和,然后将计算结果进行合并,得出最后的结果。这个业务的实现就可以通过CyclicBarrier同步器来实现。具体实现代码如下:package com.gjn.threadpool.servic...
2020-05-08 10:09:19 190
原创 代理模式理解
使用代理的目的是要对被代理类的方法进行增强处理,项目中比较常见的实现如:使用AOP对某些业务方法进行动态增强,如统计请求耗时,记录日志,根据请求控制使用的数据源等;代码如下:/** * 静态代理 * StaticProxy代理类 * Created by gjn on 2020/4/25 */public class StaticProxy { Movie realMovi...
2020-04-25 12:56:43 101
原创 maven使用build resources标签和profiles标签指定打包资源和发布环境
项目开发中,开发环境和生产环境所用到的某些配置肯定是不同的,因此我们往往在项目中会使用两套资源配置,比如在resources目录下分别建立dev/jdbc.properties和pro/jdbc.properties,那么问题来了,怎么在打包发布的时候根据环境不同指定要打包哪个环境下的资源文件呢?这时就要用到maven下的build resources标签和profiles标签了,俩个标签相互配合来达到此目的。
2020-04-18 13:36:10 1704
原创 javaSE Comparable接口中的compareTo()方法
我们都知道,要对自建对象按照一定规则进行排序的话,要求自建对象实现Comparable接口,并重写compareTo() 方法,但compareTo() 方法的释义却不是那么容易搞清楚,下面举例进行阐述:声明一个Student类(成员变量id,name)实现Comparable接口,然后重写compareTo()方法,public class Student implements Compar...
2020-04-01 20:00:57 264
原创 #Ubuntu16.0.4 LTS 安装RabbitMQ
1.ubuntu下安装配置rabbitmq-server服务器环境:ubuntu16.0.4(向下兼容14.0.4)软件版本:RabbitMQ 3.7.5 、Erlang 20.1.7参考文档:http://www.rabbitmq.com/download.html(安装文档)http://www.rabbitmq.com/admin-guide.html(服务器配置)rabbitm...
2020-04-01 19:58:02 440
原创 springcloud demo入门篇(二)
springcloud demo入门篇(二)整合feign和hystrix组件上篇我们已经完成了对eureka组件的整合,这篇继续整合springcloud的另外两个重要组件——feign和hystrix。先来介绍下feign的基本概念:Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单,可以以Java接口注解的方式调用Http请求,而不用像Java中通过封装HT...
2020-04-01 19:54:39 144
原创 springcloud demo入门篇(持续更新中..)
springcloud demo入门篇(一)整合Eureka组件现在很多互联网公司已经摒弃了单体集群架构,逐渐转向分布式架构。所以springCloud不得不会,以下做个学习记录,供以后翻看。各种环境的版本如下:jdk1.8maven3.6.0springboot2.1.13.RELEASEspringcloudGreenwich.SR5e...
2020-04-01 19:49:36 313
alipay-sdk-java20160719220059.jar
2020-04-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人