自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CrankZ的博客

希望能用自己的技术使这个世界更加美好。

  • 博客(11)
  • 收藏
  • 关注

原创 MySQL存储引擎:MyISAM与InnoDB

常见命令查看数据库可配置的存储引擎类型MySQL>show engines; create table创建表时指定存储引擎MySQL> use schoolMySQL> create table class(id int ,cname varchar(20)) engine=InnoDB; #创建库,指定引擎InnoDBMySQL> show...

2018-11-28 23:14:30 599

原创 Cookie、Session、Token

HTTP无状态而Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。就是说假如你去网上购物,把喜欢的商品加到购物车中,因为HTTP是无状态的协议,一旦你的浏览器关闭,下次打开的时候,你上次购物车的商品都没了。这种体验肯定是很差的,所有需要一种机制解决这个问题...

2018-11-28 11:47:23 484

原创 8个排序算法

排序算法排序算法(Sorting algorithms)是什么? Wikipedia 如是说:In computer science, a sorting algorithm is an algorithm that puts elements of a list in a certain order.也就是说,排序算法,就是某种算法,将列表中的元素按照某种规则排序。常见的如数字大...

2018-11-22 18:30:44 524

原创 BeanFactory、 ApplicationContext、FactoryBean区别与联系

BeanFactory概述Spring 作为一种IoC容器最大的目的就是降低组件与组件之间的依赖关系。而BeanFactory作为整个Spring IoC容器的核心使用了一种统一的方法来装配所有的应用对象,通过Java的反射机制和依赖注入来实现这一装配过程,使受之管理的对象无需知道Spring的存在,同时也降低了组件间的依赖程度,同时受管对象的生命周期由BeanFactory来统一管理,开...

2018-11-21 16:53:25 1164

原创 从输入URL到显示页面的过程中发生了什么?

概览关于这个问题,我看过很多文章,每个人分析的方法与总结的步骤都不相同。我这里按照自己的理解把过程分为了十个部分。因为我主要学习后端,所以最后几步前端的内容略写了。一、URL解析二、DNS域名解析三、建立TCP连接四、发送HTTP请求五、访问重定向301/302(非必须)六、服务器处理请求七、返回响应结果八、断开TCP连接九、浏览器解析HTML十、浏览器渲染界面一...

2018-11-20 16:41:09 4271

原创 Redis淘汰机制+热点数据问题

为什么需要淘汰Redis是内存数据库,我们能时时刻刻能感受到Redis作者为更好地使用内存而费尽各种心思,例如最明显的是对于同一种数据结构在不同应用场景下提供了基于不同底层编码的实现(如压缩列表、跳跃表等)。Redis最常见的两种应用场景为缓存和持久存储,当Redis做缓存时,有一个Redis服务器,服务器物理内存大小为1G的,我们需要存在Redis中的数据量很小,这看起来似乎足够用很长时...

2018-11-18 23:11:00 7834 4

原创 Netty学习笔记(一):基础理论+核心组件

前置知识I/O模型用什么样的通道将数据发送给对方,BIO、NIO或者AIO,I/O模型在很大程度上决定了框架的性能阻塞I/O传统阻塞型I/O(BIO)可以用下图表示:特点每个请求都需要独立的线程完成数据read,业务处理,数据write的完整操作问题当并发数较大时,需要创建大量线程来处理连接,系统资源占用较大 连接建立后,如果当前线程暂时没有数据可读,则线程就阻...

2018-11-18 21:49:12 708

原创 Java多线程学习笔记:Callable、Future、FutureTask

概述创建线程的三种方式:继承Thread,重写run方法 实现Runnable接口,重新run方法 实现Callable接口,重写call方法前两种方式,一种是直接继承Thread,另外一种就是实现Runnable接口,这两种方式都是Java第一版就有的方法。 这两种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信...

2018-11-08 10:14:32 384

原创 Java多线程学习笔记:ReentrantLock,Condition,ReentrantReadWriteLock

ReentrantLockReentrantLock和synchronized关键字一样可以用来实现线程之间的同步互斥,但是在功能是比synchronized关键字更强大而且更灵活。ReentrantLock 整体结构如下图:常用接口分析构造器ReentrantLock()创建一个 ReentrantLock的实例。 ReentrantLock(boolean fai...

2018-11-07 11:48:31 383

原创 Java并发编程:CountDownLatch、CyclicBarrier和Semaphore

概述在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。CountDownLatch上图TA刚开始被阻塞,三个线程T1,T2,T3每次调用countDown()方法cnt就减1,等到cnt=0时,TA才开始执行。正如Java文档所描述的那...

2018-11-06 10:03:52 377

原创 Docker学习笔记(一):基础概念与核心原理

开发中遇到的问题场景1当你拥有一台新的电脑,你第一件事会做什么?一般都是去装一些常用软件,比如QQ、微信、网易云音乐、Chrome浏览器等等。当然作为开发者,还需要装一些环境,JDK,或者python等等。假如现在让你负责给学校机房100台电脑,都安装以上软件和环境。那你怎么办?一台一台的手工去装?NONO这时候你肯定想在一台电脑上把环境安装好,然后把这个系统打包,直接复制...

2018-11-05 11:24:12 413

空空如也

空空如也

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

TA关注的人

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