winsky小站

Good Good Study, Day Day Up


  • 首页

  • 归档

  • 分类

  • 标签

  • 关于

  • 搜索

web开发中web容器的作用(如tomcat)

发表于 2018-03-08 | 分类于 web开发 |

servlet可以理解成服务器端处理数据的Java程序,那么谁来负责管理servlet呢?

这时候我们就要用到web容器。它帮助我们管理着servlet等,使我们只需要将重心专注于业务逻辑。

阅读全文 »

区块链与传统分布式数据库的区别

发表于 2018-03-07 | 分类于 区块链 |

在比特币系统中,使用区块链作为交易记账的账本,存储了比特币所有的交易信息。由于比特币的分布式特性,所以可以将区块链视为一个分布式的数据库。

但是与传统的分布式数据库而言,又具有一些差异,目前总结如下:

  1. 区块链技术中的每一个节点保存的区块链前缀部分都是完全相同的,仅区块链末端有所差异。
  2. 区块链具有数据不可篡改的特性。源于区块链本身的数据结构和共识机制。数据结构而言:区块链之间的区块都是通过Hash,Merkle Tree,SHA256,ECC等密码学证明连接在一起的。因此,当主链足够长时,若要对其中的一个区块的数据进增加,删除,修改等操作,就需要对被修改块之后的所有块全部重新进行密码学的证明。如果被篡改的区块处于主链靠前的位置,那么篡改数据的代价将远远高于篡改过后的获利。
  3. 区块链较传统分布式数据库而言具有数据公开性,以及可溯源性。原因在于,区块链中除了区块之间是有连续性外,区块链中的数据的每次修改等变更都是通过数字签名合法的记录在区块链上。也就是说,区块链中记录了数据从产生到消亡之间的每次修改,在比特币系统中,体现在比特币的产生到消费的全过程都是有迹可循。这样一来,就提供了数据的可溯源性,保证了过程的公开性,数据的透明性。
阅读全文 »

sleep和wait的区别

发表于 2018-03-01 | 分类于 Java , Java基础 |

多线程中会使用到两个延迟的函数,wait和sleep。

wait是Object类中的方法,而sleep是Thread类中的方法。

那,他们两者到底有什么区别呢??

阅读全文 »

Extreme Programming explained读书笔记

发表于 2018-03-01 | 分类于 读书笔记 |

极限编程(eXtreme Programming)是近几年才时兴起的开发模型,主要是针对中小型开发团队在开发时间要求紧、需求不稳定的中小项目(大多数软件项目都是这个情况)时使用。

极限编程打破了传统软件工程的框架,非常新巧。如:

  • 整个开发过程中文档很少,大量使用“卡片 (如CRC卡片)”来描述开发计划和内容
  • 没有真正意义上的软件功能规格说明书,取而代之的是一系列可测试的用例
  • 没有独立的设计和测试阶段,它们总是在迭代中增量反复进行
  • 设计:尽可能小和简单;一般没有代码复审(code review),大家共同拥有代码
  • 而它的最显著的一个外在特征是它常使用“成对开发”

极限编程XP的特点可以用“快、小、灵”来概括,极限编程和传统瀑布模型(自顶向下)的区别在于它使用迭代增量(设计->代码->测试->设计->代码…)的方式。

阅读全文 »

数据库面试知识点整理

发表于 2018-02-28 | 分类于 数据库 |
数据库范式 第一范式 列不可分 eg:【联系人】(姓名,性别,电话),一个联系人有家庭电话和公司电话,那么这种表结构设计就没有达到 1NF 第二范式 有主键,保证完全依赖 eg:订单明细表【OrderDetail】(OrderID,ProductID,UnitPrice,Discount,Quantity,ProductName),Discount(折扣),Quantity(数量)完全依赖(取决)于主键(OderID,ProductID),而 UnitPrice,ProductName 只依赖于 ProductID,不符合2NF 第三范式 无传递依赖(非主键列 A 依赖于非主键列 B, ...
阅读全文 »

重写、覆盖、重载、多态

发表于 2018-02-26 | 分类于 Java , 面向对象 |

在南京实习期间,封装了一个工具类库,其中大量使用了重载,公司的小伙伴竟然有人不知道重载和多态的区别。本文特地介绍重写、重载和多态三者的区别,一方面给需要的同学查阅,另一方面自己也留作记录。Java基础知识还是要了熟于心呀~

阅读全文 »

五种设计原则

发表于 2018-02-26 | 分类于 Java , 面向对象 |

面向对象设计五大原则”和良性依赖原则在应付变化方面的作用。本文重点介绍了这五种设计原则和良性依赖原则。

阅读全文 »

面向对象的三个基本特征

发表于 2018-02-26 | 分类于 Java , 面向对象 |

面向对象的三个基本特征是:封装、继承、多态。在很多面试场合也会频频问起,今天我们也来聊一聊这几个特征。

阅读全文 »

LinkedList源码阅读

发表于 2018-02-25 | 分类于 Java , 源码阅读 |

在日常的开发中,我们使用的比较多的可能是ArrayList,前面我们也进行了ArrayList源码阅读。ArrayList不能维护元素插入的顺序,当我们需要保持元素的插入顺序时,就需要使用LinkedList了。今天我们就来简单分析一下LinkedList的源码实现。

本文基于JDK1.8

阅读全文 »

Java中四种创建对象的方式

发表于 2018-02-25 | 分类于 Java , 面向对象 |
  • 调用new语句创建对象
  • 调用对象的clone()方法
  • 运用反射手段创建对象
  • 运用反序列化手段
阅读全文 »
1…91011…13
winsky

winsky

生命不息,折腾不止

124 日志
35 分类
82 标签
GitHub E-Mail
友情链接
  • winsky wiki
  • Jestom
© 2020 winsky
由 Hexo 强力驱动
|
主题 — NexT.Pisces
|
博客全站共235.3k字
人 次