2 I18N_R

尚未进行身份认证

暂无相关描述

等级
博文 150
排名 3w+

Java - HashMap的实现原理

最近面试中被问及Java中HashMap的原理,瞬间无言以对,因此痛定思痛觉得研究一番。一、Java中的hashCode和equals1、关于hashCodehashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,hashCode是用来在散列存储结构中确定对象的存储地址的 如果两个对象相同,就是适用于equals(java.lang.Object)方...

2019-05-10 09:22:02

Spring - IOC及AOP

IOC和AOP是Spring中的两个核心的概念,下面谈谈对这两个概念的理解。1.IOC(InverseofControl):控制反转,也可以称为依赖倒置。所谓依赖,从程序的角度看,就是比如A要调用B的方法,那么A就依赖于B,反正A要用到B,则A依赖于B。所谓倒置,你必须理解如果不倒置,会怎么着,因为A必须要有B,才可以调用B,如果不倒置,意思就是A主动获取B的实例...

2019-05-04 00:46:34

设计模式(五) - Bridge 桥接模式(结构型)

桥接模式桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。介绍意图:将抽象部分与实现部分分离,使它们都可以独立的变化。主要解决:在有多种可能会变化的情况下,用继...

2019-05-03 10:33:22

设计模式(四) - Facade 外观模式(结构型)

外观模式外观模式(FacadePattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。介绍意图:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更...

2019-05-03 00:48:53

设计模式(三) - Decorator 装饰器模式(结构型)

装饰器模式装饰器模式(DecoratorPattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。我们通过下面的实例来演示装饰器模式的用法。其中,我们将把一个形状装饰上不同的颜色,同时又不改变形状类。介绍意图...

2019-05-02 18:49:33

设计模式(二) - Flyweight 享元模式(结构型)

享元模式享元模式(FlyweightPattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。我们将通过创建5个对象来画出20个分布于不同位置的圆来演示这种模式。由于只有5种可用的颜色,所以color属性被...

2019-05-02 16:53:14

设计模式(一) - Composite 组合模式(结构型)

一、定义组合模式(CompositePattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。二、介绍意图:将对象组合成树形结构以表示”部分-整体”的层次结构。组合模式使得用...

2019-05-02 16:14:43

Java - 静态绑定与动态绑定讲解(向上转型的运行机制详解)

一:绑定把一个方法与其所在的类/对象关联起来叫做方法的绑定。绑定分为静态绑定(前期绑定)和动态绑定(后期绑定)。二:静态绑定静态绑定(前期绑定)是指:在程序运行前就已经知道方法是属于那个类的,在编译的时候就可以连接到类的中,定位到这个方法。在Java中,final、private、static修饰的方法以及构造函数都是静态绑定的,不需程序运行,不需具体的实例对象就可以知道这个方法...

2019-05-02 14:47:06

Java - 注解用法详解——@SuppressWarnings

一、前言 编码时我们总会发现如下变量未被使用的警告提示:上述代码编译通过且可以运行,但每行前面的“感叹号”就严重阻碍了我们判断该行是否设置的断点了。这时我们可以在方法前添加@SuppressWarnings("unused")去除这些“感叹号”。二、@SuppressWarings注解作用:用于抑制编译器产生警告信息。示例1——抑制单类型的警告:...

2019-04-27 19:53:27

JDBC - c3p0,dbcp与druid 三大连接池的区别

说到druid,这个是在开源中国开源项目中看到的,说是比较好的数据连接池。于是乎就看看。扯淡就到这。  下面就讲讲用的比较多的数据库连接池。(其实我最先接触的是dbcp这个) 1)DBCP  DBCP是一个依赖Jakartacommons-pool对象池机制的数据库连接池.DBCP可以直接的在应用程序中使用,Tomcat的数据源使用的就是DBCP。2)c3p0  c3p0是一...

2019-04-26 09:20:31

Javascript - clientWidth、offsetWidth、scrollWidth

一、clientWidth和clientHeigh、clientTop和clientLeft1,clientWidth的实际宽度clientWidth=width+左右padding2,clientHeigh的实际高度clientHeigh=height+上下padding3,clientTop的实际宽度clientTop=boder.top...

2019-04-25 17:57:46

JQuery - 监听事件

需求:inpt标签根据输入的内容动态地变化长度代码实现:$(function(){ vartextinputs=$("input[type='text']"); textinputs.unbind('keyup').bind('keyup',function(){ $(this)[0].style.width=$(this)[0].scrollWidth...

2019-04-25 14:57:29

Java面试 - return与finally到底谁先执行?

我们经常会使用try/catch/finally语句块。当然,return关键字使用也是很平常的事,但是不知道大家有没有注意个这样一个问题。当在try语句块里面使用return语句,在finally里面去修改return所要返回的内容会出现什么情况。首先,我们知道return是结束方法的标志,一旦方法执行到return语句就将返回不再往下执行。其次,我们也知道,finally里面的语句是无论方法怎...

2019-04-11 22:36:07

Java面试 - extends 和super 泛型限定符

请解释extends和super泛型限定符-上界不存下界不取extends上限通配符,用来限制类型的上限,只能传入本类和子类,add方法受阻,可以从一个数据类型里获取数据; super下限通配符,用来限制类型的下限,只能传入本类和父类,get方法受阻,可以把对象写入一个数据结构里;在java泛型中,?表示通配符,代表未知类型,<?extendsObject>表...

2019-03-16 19:19:55

算法 - 动态规划

通过金矿模型介绍动态规划        对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂,无异性,不让读者感到迷惑,引导读者去思考,所以如果你在阅读中发现有不通顺的地方,让你产生错误理解的地方,让你难得读懂的地方,请跟贴指出,谢谢...

2019-02-17 01:04:06

Java - Java实现对Mysql的图片存取操作

1.MySQL中的BLOB类型  Mysql中可以存储大文件数据,一般使用的BLOB对象。如图片,视频等等。  BLOB是一个二进制大对象,可以容纳可变数量的数据。因为是二进制对象,所以与编码方式无关。有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大长度不同。  四种字段类型保存的最大长度如下:  TINYBLOB-...

2018-12-19 17:12:21

MySQL - Begin Your Download mysql-connector-java-5.1.46.tar.gz

进入官网下载

2018-10-29 12:00:25

Teamviewer - Teamviewer被检测成商用,无法使用个人版怎么解决(不用修改Mac地址)

Teamviewer被检测成商用,无法使用个人版怎么解决(不用修改Mac地址)近期有许多用户的Teamviewer被检测成了商用,卸载重装后也无法使用个人版,这是因为Teamviewer把你的设备设置成商用了,解决方法可以修改Mac地址或者重装系统,但是这样太麻烦,操作不好有可能造成不可预料的后果,其实很简单,我们只要去Teamviewer官网去个人使用验证申诉一下就可以解决了。teamv...

2018-10-29 11:53:28

HTML - 跳转按钮

<script>functiontz(){window.location.href='目标网址';}</script><buttononclick="tz()">跳转</button> 

2018-10-29 11:45:56

HTML - 定时页面跳转

有2种方法可以实现html的定时页面跳转:1、通过metarefresh实现3秒后自动跳转到http://www.baidu.com页面。<html><head><metacharset="utf-8"><title>前端笔记</title>...

2018-10-29 11:41:32
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。