自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

转载 Dubbo工作流程

一、dubbo整体架构其中Service 和 Config 层为 API,对应服务提供方来说是使用ServiceConfig来代表一个要发布的服务配置对象,对应服务消费方来说ReferenceConfig代表了一个要消费的服务的配置对象。可以直接初始化配置类,也可以通过 spring 解析配置生成配置类。proxy 服务代理层:扩展接口为 ProxyFactory,du...

2018-12-18 17:48:00 348

转载 spring bean的作用域和生命周期

一、spring bean的作用域  五种作用域:singleton、prototype、request、session、globalSession  request、session和global session三种作用域仅在基于web的应用中使用(不必关心你所采用的是什么web应用框架),只能用在基于web的Spring ApplicationContext环境。1.sin...

2018-12-13 16:48:00 119

转载 spring aop原理和实现

一、aop是什么1.AOP面向方面编程基于IoC,是对OOP的有益补充;2.AOP利用一种称为“横切”的技术,剖解开封装的对象内部,并将那些影响了 多个类的公共行为封装到一个可重用模块,并将其名为“Aspect”,即方面。所谓“方面”,简单地说,就是将那些与业务无关,却为业务模块所共同调用的 逻辑或责任封装起来,比如日志记录,便于减少系统的重复代码,降低模块间的耦合度,并有利于未...

2018-12-12 17:32:00 140

转载 静态代理、jdk动态代理、cglib动态代理

一、静态代理Subject:抽象主题角色,抽象主题类可以是抽象类,也可以是接口,是一个最普通的业务类型定义,无特殊要求。RealSubject:具体主题角色,也叫被委托角色、被代理角色。是业务逻辑的具体执行者。Proxy:代理主题角色,也叫委托类、代理类。它把所有抽象主题类定义的方法给具体主题角色实现,并且在具体主题角色处理完毕前后做预处理和善后工作。(最简单的比如打印日...

2018-12-11 16:48:00 133

转载 spring ioc原理

一、IOC是什么  1..IoC(Inversion of Control)是指容器控制程序对象之间的关系,而不是传统实现中,由程序代码直接操控。控制权由应用代码中转到了外部容器,控制权的转移是所谓反转。 对于Spring而言,就是由Spring来控制对象的生命周期和对象之间的关系;IoC还有另外一个名字——“依赖注入(Dependency Injection)”。从名字上理解,所谓...

2018-12-11 11:54:00 214

转载 spring 事务

一、spring事务的实现方式1.配置事务管理器<!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataS...

2018-12-10 16:59:00 115

转载 mysql 索引

一、索引的种类1.单列索引:一个索引只包含单个列,但一个表中可以有多个单列索引。 这里不要搞混淆了。  普通索引:MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值,纯粹为了查询数据更快一点。  唯一索引:索引列中的值必须是唯一的,但是允许为空值,  主键索引:是一种特殊的唯一索引,不允许有空值。2.组合索引:在表中的多个字段组合上创建的索引...

2018-12-07 14:23:00 122

转载 mysql 存储引擎

一、mysql的表格引擎  MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。MyISAM:默认的MySQL插件式存储引擎(5.5之前),它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。InnoDB:用于事务处理应用程序,具有众多特...

2018-12-06 17:06:00 132

转载 mysql 锁

锁的种类共享锁(S):允许一个事务去读一行,阻止其他事务获得相同数据集的排他锁。排他锁(X):允许获得排他锁的事务更新数据,阻止其他事务取得相同数据集的共享读锁和排他写锁。意向共享锁(IS):事务打算给数据行加行共享锁,事务在给一个数据行加共享锁前必须先取得该表的IS锁。意向排他锁(IX):事务打算给数据行加行排他锁,事务在给一个数据行加排他锁前必须先取得该表的IX锁...

2018-12-06 16:37:00 104

转载 mysql 事务、隔离级别

一、事务的四大特性(ACID)1.原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。2.一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。事务结束时,所有的内部数据结构(如B树索引或双向链表)都必须是正确的。A向B转账...

2018-12-05 17:56:00 110

转载 java 单例模式的几种写法

一、懒汉式public class Singleton{ private static Singleton instance = null; private Singleton(){} public static Singleton newInstance(){ if(null == instance){ ...

2018-12-04 18:45:00 96

转载 CountDownLatch、CyclicBarrier

CountDownLatch  CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。  主要方法public void await() throws InterruptedException {...

2018-12-04 17:50:00 100

转载 java ConcurrentHashMap和CopyOnWriteArrayList解决并发问题

ConcurrentHashMap一、hashtable、hashmap、ConcurrentHashMap1、线程不安全的HashMap  因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。2、效率低下的HashTable  HashTable容器使用synchronized来保证线...

2018-12-04 16:26:00 201

转载 java ThreadLocal理解和使用

一、ThreadLoal的理解  ThreadLoal 变量,它的基本原理是,同一个 ThreadLocal 所包含的对象(对ThreadLocal< String >而言即为 String 类型变量),在不同的 Thread 中有不同的副本(实际是不同的实例,后文会详细阐述)。  因为每个 Thread 内有自己的实例副本,且该副本只能由当前 Thread 使用。这...

2018-12-03 18:49:00 129

转载 java 并发线程池的理解和使用

一、为什么要用线程池  合理利用线程池能够带来三个好处。  第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。  第二:提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。  第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。  假设...

2018-12-03 17:50:00 105

转载 synchronized和lock的作用与对比

一、synchronized的作用synchronized是java中的一个关键字,用于线程同步。1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象;3. 修饰一个静态的方法,其作用的范围是整个静态方法,作用的对...

2018-11-30 17:22:00 225

转载 cas机制的原理和使用

一、什么是cas  CAS,compare and swap的缩写,中文翻译成比较并交换。  CAS 操作包含三个操作数 —— 内存位置(V)、预期原值(A)和新值(B)。 如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置值更新为新值 。否则,处理器不做任何操作。  从思想上来说,Synchronized属于悲观锁,悲观地认为程序中的并发情况严重,所以严防死守。CA...

2018-11-30 14:51:00 135

转载 volatile关键字解释和使用

一、java内存模型的相关概念:原子性、可见性与有序性原子性:  原子是世界上的最小单位,具有不可分割性。比如 a=0;(a非long和double类型) 这个操作是不可分割的,那么我们说这个操作时原子操作。再比如:a++; 这个操作实际是a = a + 1;是可分割的,所以他不是一个原子操作。非原子操作都会存在线程安全问题,需要我们使用同步技术(sychronized)来让它变...

2018-11-29 17:55:00 162

转载 hashmap详解

一.hashmap的数据结构    HashMap采取数组加链表的存储方式(哈希表)来实现。亦即数组(散列桶)中的每一个元素都是链表二.hashmap的构造函数  HashMap():构造一个具有默认初始容量 (16) 和默认加载因子 (0.75) 的空 HashMap。  HashMap(int initialCapacity):构造一个带指定初始容量和默认加载因子...

2018-11-29 14:12:00 121

转载 list、set、map的区别和联系

结构特点  List和Set是存储单列数据的集合,Map是存储键值对这样的双列数据的集合;  List中存储的数据是有顺序的,并且值允许重复;Map中存储的数据是无序的,它的键是不允许重复的,但是值是允许重复的;Set中存储的数据是无顺序的,并且不允许重复,但元素在集合中的位置是由元素的hashcode决定,即位置是固定的(Set集合是根据hashcode来进行数据存储的,所以位置是固定...

2018-11-28 15:46:00 118

转载 ==、equals()、hashcode()的关系和区别

==、equals()、hashcode()概念==:它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不试同一个对象。equals():它的作用也是判断两个对象是否相等。但它一般有两种使用情况:  情况1,类没有覆盖equals()方法。则通过equals()比较该类的两个对象时,等价于通过“==”比较这两个对象。 情况2,类覆盖了equals()方...

2018-11-28 11:43:00 138

转载 springboot:This application has no explicit mapping for /erro

springboot启动没有报错,但是访问的时候返回如上图的错误。看报错内容感觉是没有这个mapping对应的接口。但是确实写了。最终发现是因为springboot的启动类放的位置不对。启动类所在的package必需要包含Controller所在的package。简单来说放到最外层最安全。转载于:https://www.cnblogs.com/JavaZhangXu/p...

2018-10-30 18:52:00 2048

转载 @RestController和@Controller区别

1) 如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。2) 如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResol...

2018-10-30 18:37:00 93

转载 有关java反射的几个小方法的作用和区别

1.Class类中 getXXX()和getDeclaredXXX()的作用和区别: 前者获取某个类的所有公共(public)的字段(or方法or构造函数),包括父类。后者获取所有的字段(or方法or构造函数),即所有修饰符修饰的(public,private,protectd),但是并不包括父类的申明字段。 例:getFields()获得某个类的所有的公共(public...

2017-07-11 11:42:00 113

转载 lombok使用(给自己看的,只为不要忘记自己用过的技术)

如何使用?一、1)eclipse使用方法1. 从项目首页下载lombok.jar2. 双击lombok.jar, 将其安装到eclipse中(该项目需要jdk1.6+的环境) 2)idea使用方法 1.打开IDEA的Settings面板,并选择Plugins选项,然后点击 “Browse repositories..” 2.输入lombok;安装l...

2017-07-05 18:13:00 92

原创 第一次写Blog

大家好!本人小白一枚,这篇文档也是本人第一次写Blog,主要是写一些十一假期学习历程,新手上道,多多指教!         这个假期我主要学习了HTML和Java语言基本的一部分。         在HTML中,首先学会了基本概念,HTML是一种超文本标记语言,可进行嵌套,HTML使用标记标签来描述网页。其标签均为成对出现,有开头就有结尾,用尖括号表示,结尾标签只需在开头标签尖括号的内容的

2014-10-07 14:59:51 225

空空如也

空空如也

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

TA关注的人

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