自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 HTTPS原理超详解

为什么要https? 在网络传输中,处处存在着威胁。你发起的http请求很可能被解惑,而那些“坏人”们拿到你的http报文后,可以对其进行修改,再次发起请求,亦或是从报文中窃取一些私密信息。所以,如果在传输过程中保证安全性呢?Https(Http over ssl)就是为了解决传输安全性而诞生的...

2018-11-04 19:57:17

阅读数 89

评论数 1

原创 个人关于NIO的理解

一、同步、异步、阻塞、非阻塞的联系和区别 同步和异步是针对于应用程序和内核的交互而言的,阻塞和非阻塞是针对用户进程访问数据而言的。 同步:用户进程触发IO操作后,就一直等待或者轮询直到IO操作完成。 异步:用户进程触发IO操作后,就可以开始做自己的事,等到IO完成后会收到一个通知。 阻塞...

2018-07-29 11:04:14

阅读数 274

评论数 0

原创 mysql学习笔记

1、mysql索引的数据结构 mysql索引采用b+树作为其数据结构。我们知道与b+树常常来比较的有红黑树树和b-树。那为什么mysql不采用那几种树作为索引的数据结构呢?我们下面来分析一下。我们知道b树是非叶子节点也存储了数据,而b+树只有叶子结点存储了数据,且有一条链表将叶子结点全部串起来。...

2018-07-27 14:53:00

阅读数 38

评论数 0

原创 如何理解restfulAPI

    Representation State transfer:表征性状态转移,csdn上看到一个博客这么解释这句拗口的话,即用url定位资源,用http动词描述操作。我再补一句操作可能导致资源状态改变。谈到这个状态改变,我觉得就有必要谈一谈http动词及其幂等性和安全性。这个我将在5.1中阐...

2018-07-23 12:04:31

阅读数 395

评论数 0

原创 数据库的ACID特性

    A:atomictiy原子性     C:consistency 一致性     I  :Isolation 隔离性     D:durability 持久性     这个问题我想先简单介绍一下这四个特性再介绍一下如果没有这四个特性会产生数据库读取的哪些异常。     首先说下原子性,原子...

2018-07-23 11:03:02

阅读数 263

评论数 0

转载 java中锁的优化 -- JVM对synchronized的优化

java中锁的优化 -- JVM对synchronized的优化          1)锁消除      概念:JVM在JIT编译(即时编译)时,通过对运行上下文的扫描,去除掉那些不可能发生共享资源竞争的锁,从而节省了线程请求这些锁的时间。        举例:          StringBu...

2018-06-14 17:24:56

阅读数 78

评论数 0

转载 .synchronized与static synchronized 的区别

synchronized与static synchronized 的区别  1.synchronized与static synchronized 的区别      synchronized是对类的当前实例进行加锁,防止其他线程同时访问该类的该实例的所有synchronized块,注意这里是“类的当...

2018-06-13 21:56:11

阅读数 20

评论数 0

转载 理解ThreadLocal

ThreadLocal是什么早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其...

2018-06-13 21:55:25

阅读数 19

评论数 0

转载 消息队列的应用场景

个人认为消息队列的主要特点是异步处理,主要目的是减少请求响应时间和解耦。所以主要的使用场景就是将比较耗时而且不需要即时(同步)返回结果的操作作为消息放入消息队列。同时由于使用了消息队列,只要保证消息格式不变,消息的发送方和接收方并不需要彼此联系,也不需要受对方的影响,即解耦和。使用场景的话,举个例...

2018-06-13 16:38:51

阅读数 42

评论数 0

转载 Java String 为什么设计成final的

Java String 为什么设计成final的 很久以前的面试中就遇到过这个问题:Java String 为什么设计成final的?当时毫无思路,...

2018-03-15 19:52:01

阅读数 54

评论数 0

转载 唯一索引与主键索引的比较

唯一索引 唯一索引不允许两行具有相同的索引值。 如果现有数据中存在重复的键值,则大多数数据库都不允许将新创建的唯一索引与表一起保存。当新数据将使表中的键值重复时,数据库也拒绝接受此数据。例如,如果在 employee 表中的职员姓氏(lname) 列上创建了唯一索引,则所有职员不能同姓。 主...

2017-12-19 11:17:06

阅读数 82

评论数 0

转载 聚集索引与非聚集索引

聚集索引   一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。   聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组...

2017-12-19 10:10:15

阅读数 53

评论数 0

转载 ListenableFuture

ListenableFuture顾名思义就是可以监听的Future,它是对java原生Future的扩展增强。我们知道Future表示一个异步计算任务,当任务完成时可以得到计算结果。如果我们希望一旦计算完成就拿到结果展示给用户或者做另外的计算,就必须使用另一个线程不断的查询计算状态。这样做,代码复...

2017-12-14 10:56:30

阅读数 538

评论数 0

转载 Spring中bean的作用域

Spring中bean的作用域 Bean简介:     在Spring中,那些组成你应用程序的主体(backbone)及由Spring IoC容器所管理的对象,被称之为bean。 简单地讲,bean就是由Spring容器初始化、装配及管理的对象,除此之外,bean就与应用程序中的其...

2017-12-13 14:51:49

阅读数 78

评论数 0

转载 IO - 同步,异步,阻塞,非阻塞

当你发现自己最受欢迎的一篇blog其实大错特错时,这绝对不是一件让人愉悦的事。 《 IO - 同步,异步,阻塞,非阻塞 》是我在开始学习epoll和libevent的时候写的,主要的思路来自于文中的那篇link 。写完之后发现很多人都很喜欢,我还是非常开心的,也说明这个问题确实困扰了很多人。随着...

2017-12-01 09:45:36

阅读数 73

评论数 0

转载 mysql exists 和 in的效率比较

mysql exists 和 in的效率比较 这条语句适用于a表比b表大的情况 select * from ecs_goods a where cat_id in(select cat_id from ecs_category);   这条语句适用于b表比a表大的情况 s...

2017-11-24 17:13:41

阅读数 91

评论数 0

转载 设计模式-构建模式

设计模式之生成器模式   生成器模式 也称 构建模式,是一种比较常用的模式。 比如 Android 中大家熟悉的AlertDialog 就是使用的构建器模式。比如 咱们投简历就会知道 导出 会有格式的选择,如 html ,word格式 这个也可以用到生成器模式 使得编码更加的规范。 ...

2017-11-17 16:19:51

阅读数 73

评论数 0

转载 两个链表的公共第一个公共节点

1.寻找两个链表的第一个公共结//这道题可以有很多种思路, 我们按照, 有坏到好的顺序, 来依次介绍每种思路。  同时, 这种顺序,   也是我们面对这道题时,能想到的 由易到难的思路 第一种思路:蛮力法:  简单粗暴, 蛮力法。  假设有两个链表 L1 与 L2.  我们拿出 L1 的第一个结...

2017-11-09 09:44:15

阅读数 125

评论数 0

转载 双重检验锁与单例模式与volatitle

在网上看到过好多篇文章在说明双重检查锁在多个线程初始化一个单例类时到底为什么不行时在关键位置的描述模棱两可,今天我们就来看一下为什么不能用双重检查锁,问题到底出在了那里? 下面我们直接进入主题,为什么使用双重检查锁,原因是因为在多线程初始化一个单例类时我们要确保得到一个对象,又想...

2017-09-25 22:11:16

阅读数 518

评论数 0

转载 为什么在重写equals方法时都要重写hashCode

为什么在重写equals方法时都要重写hashCode方法呢: 首先equals与hashcode间的关系是这样的: 1、如果两个对象相同(即用equals比较返回true),那么它们的hashCode值一定要相同; 2、如果两个对象的hashCode相同,它们并不一定相同(即用equals...

2017-09-20 19:38:21

阅读数 180

评论数 0

转载 Java基础类型与包装类

Java基本类型与包装类 Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。  1、整数:包括int,short,byte,long ,初始值为0 2、浮点型:float,double ,初始值为0.0 3、字符:char ,初始...

2017-09-19 23:24:23

阅读数 180

评论数 0

转载 探秘Java中的String、StringBuilder以及StringBuffer

探秘Java中String、StringBuilder以及StringBuffer   相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问到的地方,今天就来和大家一起学习一下String、StringBuilder和StringBuffer这几个类,分析它们的异同...

2017-09-19 20:54:00

阅读数 322

评论数 0

转载 Java中对象存储位置

1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共...

2017-09-19 16:27:36

阅读数 309

评论数 0

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