自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【JavaWeb】Spring和它的IOC

Spring学习了有一段时间了,在学校做的项目以及在京东实习期间也是用到了基于Spring的SpringBoot和SpringCloud。古人云:学而不思则罔。古人又云:温故而知新。所以有必要总结一下Spring的基本知识和核心原理,以便今后更好地使用。 [TOC]Spring的架构 最核心的Spring Core Container(即Spring容器),其他都是可选的。在Spring框架重的

2017-08-28 01:45:02 684

原创 【设计模式】单例模式

说到单例模式,大家或多或少都听说过,尤其是懒汉式和饿汉式,几乎每一个Java程序员都信口拈来,但是却不是每个人都能信手拈来,尤其是信手拈来一个线程安全的单例模式了。这篇文字旨在总结常见的单例设计模式,并总结一些常跳的坑。懒汉式版本一,初识懒汉式很多人提到懒汉式都会写下如下版本:public class Singleton01 { //我比较懒,先不创建实例 private stati

2017-08-26 03:42:33 394

原创 模拟死锁的产生

上一篇介绍死锁的博客提到了死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。那么今天,我准备自己写一个程序来模拟死锁的产生。 简单起见,我这里只设置两个资源a, b。假如有一个线程持有a而想去获取b,而另一个线程持有b而恰巧又想获取a,那理论上正好可以满足死锁产生的四个条件。public class MutiThr

2017-08-23 16:47:23 495

原创 HTTP及HTTPS协议

HTTP协议什么是HTTP定义: HTTP中文叫做超文本传输协议,它完成客户端到服务端等一系列运作流程。HTTP 协议规定,请求从客户端发出,最后服务端响应该请求并返回。HTTP协议的特点无状态HTTP是一种无状态协议。即HTTP协议不对请求和响应之间的通信状态进行保存。所以使用HTTP协议,每当有新的请求发送,就会有对应的新响应产生。这样做的好处是更快地处理大量事务,确保协议的可伸缩性。

2017-08-22 11:40:31 481

原创 死锁及其预防

什么是死锁死锁产生的条件死锁的预防什么是死锁定义: 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态,而这些永远在互相等待的进程称为死锁进程。死锁产生的条件死锁的出现必须同时满足以下四个条件,缺一不可。互斥:所谓互斥就是进程在某一时间内独占资源(更准确得说,对于某个资源访问有限制。若

2017-08-22 09:59:40 314

原创 序列化和反序列化BST

1 序列化:参考上一篇博客提到的前序遍历二叉树的方法,不难得出序列化BST的方法。其实就是通过前序遍历,将遍历到的节点依次存到字符串里面。2反序列化先将待反序列化的字符串内的元素按顺序存到队列内;将跟节点设为队列的头元素;遍历队列,找到大于根节点的元素,并以此为分界,分别递归调用队列的左区间和右区间;左区间返回的值作为跟节点的左孩子,右边返回的值作为根节点的右孩子。代码实现如下:publ

2017-08-17 17:52:44 306

原创 二叉树遍历几种常见方式

前序遍历递归版本public List<Integer> preorderTraversal(TreeNode root) { List<Integer> res = new LinkedList<Integer>(); preHelper(root,res); return res; }public void preHelper(TreeN

2017-08-16 23:00:39 611

原创 Redis小结

redis数据类型redis底层的数据结构包括简单动态字符串,双端链表,字典,压缩列表,整数集合等等。但是redis并没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统,这个系统包括:字符串对象(REDIS_STRING) 最常用,普通的key/value存储都可以归为此类,一个键最大能存储512MB。value 不仅可以是String,也可以是数字,或者序列化

2017-08-07 12:41:15 386

原创 数据库优化策略小结

数据类型的优化(1)MySQL数据类型整数类型: TinyInt,存储空间8, 字节长度1;SmallInt, 存储空间16, 字节长度2;MediumInt,存储空间24, 字节长度3;Int,存储空间32, 字节长度4;BigInt,存储空间64, 字节长度8;实数类型: Float:字节长度8,单精度浮点数;Double:字节长度16,双精度浮点数;Decimal:未打包的

2017-08-05 19:51:13 2804

原创 乐观锁与悲观锁的实现

数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。下面将分别阐述这两种“锁”的区别与实现。悲观锁一、概念悲观锁,顾名思义,它持有一种非常悲观的态度,假设任何事务对数据的操作都会发生并发冲突。因此,在整个数据处理过程中,将数据处于锁定状态。 悲观

2017-08-05 13:57:56 1400 2

原创 观察者模式

定义结构源代码抽象目标类具体目标类抽象观察者接口具体观察者类客户端观察者模式的另一种形式定义 观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。  观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对

2017-08-02 14:53:43 269

空空如也

空空如也

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

TA关注的人

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