自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

物是人非,结局始终不美

欢迎志同道合的朋友和我交流哦

  • 博客(9)
  • 资源 (5)
  • 收藏
  • 关注

原创 Java后端自顶向下方法——TCP编程与I/O模型

Java后端自顶向下方法——网络编程初步(TCP与HTTP编程)(一)简述这是讲Tomcat高级篇的前奏曲,因为网络编程是Tomcat高级篇的基础之一,同时是我们必须要掌握的一项基本技能。很多人不重视网络编程,因为感觉他离我们很遥远,认为做开发不需要去关注这些过于底层的东西。其实不然,了解网络编程,可以帮助我们更好的理解Tomcat乃至于其他的WEB服务器的原理。我们经常会看到类似这种层次图,其中Socket、TCP和部分IP的功能都是由操作系统提供的,不同的编程语言只是提供了对操作系统调用的简单的

2020-09-27 20:24:24 2643

原创 Java后端自顶向下方法——过滤器与回调函数

Java后端自顶向下方法——过滤器与回调函数什么是函数回调?回调是作为参数传递给另一个函数的函数,在父函数完成后执行。这么一说可能有点抽象,我们不如通过看看过滤器的原理来研究什么是函数回调。我们来看看Tomcat中是如何实现过滤器的:我们可以看到,这个ApplicationFilterChain就是我们的过滤器链对象,里面保存了我们的过滤器和Servlet,doFilter方法用来切换到下一个过滤器,等所有过滤器都使用过一遍之后,最终会调用Servlet。在这里我们可以思考一个问题,既然我们的App

2020-09-22 09:32:59 3997 3

原创 Redis高可用进阶之哨兵机制原理

Redis高可用进阶之哨兵机制原理(一)概述上篇文章我们主要说了Redis主从复制的内容,但Redis主从复制有一个缺点,当Master宕机以后,我们需要人工解决,比如使用slaveof no one。实际上主从复制并没有实现真正的高可用。高可用侧重备份机器, 利用集群中系统的冗余,当系统中某台机器发生损坏的时候,其他后备的机器可以迅速的接替它来启动服务。很显然,我们需要一个机制来对主从复制进行增强,使得其真正可以做到高可用,于是哨兵模式就应运而生了。Redis Sentinel(哨兵)是一个分布式架

2020-09-18 09:33:50 3210 1

原创 从JDBC看双亲委派模型与SPI

从JDBC看双亲委派模型与SPI(一)概述Java本身有一套资源管理服务JNDI(Java naming and directory interface,Java命名和目录接口),是放置在rt.jar中,由启动类加载器加载的,JDBC也在其中,我们就以我们最熟悉的JDBC为例,来看看为什么JDBC要打破双亲委派模型。我们都知道,我们在使用JDBC时需要自己下载数据库厂商提供的数据库连接驱动jar包,这个jar包实际上就是Driver接口的实现类,下面是Driver接口:public interfac

2020-09-16 20:23:38 3418 1

原创 Redis高可用初步之主从复制原理

Redis高可用之主从复制(一)什么是主从复制主从复制,是指将一台redis服务器的数据,复制到其他的redis服务器。前者称为主节点(master),后者称为从节点(slave)。数据的复制是单向的,只能由主节点到从节点。主节点负责写操作,从节点负责读操作。主从复制把数据复制多个副本部署到其他节点上,从而实现redis的高可用性,实现对数据的冗余备份,保证数据和服务的高度可靠性。简单来说...

2020-09-15 21:05:04 3188

原创 Java类加载机制由浅入深

Java类加载机制由浅入深(一)简述Java虚拟机把描述类的数据从.class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是Java虚拟机的类加载过程。类加载具体指将代码编译后生成的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区(具体实现为元空间)内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。所以我们可以认为,类的加载的最终产品是位于堆区中的Class对象,Class对象封装了

2020-09-14 19:55:06 3360

原创 Redis重要特性

Redis特性(一)简介Redis是一个开源(BSD许可)的内存数据结构存储,用作数据库、缓存和消息代理。它支持数据结构,如字符串,散列,列表,集合,带有范围查询的排序集,位图,超级日志,具有半径查询和流的地理空间索引。Redis具有内置复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel提供高可用性并使用Redis Cluster自动分区。Redis使用标准C编写实现,而且将所有数据加载到内存中,所以速度非常快。官方提供的数据表明,在一个普通的Linux机器上

2020-09-11 16:23:21 4576

原创 MySQL事务的四大特性及其实现方式

事务是MySQL区别于NoSQL的重要特征,是保证关系型数据库数据一致性的关键技术。事务可看作是对数据库操作的基本执行单元,可能包含一个或者多个SQL语句。这些语句在执行时,要么都执行,要么都不执行。MySQL事务包含四个特性:下面我们以InnoDB为例讲一下这四种特性及实现方式。事务的原子性就如原子操作一般,表示事务不可再分,其中的操作要么都做,要么都不做。如果事务中一个SQL语句执行失败,则已执行的语句也必须回滚,数据库退回到事务前的状态。事务的原子性表明事务就是一个整体,当事务无法成功执行的时候,需要

2020-09-08 12:04:47 12875

原创 MySQL总体架构简述

MySQL总体架构简述(一)简介为什么我们需要先学习MySQL的基础架构先呢?原因很简单,当我们需要了解一件事物的时候,我们只有站在宏观的层面,才能层层剥丝抽茧的去理解问题。我们学习MySQL的时候应该先从高纬度理解问题,最后看到里面有哪些组件,一层层的拆解,这样让我们对MySQL有更深入的理解。,我们先看MySQL总体的逻辑架构图,如下所示:观察图发现,MySQL主要可以分为两个个部分:Server层、存储引擎层。我们下面先大概看一下这两层的主要功能。从图中不难看出,不同的存储引擎共用一个Ser

2020-09-06 16:09:29 4690

苏州大学计算机组成题库.zip

通过计算机组成考试最简单的方法就是刷完这20套题库。如果考不过你找我,我替你考(开玩笑)。

2020-06-14

tensorflow分类应用(MNIST手写数字识别)

tensorflow分类应用(MNIST手写数字识别)的jupyter笔记

2019-05-02

Tensorflow多变量线性回归(房价预测)

Tensorflow多变量线性回归(房价预测) 。。

2019-04-22

tensorflow单变量线性回归(一次函数拟合)

tensorflow单变量线性回归(一次函数拟合)的jupyter笔记

2019-04-20

Tensorflow基础概念

Tensorflow基础概念的jupyter笔记。。

2019-04-20

空空如也

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

TA关注的人

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