自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 html5 webwork

在Web开发的时候经常会遇到浏览器不响应事件进入假死状态,甚至弹出“脚本运行时间过长“的提示框,如果出现这种情况说明你的脚本已经失控了。 一个浏览器至少存在三个线程:js引擎线程(处理js)、GUI渲染线程(渲染页面)、浏览器事件触发线程(控制交互)。 1:JavaScript引擎是基于事件驱动单线程执行的,JS引擎一直等待着任务队列中任务的到来然后加以处理,浏览器无论再...

2019-05-28 19:52:31 999

原创 MySQL语法备忘

1、事务START TRANSACTION;......COMMIT;/ROLLBACK;2、关联表的更新UPDATE a,b SET a.updated_time = NOW() , a.b_id = b.idWHERE a.name = 'a1' AND b.name = 'b1'; 

2019-02-25 23:28:56 134

转载 mysql常见的hint

强制索引 FORCE INDEX SELECT * FROM TABLE1 FORCE INDEX (FIELD1) …以上的SQL语句只使用建立在FIELD1上的索引,而不使用其它字段上的索引。忽略索引 IGNORE INDEX SELECT * FROM TABLE1 IGNORE INDEX (FIELD1, FIELD2) …在上面的SQL语句中,TABLE1表中FIELD1和FI...

2019-02-19 17:17:14 419

转载 SmartGit授权文件

Windows: %APPDATA%/syntevo/SmartGit/OS X:    ~/Library/Preferences/SmartGit/Unix/Linux:  ~/.smartgit/and remove the file settings.xml例如windows:开始 运行 %APPDATA%/syntevo/SmartGit/  就会自动找到路径,删除settings.xm...

2018-05-29 11:22:21 852

转载 java 中的集合(十六) Properties源码分析

Properties继承自Hashtable。但主要不是用作普通散列表,因为散列表已经有了更好的替代(如HashMap)。Properties是对配置文件的映射,使用时一般不调用父类中过时的方法,而仅仅使用体现Properties特性的方法(如load方法等)。参考地址:http://wdhdmx.iteye.com/blog/1333310

2018-05-15 15:13:52 265

转载 MYSQL加锁处理分析

本文转自何登成博士的《MYSQL加锁处理分析》。  背景  MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/InnoDB的加锁问题,展开较为深入的分析与讨论,主要是介绍一种思路,运用此思路,拿到任何一条SQL语句,都能完整...

2018-05-15 11:00:25 329

转载 GBK,UTF-8,ISO8859-1,unicode,base64

1 . 概述先以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 cec4",Unicode编码为"4e2d 6587",UTF编码就是"e4b8ad e69687"。注意,这两个字没有iso8859-1编码,但可以用iso8859-1编码来"表示"。 2. 编码基本知识 最早的编码是iso8859-1,和ascii编码相似。但为了方便表示各种各样的语言,逐

2017-05-15 17:58:31 1321

原创 Eclipse打jar包

点击“File->Export”:选择“JAR file”,依次按提示操作即可。如需想让jar可执行,需设置Main class。mac系统下如图:配置完成后manifest.mf文件定义如下所示(也可手动配置,效果一样):Manifest-Version: 1.0Main-Class: util.PropertiesUtil

2017-04-26 17:50:05 318

原创 没有配置localhost的后果

问题描述:mac系统,使用SwitchHosts的过程中,不慎将hosts文件清空。Eclipse加Tomcat启动项目时,报错了(也不会一定报错,与当时环境有关)。Invalid memory access of location 0x14 rip=0x######## 最终添加以下配置解决问题:127.0.0.1 localhost255.255.255.255 br

2017-04-17 11:01:21 466

转载 java 中的集合(十五) Hashtable源码分析

Hashtable也是基于哈希表实现的,每个元素是一个key-value对,其内部也是通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。Hashtable也是JDK1.0引入的类,是线程安全的(相对而言)。Hashtable实现了Serializable接口,它支持序列化,实现了Cloneable接口,能被克隆。来看看代码:package java.util;

2017-04-12 23:36:32 290

转载 java 中的集合(十四) TreeMap源码分析

TreeMap本质上是红黑树(红黑树参考:链接,该文就是用TreeMap举例来说明红黑树操作的),并没有继承HashMap,和HashMap存在着本质区别。TreeMap的排序是基于对key的排序实现的,它的每一个Entry代表红黑树的一个节点。Entry的数据结构如下: static final class Entry implements Map.Entry {

2017-04-12 22:40:38 306

转载 java 中的集合(十三) LinkedHashMap源码分析

LinkedHashMap是HashMap的子类,与HashMap有着同样的存储结构,但它加入了一个双向链表的头结点,将所有put到LinkedHashmap的节点一一串成了一个双向循环链表,因此它保留了节点插入的顺序,可以使节点的输出顺序与输入顺序相同。LinkedHashMap可以用来实现LRU算法(这会在下面的源码中进行分析)。LinkedHashMap同样是非线程安全的,只在单线程

2017-04-12 21:27:36 303

转载 java 中的集合(十二) HashMap源码分析

HashMap是基于哈希表实现的,每一个元素是一个key-value对,另外哈希冲突时通过单链表解决冲突问题,容量不足(超过了阀值)时,会自动增长。(哈希表参考:链接)HashMap是非线程安全的,用于单线程环境,多线程环境下可以采用concurrent并发包下的concurrentHashMap(当然也可以用其它方法,保证线程安全即可)。HashMap 实现了Serializable接口

2017-04-12 15:32:28 224

转载 java 中的集合(十一) TreeSet源码分析

TreeSet实现了Set接口,由按照规则排序的键值对(实际上是一个TreeMap实例,TreeMap参考:链接)支持。相比HashSet,TreeSet在任何时刻都会保证所有元素按照规则排序。TreeSet默认情况不允许使用null元素,除非自己设置比较器(TreeMap的key同理)。TreeSet没有继承HashSet,两者都本质区别(同样的,TreeMap与HashMap也不一样)。T

2017-04-10 11:21:46 396

转载 java 中的集合(十) LinkedHashSet源码分析

LinkedHashSet实现了Set接口,由记录顺序的哈希表(实际上是一个LinkedHashMap实例,LinkedHashMap参考:链接)支持。相比HashSet,它记录了set的顺序。LinkedHashSet也允许使用null元素(很显然,LinkedHashMap也允许使用空值key)。LinkedHashSet继承于HashSet(同样的,LinkedHashMap继承于Has

2017-04-10 11:21:21 235

转载 java 中的集合(九) HashSet源码分析

HashSet实现了Set接口,由哈希表(实际上是一个HashMap实例,HashMap参考:链接)支持。它不保证set的迭代顺序,特别是它不保证该顺序恒久不变,但可保证包含的元素不会重复。HashSet允许使用null元素(很显然,HashMap也允许使用null元素)。package java.util;public class HashSet extends Abstra

2017-04-10 11:20:34 224

原创 java 中的集合(八) Set&&Map相关

先来回顾一下集合类的关系图(来源于:http://blog.csdn.net/ns_code/article/details/35564663):下文为提纲挈领的内容,欲知详情,请看本系列后面的文章。HashSet & LinkedHashSet & TreeSet1.HashSet,LinkedHashSet,TreeSet都不是线程安全的。2.HashSet

2017-04-10 11:19:45 232

转载 java 中的集合(七) Stack源码分析

Stack表示的是栈。它的特性是:先进后出(FILO, First In Last Out)。java中的Stack是继承于Vector的(Vector参考:链接)。由于Vector是通过数组实现的,这就意味着,Stack也是通过数组实现的。当然,Vector存在的问题,Stack也会有。Stack的功能,可以用LinkedList来替代(LinkedList参考:链接)。来看看代码:

2017-04-06 14:13:27 245

转载 java 中的集合(六) BitSet源码分析

首先需要说明的是,BitSet并不属于集合框架,没有实现Collection或Map接口。但因为其与List有一定类似性,所以这里一并列拿出来研究。BitSet类实现了一个按需增长的位向量。每个位都有一个boolean值,用非负的整数将BitSet的位编入索引。可以对每个编入索引的位进行查找、设置或者清除。默认情况下,所有位的初始值都是false。BitSet非线程安全,在单线程情况下使用。

2017-04-06 14:12:57 765

转载 java 中的集合(五) LinkedList源码分析

LinkedList是基于双向循环链表实现的,除了可以当做链表来操作外,它还可以当做栈、队列和双端队列来使用(若作为栈使用,最好自己再封装下,只允许栈的操作,这样更清晰)。LinkedList是非线程安全的,在单线程下适合使用。LinkedList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了Cloneable接口,能被克隆,不支持RandomAccess

2017-04-06 14:12:18 231

转载 java 中的集合(四) Vector源码分析

Vector是基于数组实现的,是一个动态数组,其容量能自动增长。Vector很多实现方法都加入了同步语句,因此是线程安全的,可以用于多线程环境(其实也只是相对安全,有些时候还是要加入同步语句来保证线程的安全)。Vector实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了RandomAccess接口,支持快速随机访问,实际上就是通过下标序号进行快速访问,实现了

2017-04-06 14:11:49 322

转载 java 中的集合(三) ArrayList源码分析

ArrayList是基于数组实现的,相当于一个动态数组,其容量能自动增长。ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用concurrent包下的CopyOnWriteArrayList类(当然也可以用其它方法,保证线程安全即可)。ArrayList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了RandomAccess接口,

2017-04-06 14:11:01 196

原创 java 中的集合(二) List相关

先来回顾一下集合类的关系图(来源于:http://blog.csdn.net/ns_code/article/details/35564663):下文为关于List提纲挈领的内容,欲知详情,还是要看本系列后面的文章。Vector & ArrayList 1.Vector的方法都是是线程安全的(相对而言),而ArrayList的方法不是。由于线程的同步必然要影响性能,

2017-04-06 14:08:41 260

转载 java常见异常

违例表达的是一种“异常”情况(所以现在通常就称之为异常)。在问题发生的时候,我们可能不知具体该如何解决,但肯定知道已不能不顾一切地继续下去。此时,必须坚决地停下来,并由某人、某地指出发生了什么事情,以及该采取何种对策。但为了真正解决问题,当地可能并没有足够多的信息。因此,我们需要将其移交给更级的负责人,令其作出正确的决定(类似一个命令链)。违例机制的另一项好处就是能够简化错误控制代码。我们再也

2017-03-24 17:57:07 551

原创 java 中的集合(一) 概述

java集合工具包位于java.util包下,包含了很多常用的数据结构,如数组、链表、栈、队列、集合、哈希表等。Java集合框架下大致可以分为如下五个部分:List列表、Set集合、Map映射、迭代器(Iterator、Enumeration)、工具类(Arrays、Collections)。需要强调的是,集合类容纳的是对象,不是基本类型,也不是变量(或者说引用),不能直接对某个成员赋值。

2017-03-22 16:38:13 226

原创 xml转义字符

XML实体中不允许出现一些特殊字符,否则XML语法检查时将出错。具体如下:<     >     >    大于号 &    &    和 &apos;   '    单引号 "   "    双引号注意: 1.只有"2.转义序列各字符间不能有空格。

2017-01-12 15:12:30 549

原创 idea显示行号

打开全局配置(mac下为Intellij IDEA->Preferences)->Editor->General->Appearance->show line numbers

2017-01-04 09:59:07 342

转载 人头时钟

<embed wmode="transparent" src="http://chabudai.sakura.ne.jp/blogparts/honehoneclock/honehone_clock_wh.swf" quality="high" bgcolor="#ffffff" name="honehoneclock" allowscriptaccess="always" type="appli

2016-12-12 14:40:30 252

转载 设计模式(四) 行为型模式

11种行为型模式包括:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。先来张图,看看这11中模式的关系:第一类:通过父类与子类的关系进行实现。第二类:两个类之间。第三类:类的状态。第四类:通过中间类13、策略模式(strategy)策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算

2016-12-09 15:54:51 409

原创 Eclipse 反编译

1.反编译工具,直接在线安装打开Eclipse,Help->Eclipse MarketPlace  搜索Decompiler   傻瓜式安装即可。2.jdk源码准备好src.zip(Windows系统安装时已自带,Mac需要想办法下载一个,当然也可直接从Windows系统直接拷贝一个)这里不再说明如何下载,因为拷贝是最方便的方法。打开Eclipse,Windo

2016-12-08 16:10:10 499

转载 Eclipse清除workspace历史记录

为了并行开发多个需求,往往需要在多个代码环境下使用Eclipse。使用时间一长,发现一个问题:使用过的workspace都留在记录里面,有些已经不需要了。方案一:Window -&gt; Preferences -&gt; General -&gt; Startup and Shuodown -&gt; Prompt for workspace  on startup展开之后把不需要多...

2016-11-29 10:44:59 3794

转载 设计模式(三) 结构型模式

7种结构型模式包括:适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式。其中对象的适配器模式是各种模式的起源,我们看下面的图:6、适配器模式(Adapter) 适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。首先,我们来看看类的适配器模式,先看

2016-11-23 10:31:19 395

转载 设计模式(二) 创建型模式

1、工厂方法模式(Factory Method)工厂方法模式分为三种:普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。首先看下关系图:举例如下:(我们举一个发送邮件和短信的例子)首先,创建二者的共同接口: public interface Sender { public void Send(); }

2016-11-15 10:31:46 337

转载 设计模式(一) 概述

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每

2016-11-10 17:26:16 303

转载 uml(十一) 部署图

部署图是用来显示系统中软件和硬件的物理架构。从部署图中,可以了解到软件和硬件组件之间的物理关系以及处理节点的组件分布情况。使用部署图可以显示运行时系统的结构,同时还传达构成应用程序的硬件和软件元素的配置和部署方式。部署图描述了一个运行时的硬件结点,以及在这些结点上运行的软件构件的静态视图。 部署图显示了系统的硬件,安装在硬件上的软件,以及用于连接异构机器之间的中间件。建一个部署模型的目的包括∶

2016-11-10 16:10:57 399

转载 uml(十) 构件图

构件是系统中实际存在的可更换部分,它实现特定的功能,符合一套接口标准并实现一组接口。构件代表系统中的一部分物理实施,包括软件代码(源代码、二进制代码或可执行代码)或其等价物(如脚本或命令文件)。每个构件可以单独实现一定的功能,为其他构件提供使用接口。一般构件分为:(1)执行文件:源码编译的结果,可直接运行。(2)文件:信息存储体。(3)库:类库,动态链接库,数据库(4)表:数据

2016-11-10 15:51:45 2079

转载 uml(九) 协作图

协作图又叫合作图,通信图。强调的是发送和接收消息的对象之间的组织结构,一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。 “协作”作为一个结构事物用于表达静态结构和动态行为的概念组合,表达不同事物相互协作完成一个复杂功能。协作图显示某组对象,如何为了由一个用例描述的一个系统事件而与另一组对象进行协作的交互图。对象通常是命名或匿名的类的实例,也可以代表其他事物的实例,

2016-11-10 15:32:56 472

转载 uml(八) 时序图

时序图通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。时序图是一种强调时间顺序的交互图,在时序图中,首先把参与交互的对象放在图的上方,沿X轴方向排列。通常把发起交互的对象放在左边,较下级对象依次放在 右边,然后把这些对象发送和接受的消息沿Y轴方向按时间顺序从上到下放置。

2016-11-10 15:17:40 760

转载 uml(七) 状态图

状态图用于显示状态机(它指定对象所在的状态序列)、使对象达到这些状态的事件和条件、以及达到这些状态时所发生的操作。状态是对象执行某项活动或等待某个事件时的条件。对象可能会在有限的时间长度内保持某一状态。状态具有以下几项特征:参考地址:http://baike.baidu.com/

2016-11-10 13:48:17 574

转载 uml(六) 活动图

活动图用于研究实现业务目标时所要执行的各项任务或活动的顺序安排。活动既可以是手动执行的任务,也可以是自动执行的任务。它可完成一个工作单元。活动图是状态图的一种特殊形式。其中所有或多数状态都是活动状态,而且所有或多数转移都在源状态中的活动完成时立即触发。一个例子活动图与流程图的区别 活动图描述系统使用的活动、判定点和分支,看起来和流程图没什么两样,并且传统的流程图所能表示的内

2016-11-10 10:54:35 1206

空空如也

空空如也

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

TA关注的人

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