自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 垃圾回收算法简述

JVM垃圾回收算法圾回收内存布局,就不得不去了解一下其垃圾回收算法.在了解算法之前,我们先想一下什么是垃圾?顾名思义我们用不到了,它的存在对于我们来说是多余的,没用的.那么在jvm中什么 对象是垃圾呢?在java中是通过引用来和对象进行关联的,也就是说如果要操作对象,必须通过引用来进行。那么如果一个对象不会再被引用,那么这个对象(垃圾)就需要被回收.如何去判断一个对象不再被引用?这里引入一种叫做"引用计数器"的算法,简单的就是一个对象被引用了,那么引用计数器就加1,反之就减1,当它的引用计

2020-06-02 13:19:38 505

原创 对象的创建简述

对象的创建#### 对象的创建方式使用new关键字创建对象Java java = new Java();使用Class类的newInstance方法(反射机制)Java java = (Java)Class.forName("Java类全限定名").newInstance();   Java java = Java.class.newInstance();使用Constructor类的newInstance方法(反射机制)java.lang.relect.Constru

2020-05-26 14:49:04 1093

原创 类的编译加载以及JVM内存布局

众所周知,在Java中类的编译以及加载等操作都是由JVM完成的.那么到底是什么样的一系列变化,使我们在代码中可以轻松的直接new出一个对象呢?

2020-05-19 13:04:57 175

原创 Spring之AOP学习

现在学习一下spring之aopAOP概念关键字含义aspect切面,关注点(我可以做哪个方面的事情)。PointCut切点,定义切面规则(我可以帮哪些人做事情)Joinpoint连接点,需要代理的具体方法(需要代理的具体的事情)Target Object被代理的对象(目标对象)Advice回调的通知 (在什么时间织入什么样的行为)我...

2020-01-14 15:38:48 228

原创 SpringMVC(视图解析器)

上一期我们模拟了前端控制器,接收访问,并解析请求连接,能直接定位到指定的controller中的方法中.这次我们看一下视图解析器SpringMVC用于处理视图最重要的两个接口是ViewResolver和View。ViewResolver的主要作用是把一个逻辑上的视图名称解析为一个真正的视图,SpringMVC中用于把View对象呈现给客户端的是View对象本身,而ViewResolver只是把...

2019-12-24 15:15:04 344

原创 SpringMVC架构模拟

这次来学习一下SpringMVC的源码.对于常见的项目架构模式,比如大名鼎鼎的SSM(SpringMVC,Spring,Mybatis)框架.SpringMVC ->web层(Controller层)Spring ->service层mybatis ->dao层从SpringMVC层面上讲,他的构成如下:Model ->数据View -&gt...

2019-12-17 15:39:17 157

原创 Java注解Annotation

快速深入了解Java注解Annotation用@interface来修饰的接口文件就是注解.他也可以拥有成员变量根据注解的参数个数可以分为以下几类标记注解单值注解完整注解注解按照使用方式又分为以下几种:JDK内置系统注解元注解自定义注解/--------------------------------------/打开java.lang.annotation包,可以...

2019-12-12 16:40:25 94

原创 SpringIOC自定义模拟

我们要自定义创建一个springIOC容器创建到使用的一个过程.一丶创建我们此次项目需要的文件夹包结构为 : com.spring.iocpro在上面的目录结构下创建一下文件夹annotationbeancontextcorefactoryutilpom文件中不需要引入spring的依赖,方便实体类的使用可以引入lombok依赖二丶创建一个测试类.package co...

2019-12-03 14:26:44 126

原创 SpringIOC源码解析3(一步一步走战略)

我们继续一步一步的研究pringIOC的步骤我们还是要写一个创建容器的方法来进入这个流程中public static void main(String[] args) { AnnotationConfigApplicationContext configApplicationContext=new AnnotationConfigApplicationContext("...

2019-11-26 16:12:28 90

原创 SpringIOC源码解析1(基于xml配置)

公司大神剖析了基于javabean方式容器初始化的底层源码,现在我们来剖析一下基于xml的底层源码xml入口package com.spring.ioc;import com.spring.ioc.bean.XmlBean;import org.springframework.context.support.ClassPathXmlApplicationContext;/** *...

2019-11-19 14:34:42 130

原创 SpringIOC源码解析2(基于AnnotationConfigApplicationContext)

IOC容器创建步骤创建容器bean的扫描容器初始化获取bean创建bean时序图创建容器我们写一个容器的创建代码,借此可以看IOC的执行流程 public static void main(String[] args) { AnnotationConfigApplicationContext configApplicationContext=new...

2019-11-19 10:14:25 241

原创 Spring IOC深度应用

上一节讲解了ioc对我们的帮助,可以帮助我们创建bean,并用来控制这个bean容器,下面我们说几种创建bean的方式.bean的创建方式基于xml的创建方式一丶创建基于xml的实体类package com.spring.ioc.bean;/** * @program: IOC * @description: 基于xml的创建bean的方式 * @author: ZhengZhe...

2019-11-12 16:34:33 91

原创 Spring IOC源码解析

众所周知,Spring有很多优点,这些优点也让Spring彻底的让大家记住,这次我们来了解IOC底层源码的实现什么是IOC?每次我们了解一个东西的时候,我们都需要去理解它的含义,那么IOC到底是什么呢?IOC(inversion of control):翻译过来就是 翻转控制,在java刚出来的时候创建对象,使用对象都是我们自己new出来,现在不同了,有人帮我们去创建并且帮我们管理,这种主...

2019-10-29 09:40:14 173

原创 dubbo实际项目应用

dubbo实际应用上一期,我们虽然搭建了dubbo项目,但是并没有利用其它的注册中心,我们直接使用的 N/A 本地地址.但是实际上我们需要使用的是一个可以为我们提供一个消费者与生产者之间,管理这些服务并分配服务的一个中间件.因此我们引入了zookeeper一丶配置注册中心添加依赖 <dependency> <groupId&gt...

2019-10-22 17:06:32 544

原创 用dubbo作分布式项目的构建

为什么选择分布式?传统项目越来越大,编译慢、启动慢、发布慢。代码越来越臃肿,开发人员越来越多,代码维护难度增加,牵一发动全身,只敢加不敢改。系统级别的重用性其实说到分布式,我们一般都是进行大型网站架构设计的时候选用的模式,随着业务拆分越来越小,存储系统越来越庞大,应用系统的整体复杂度呈指数级增加,部署维护越来越困难。由于所有应用要和所有数据库系统连接,在数万台服务器规模的网站中,这些连...

2019-10-08 10:54:32 149

原创 zookeeper安装

去官网下载你想要下载某一版本的tar包点击跳转官网下载或者直接在linus中输入一下命令wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gz找一个代理或者找一个第三方网站下载也行,国外网站打开可能有点慢上传解压在这里你可以选择你喜欢的上传方式将你下载好的tar包上...

2019-09-24 17:30:21 283

原创 装饰者模式

为什么我们要使用装饰者模式装饰者模式定义:动态地将责任附加到对象上.若要扩展功能,装饰者提供了比继承更有弹性的替代方案。上面也提到了装饰者比继承更有弹性,我们了解继承类具有父类的属性和方法或者重新定义、追加属性和方法.但是如果我们要想去加强业务逻辑或者行为时那就需要去修改原程序,要知道去修改原程序那可是一件艰苦的事情.在展示新闻的同时给读取出来的新闻的人气加一,同时把新闻标题加入到RSS...

2019-09-02 16:37:13 158

原创 观察者模式

如何去了解观察者模式当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。那么我们如何通俗的去理解这个模式呢?比如气象站发布天气,那么所有的小的气象站会去遵循聆听这个气象站的相关...

2019-08-27 17:14:48 77

原创 代理模式

统筹java,我们可以总结出来java一共大概有四种代理模式.那么什么叫做代理哪?定义:为其他对象提供一种代理以控制对这个对象的访问可能有一些人还是不太懂这是什么逻辑?我们可以进行大白话的分析:我们上班的目的是为了生活,赚钱养家,可是如果我们上班了,但是公司不给发工资那么会怎么样? 我们需要去讨要工资,但是我们对法律一般都是不太懂的,我们为了要工资这个时候我们需要去申请劳动仲裁,此时劳...

2019-08-20 17:16:52 105

原创 MySQL宏观结构以及MySQL规范书写

mysql架构体系下面我们看一下mysql的逻辑基本结构图最上层的服务并不是MySQL所独有的,大多数基于网络的客户端/服务器的工具或者服务都有类似的架构.比如连接处理/授权认证/安全等等.第二层架构是MySQL比较有意思的部分.大多数MySQL的核心服务功能都是在这一层,包括查询解析/分析/优化/缓存以及所有的内置函数(例如,日期,时间,数学和加密函数),所有跨存储引擎的功能都在这一层...

2019-08-06 17:38:28 201

原创 MVCC多版本控制

我们回顾一下之前所讲解的事务,那么mysql是如何解决事务的原子性和一致性呢?(加锁,保证事务执行时不被干扰,在一个原子单位内的操作,必须保证这个原子操作后的数据前后一致。)首先我们要明确一个事情,MVVC是什么,是为了解决什么?我们基本都清楚数据库的锁机制可以控制并发,为了保护安全对于读写操作一般都会加锁,就是读的时候不能写,写的时候不能读.这样虽然对于数据库的数据来说很安全,但是也从性能上...

2019-07-30 17:47:14 953

原创 事务和锁

事务的特性事务的ACID特性A(Atomicity)原子性事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理操作子集的可能性。C(Consistency)一致性事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规...

2019-07-23 14:43:19 164

原创 索引原理

索引简述:索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址,在数据十分庞大的时候,索引可以大大加快查询的速度,这是因为使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访问相应的数据。我们可以用大白话理解一下:假如我们一般习惯于使用模糊查询,那么如果在数据量千万级别甚至以上的基础下我们如果不进行优化,那么查询速度会大...

2019-07-15 17:46:36 950

原创 类的加载总结

类的加载定义:类的加载其实就是将.class文件加载到jvm虚拟机的内存中,在jvm中并不是一次性把所有的文件都加载到,二十一步一步的,按照是否需要进行加载.jvm启动时会通过不同的类加载器加载不同的类,而且同一个类也不可能由多个加载器来进行加载,正是由于这种分解加载策略,才能保证各个类在jvm中有条不紊的运行.我们下面放上一张图来标示一下jvm的大体分布:我们再简化一下上面的定义:J...

2019-07-09 14:31:09 137

原创 多态和策略模式

今天我们继续来讲解一下有关于多态和策略模式多态说到多态,我们都知道这是java的特性(继承,封装,多态,抽象)之一,但是我们对他了解多少呢?我们首先了解一下它的概念:相同类型的变量,调用同一个方法时呈现出多种不同的行为特征,主要是通过继承来实现,将子类对象直接赋给父类引用变量,这样在编译时引用变量类型是父类类型,而运行时类型是子类类型,导致运行时调用该引用变量的方法总会表现子类方法,而调用...

2019-07-01 14:18:58 1909

原创 对象拷贝与序列化

今天试图去了解一下java基础之对象拷贝与序列化对象拷贝对于对象拷贝大家可能有点陌生,这是什么东东?大家在日常开发中应该是用过的,但是却不知道还有这个好听的名词那我们怎么去理解这个名词呢?首先我们要清楚这个概念都包含什么引用拷贝浅拷贝深拷贝那么我们一点一点的去认识这几个概念~引用拷贝下面列出一些简单代码便于大家理解 //我们创建一个对象,此时的对象并没有实现任何接口...

2019-06-24 11:32:00 155

原创 面试最多的HashMap

前一段时间去面试,被面试官问到了很多关于HashMap的知识点,当时懵的一逼.回去之后仔细去网上看了一下资料.也是看的不怎么懂.还好最近公司大神进行了一次关于HashMap的技术分享,学到了很多东西!面试碰到的问题简单介绍一下HashMap?HashMap是如何进行数据的存取的?HashMap如何进行扩容的?HashMap的底层是什么结构?HashMap的底层为什么选用这种结构?...

2019-06-16 15:51:16 206 2

原创 Mysql常用查询语句以及函数(一)

排名首先列出一个例子:SELECT A.*,@rank :=@rank + 1 AS ranking FROM ( SELECT user_name, user_source FROM test ORDER BY source DESC ) A, (SELECT @rank := 0) B其中 rank名称任意重点是: (SELECT @rank := 0) B和 @rank :=@ra...

2019-06-10 12:08:51 520

空空如也

空空如也

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

TA关注的人

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