自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (4)
  • 收藏
  • 关注

原创 通过@Profile注解 来根据环境来激活标识不同的Bean

@Profile标识在类上,那么只有当前环境匹配,整个配置类才会生效@Profile标识在Bean上 ,那么只有当前环境的Bean才会被激活没有标志为@Profile的bean 不管在什么环境都可以被激活激活切换环境的方法通过运行时jvm参数来切换 -Dspring.profiles.active=test | dev | prod通过代码的方式来激活AnnotationConfi...

2019-11-30 15:58:27 338

原创 @AutoWired自动装配

1. @AutoWired的使用@Servicepublic class MyService { @Autowired private MyDao myDao;}1.1 自动装配首先时按照类型进行装配,若在IOC容器中发现了多个相同类型的组件,那么就按 属性名称来进行装配@Configuration@ComponentScan(value = {"com.dgr.an...

2019-11-28 00:30:50 264

原创 通过@Value +@PropertySource来给组件赋值

public class Person { @Value("董") private String firstName; @Value("#{28-10}") private int age; @Value("${person.lastName}") private String lastName; public Person() { ...

2019-11-27 23:44:03 311

原创 Bean的初始化方法和销毁方法

1. bean的生命周期bean的创建、初始化、销毁方法。由容器管理Bean的生命周期,我们可以通过自己指定bean的初始化方法和bean的销毁方法@Configurationpublic class MainConfig { @Bean(initMethod = "init", destroyMethod = "destroy") public Car car() { ...

2019-11-27 23:20:36 308

原创 往IOC容器中添加组件的方式

1. 通过@CompentScan + @Controller | @Service | @Respository | @compent 组合的方式针对我们自己写的组件可以通过该方式来进行加载到容器中2. 通过@Bean注解来导入组件(适用于导入第三方组件的类)3. 通过@Import注解来导入组件 (导入组件的id为全类名路径)14. 通过实现FacotryBean接口来注册组件2适合...

2019-11-26 23:41:15 207

原创 @Import注解

导入第三方组件通过@Import来导入组件(导入组件的id为全类名路径)@Configuration@Import({Person.class})public class MainConfig {}通过@Import 的ImportSeletor类实现组件的导入 (导入组件的id为全类名路径)public class MyImportSelector implements Impo...

2019-11-26 23:25:21 129

原创 @Conditional进行条件判断

有两个组件,MyLog 和 MyAspect,Mylog 需要依赖 MyAspect创建MyCondition类,实现Condition接口public class MyCondition implements Condition { @Override public boolean matches(ConditionContext context, AnnotatedType...

2019-11-26 22:58:25 649

原创 @Lazy注解

主要针对单实例的bean在容器启动的时候,不创建对象,在第一次使用的时候才会创建该对象@Bean@Lazypublic Person person() { return new Person();}

2019-11-26 22:43:01 134

原创 @Scope注解

用于配置Bean的作用域对象。1. 在不指定@Scope的情况下,所有的bean都是单实例的bean,而且是饿汉加载(容器启动实例就创建好了)@Beanpublic Person person() { return new Person();}2. 指定@Scope为 prototype 表示为多实例的,而且还是懒汉模式加载(IOC容器启动的时候,并不会创建对象,而是 在第一次...

2019-11-26 22:40:29 94

原创 @CompentScan注解

在配置类上添加@CompentScan注解来进行包扫描@ComponentScan(basePackages = {"com.dgr.annotation.component_scan"})public class MainConfig {}1. 排除用法 excludeFilters(排除@Controller注解的,和TulingService的)@ComponentScan(ba...

2019-11-26 22:26:04 351

原创 JAVA注解

@Inherited@Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.CONSTRUCTOR, ElementType.METHOD})public @interface SafeVarargs {}使用此注解声明出来的自定义注解,在使用此自定义注解时,如果注解在类上面时,子类会自动继承此注解;@S...

2019-11-26 22:16:05 54

原创 哈夫曼树(最优二叉树)

给定N个权值作为N个叶子节点,构造一个二叉树,带权路径长度总和最小,这样二叉树称做哈夫曼树,又称做最优二叉树。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。哈夫曼编码数据通信中,需要将传输的文字转为二进制的字符串,为了使编码后字符串尽可能端,在不等长编码中,可以让使用频率高的字符用短码,频率低的字符使用长码。为了使不等长编码为前缀编码(要求一个字符的编码不能是另一个字符的编码的前缀...

2019-11-25 00:39:14 1764

原创 红黑树

红黑树:一种自平衡二叉查找树。红黑树和AVL树1类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。红黑树的性质节点是红色或黑色;根节点是黑色;每个红色节点的两个子节点都是黑色(从每个叶子到根的所有路径上不能有两个连续的红色节点);从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点红黑树的操作颜色变换:红 -> 黑, 黑 -&...

2019-11-17 20:09:06 69

原创 二叉查找树

二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。在对二叉查找树进行中序遍历,会得到一个关键字的有序数列。下图所示就是一个二叉查找树:二叉查找树的查找...

2019-11-17 11:25:57 144

原创 MongoDB的索引特性

mongoDB中collections中会有默认索引 _id索引,单键索引# 在name属性上添加索引db.student.createIndex({name:1})# 查看查询学生名为 学生1 的执行计划db.student.find({name:"学生1"}).explain(){ "queryPlanner" : { "planne...

2019-11-14 22:41:43 169

原创 MongoDB的聚合操作

MongoDB的聚合操作分为两种:pipeline聚合mapReduce聚合mapReduce聚合:通过自定义的聚合命令,实现聚合操作,自由度高,适合大数据量且复杂的聚合操作pipeline聚合使用MongoDB提供的聚合命令,速度快,只能运行在单机上,适合小数据量的实时聚合操作,且在资源的使用上有一定的限制:单个聚合操作耗费的内存不能超过20%;返回的结果集大小小于16M1. 语...

2019-11-14 21:37:26 327

原创 MongoDB中$type和null类型

MongoDB中的数据类型如下图:插入数据:db.user.insert([{name:"张三", sex: "man"}, {name:"李四", sex:null}, {name:"王五"}])查询sex为null的用户:db.user.find({sex:null}){ "_id" : ObjectId("5dcc1a794552bedf4414fe77"), "name" :...

2019-11-13 23:08:14 516

原创 二叉树的层次遍历

树的相关定义:结点:树里的元素 父子关系:节点之间相连的边 子树:结点大于1时,其余的结点分为互不相交的集合 度:子节点的数量 叶子:度为0的结点 孩子:结点的子树的根二叉树:一种特殊的数据结构,每个结点至多只有两个子树;二叉树的第N层至多有个结点,树至多有个结点。满二叉树:每个存在子结点的结点都有两个子结点完全二叉树:除了最后一层外,其他层的结点树达到最大...

2019-11-12 23:13:45 165

原创 初识MongoDB

MongoDB的体系结构1. NoSql的概念NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是 SQL ”,互联⽹的早期我们的数据 ⼤多以关系型数据库来存储的。其特点是规范的数据结构(预定义模式)、强⼀⾄性、表与表 之间通过外键进⾏关联,这些特征使我们对数据的管理更加清晰和严谨,但随着互联⽹的发展 数据成爆炸式的增⻓我们对数据库需要更好的灵活性和更快的速度。这就是NoS...

2019-11-11 22:50:46 226

原创 动态规划之简单背包问题

背景有三个物品,,它们的信息如下:物品物品1物品2物品3体积124价值61012现在有一个能够容量为5的背包,将上述三个物品任意放入背包中,要求放入背包的物品的总价值最大;思路将背包容量按照单位容量划分,依次计算放入物品时被背包中物品的总价值:背包容量12345物品166666物品26101...

2019-11-09 23:19:46 221

原创 Linux安装jdk

一、下载安装包选择适合自己系统的jdk版本或者使用wget命令下载:wget命令如下wget --user=orcale账号 --ask-password 下载链接我的orcale账号为295135885@qq.com,下载链接可以右键自己要下载的jdk文件,复制链接地址获得wget --user=295135885@qq.com --ask-password https://down...

2019-11-08 19:30:16 77

JVM指令手册.pdf

Java字节码文件反编译后,在对应的文件中可以查看到对应的JVM指令,本资源提供JVM指令对应的操作说明,查找每一个JVM指令是做什么操作的

2020-05-28

Nacos源码流程——服务注册与发现.png

Nacos服务注册与发现源码流程图, 通过流程图展示了服务注册到Nacos服务注册中心的整个源码过程,同时对Nacos代码中一些优秀的思想进行总结

2020-04-02

常用的内部排序相关代码.rar

常用的内部排序相关代码,对于相关步骤说明如果有不太理解的可以查看《疯狂JAVA:突破程序员基本功的16课第12章》

2019-09-10

排序算法.xmind

常用排序算法分类:主要分为内部排序和外部排序,这里内部排序又分为6大类

2019-09-10

空空如也

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

TA关注的人

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