自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

有志者事竟成

机会往往只给有准备的人

  • 博客(129)
  • 资源 (4)
  • 收藏
  • 关注

原创 leetcode 387. First Unique Character in a String 不同解法

387. First Unique Character in a String QuestionEditorial Solution My SubmissionsTotal Accepted: 10246Total Submissions: 23693Difficulty: EasyGiven a string, find t

2016-08-31 21:53:27 3497

转载 数据库设计三大范式

为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。                 在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值

2016-08-31 14:33:29 300

转载 用distinct在MySQL中查询多条不重复记录值

在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会

2016-08-31 10:47:29 9264 1

原创 23种设计模式 第三部分 关系模式(4)迭代子模式

理解迭代器模式就是顺序访问聚集中的对象,一般来说,集合中非常常见,如果对集合类比较熟悉的话,理解本模式会十分轻松。这句话包含两层意思:一是需要遍历的对象,即聚集对象,二是迭代器对象,用于对聚集对象进行遍历访问。实现两个接口:public interface Iterator { //前移 public Object previous();

2016-08-30 22:50:02 450

原创 leetcode 389. Find the Difference 牛人用异或 或者 求和 解决,很简单。

389. Find the Difference QuestionEditorial Solution My SubmissionsTotal Accepted: 7465Total Submissions: 14609Difficulty: EasyGiven two strings s and t which consis

2016-08-30 22:45:35 958

转载 使用参数化查询防止SQL注入漏洞

摘要:在Web应用开发过程中,SQL注入漏洞是大家都非常关心的问题。本文介绍了应用参数化查询来解决SQL注入问题。  SQL注入漏洞曾经是Web应用程序的噩梦,CMS、BBS、Blog无一不曾受其害。  SQL注入的原理  以往在Web应用程序访问数据库时一般是采取拼接字符串的形式,比如登录的时候就是根据用户名和密码去查询:?

2016-08-30 18:34:02 874

原创 防止SQL注入

防止SQL注入,我们需要注意以下几个要点:1.永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和 双"-"进行转换等。2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。4.不要把机密信息直接存放,加密或者hash掉

2016-08-30 18:21:02 465

原创 23种设计模式 第三部分 关系模式(3)观察者模式

理解观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,她的所有依赖者都会受到通知并自动更新。简单来讲就一句话:当一个对象变化时,其它依赖该对象的对象都会收到通知,并且随着变化。MySubject类就是我们的主对象(类似于期刊),Observer1和Observer2是依赖于MySubject的对象(类似于订阅者)。当MySubject变化时,Observer

2016-08-29 23:15:01 443

转载 Cookie/Session机制详解

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session。1.1  Cookie机制

2016-08-29 16:42:02 420

转载 HashMap的工作原理

本文由 ImportNew - 唐小娟 翻译自 Javarevisited。欢迎加入翻译小组。转载请见文末要求。HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更

2016-08-29 12:04:21 364

转载 8张图理解Java

一图胜千言,下面图解均来自Program Creek 网站的Java教程,目前它们拥有最多的票选。如果图解没有阐明问题,那么你可以借助它的标题来一窥究竟。1、字符串不变性下面这张图展示了这段代码做了什么12String s = "abcd";s = s.concat("ef");

2016-08-29 11:55:28 345

转载 Java线程面试题 Top 50

本文由 ImportNew - 李 广 翻译自 javarevisited。欢迎加入翻译小组。转载请见文末要求。不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中

2016-08-29 11:25:50 552

转载 JVM内幕:Java虚拟机详解

本文由 ImportNew - 挖坑的张师傅 翻译自 jamesdbloom。欢迎加入翻译小组。转载请见文末要求。这篇文章解释了Java 虚拟机(JVM)的内部架构。下图显示了遵守 Java SE 7 规范的典型的 JVM 核心内部组件。 上图显示的组件分两个章节解释。第一章讨论针对每个线程创建的组件,第二章节讨论了线程无关组件。线程JVM 系统

2016-08-29 10:22:40 446

原创 23种设计模式 第三部分 关系模式(2)模板方法模式

理解模板方法定义了一个算法的步骤,并允许子类为一个或多个步骤提供实现。泡茶和泡咖啡,步骤很相似:两种饮品其分别的做法如下代码:public class Coffee { public void PrepareRecipe() { //烧水 BoilWater(); //冲咖啡

2016-08-28 20:50:32 581

转载 on duplicate key update简单使用

1。最近在做项目的时候,遇到这样的一个问题,就是我每做完一件事情,都要更新一下统计表,然而要更新统计表,就要根据主键去统计表里面去查询是否已经有这样的一条记录,如果有那么就更新,如果没有那么就插入一条记录,开始我就是这么干的,结果被老大给否决了,他说可以用on duplicate key update去做。下面就实际操作一下吧:表结构:+-----------+---------+

2016-08-26 15:18:38 543

转载 使用RestTemplate发送post请求

最近使用RestTemplate发送post请求,遇到了很多问题,如转换httpMessage失败、中文乱码等,调了好久才找到下面较为简便的方法: 1 RestTemplate restTemplate = new RestTemplate(); 2 HttpHeaders headers = new HttpHeaders(); 3

2016-08-26 14:48:40 6578

转载 二叉树,完全二叉树,满二叉树,二叉排序树,平衡二叉树,红黑树,B数,B-树,B+树,B*树(二)

二叉树,完全二叉树,满二叉树,二叉排序树,平衡二叉树,红黑树,B数,B-树,B+树,B*树(一):http://blog.csdn.net/yuxin6866/article/details/52327328BST树       即二叉搜索树:       1.所有非叶子结点至多拥有两个儿子(Left和Right);       2.所有结点存储一个

2016-08-26 13:08:54 3222

转载 轻松搞定面试中的二叉树题目

转自http://blog.csdn.net/walkinginthewind/article/details/7518888树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树是递归定义的,因此,与二叉树有关的题目基本都可以用递归思

2016-08-26 13:00:02 535

转载 二叉树,完全二叉树,满二叉树,二叉排序树,平衡二叉树,红黑树,B数,B-树,B+树,B*树(一)

二叉树二叉树:二叉树是每个节点最多有两个子树的树结构;是n(n>=0)个结点的有限集合,它或者是空树(n=0),或者是由一个根结点及两颗互不相交的、分别称为左子树和右子树的二叉树所组成。完全二叉树完全二叉树:除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点;树中所含的n个节点和满二叉树中编号为1至n的节点一一对应

2016-08-26 12:54:29 6355 1

转载 Filter的生命周期

Filter过滤器用来设置整个应用的字符编码是一个不错的选择。Filter的生命周期同servlet的生命周期是一样的。它们都提供了init(FilterConfig arg0)和destroy()方法来控制。当web容器启动的时候,就会自动调用init(FilterConfig arg0)来对filter进行初始化,当关闭web容器,关机,或者reload整个应用时,都会调用destroy(

2016-08-25 16:02:19 774

转载 mysql乐观锁总结和实践

上一篇文章《MySQL悲观锁总结和实践》谈到了MySQL悲观锁,但是悲观锁并不是适用于任何场景,它也有它存在的一些不足,因为悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。如果加锁的时间过长,其他用户长时间无法访问,影响了程序的并发访问性,同时这样对数据库性能开销影响也很大,特别是对长事务而言,这样的开销往往无法承受。所以与悲观锁相对的,我们有了乐观锁,具体参见下面介绍:

2016-08-25 11:45:46 240

转载 mysql悲观锁总结和实践

最近学习了一下数据库的悲观锁和乐观锁,根据自己的理解和网上参考资料总结如下: 悲观锁介绍(百科):悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制

2016-08-25 11:44:54 288

转载 Java后台工程师面试杂记——不跳不涨工资星人跳槽经历(转)

经过接近一个月的时间,完成换工作这件“小事”,前后总计面试了多家公司,最后也没接到几个offer,不过最终总算尘埃落定,就对这个过程进行一个总结吧。          在某互联网公司工作了近一年的时间,但是频繁的业务需求和大强度的加班,无聊的工作内容以及公司就要搬家的前景,促成了自己换工作的打算,在做出这个打算 之后几乎立即就和老大说了这件事情,这个举动结果有好有坏,正面意

2016-08-25 00:01:00 1783

原创 23种设计模式 第三部分 关系模式(1)策略模式

理解策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口,设计一个抽象类(可有可无,属于辅助类),提供辅助函数,关系图如下图中ICalculator提供统一的方法,AbstractCalculator是辅助类,提供辅助方法,接下来,依次实

2016-08-24 23:34:32 630

转载 Spring Data Redis

Redis:  Redis是一款开源的Key-Value数据库,运行在内存中,由ANSI C编写,详细的信息在Redis官网上面有,因为我自己通过google等各种渠道去学习Redis,走了不少弯路,所以总结一条我认为不错的学习路径给大家:  1.《The Little Redis Book》是一本开源PDF,只有29页的英文文档,看完后对Redis的基本概念应该差不多熟悉

2016-08-24 18:54:10 490

原创 23种设计模式 第二部分 结构模式(7)享元模式

理解享元(Flyweight)模式,顾名思义,和分享有关。享元模式可实现对象的共享,即共享池。当对象多内存小,可以共享降低内存的开销,通常与工厂模式一起使用。维基百科A flyweight is an object that minimizes memory use by sharing as much data as possible with other similar obj

2016-08-23 23:22:45 438

原创 23种设计模式 第二部分 结构模式(6)组合模式

理解组合模式有时又叫部分-整体模式在处理类似树形结构的问题时比较方便。实现import java.util.Enumeration;import java.util.Vector;public class TreeNode { private String name; private TreeNode parent; private Vector chi

2016-08-22 23:40:24 721

转载 java redis 发送短信验证码

public class Randomutil {private Randomutil() {}// 获取6位随机验证码public static String getRandom() {String num = "";for (int i = 0 ; i num = num + String.valueOf((int) Math.flo

2016-08-22 18:07:20 7276

转载 redis 下key的过期时间详解 :expire

redis 下key的过期时间详解 :expireRedismemcached memcached 和 redis 的set命令都有expire参数,可以设置key的过期时间。但是redis是一个可以对数据持久化的key-value database,它的key过期策略还是和memcached有所不同的。梳理,整理如下: redis通过expire命令来设置ke

2016-08-22 17:05:36 16265 5

转载 java操作redis: 将string、list、map、自定义的对象保存到redis中

【redis,1】java操作redis: 将string、list、map、自定义的对象保存到redis中转自:http://www.tuicool.com/articles/U7JNre/***  @param args*/public static void main(String[] args) {//连接 redis 服务

2016-08-22 17:04:54 14823

转载 Java中Properties类的操作

Java中Properties类的操作知识学而不用,就等于没用,到真正用到的时候还得重新再学。最近在看几款开源模拟器的源码,里面涉及到了很多关于Properties类的引用,由于Java已经好久没用了,而这些模拟器大多用Java来写,外加一些脚本语言Python,Perl之类的,不得已,又得重新拾起。本文通过看《Java编程思想》和一些网友的博客总结而来,只为简单介绍Propertie

2016-08-22 13:17:49 530

转载 Java中Collection和Collections的区别

Java中Collection和Collections的区别1、java.util.Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式,其直接继承接口有List与Set。 Collection

2016-08-22 12:59:56 3974

原创 mysql选出 user中mobile相同(相同数量>1)的行

mysql选出 user中mobile相同(相同数量>1)的行select mobile from user group by mobile having COUNT(*)>1;

2016-08-22 09:45:14 325

原创 23种设计模式 第二部分 结构模式(5) 桥接模式

理解桥,就是连接两个不同的东西嘛。桥接模式就是把抽象和具体分开,让它们都能独立的变化,互相没有影响。用意是:将抽象化与实现化解耦,使得二者可以独立变化。我们用JDBC时,切换数据库时,代码基本不用改,其实就是用的bridge 模式。维基百科:"Bridge pattern is meant to decouple an abstraction from its implementati

2016-08-22 00:06:20 386

原创 国外可以下载免费电子书的网站集合

不过需翻。。。!~墙http://subsites.bookboon.com/bbg-elibrary/search?token=chaxutaPezeZA2upuqesp8Spuphetaku#http://www.hongkiat.com/blog/20-best-websites-to-download-free-e-books/http://mashab

2016-08-20 00:08:07 5494

原创 23种设计模式 第二部分 结构模式(4) 外观模式

PatternIntentAdapterConverts one interface to another so that it matches what the client is expectingDecoratorDynamically adds responsibility to the interface by wrapping the origi

2016-08-19 23:54:37 384

原创 开发常用文档汇总

http://tool.oschina.net/apidocs  在线api查询git中文文档git Doc1 中文git Doc 英文java8 doc1 Underscore 中文文档    github地址   英文文档2 Express中文文档   github地址3 Backbone中文文档 Backbone

2016-08-19 13:38:37 659

转载 禁用系统的Ctrl+Alt+Left/Right(方向键)

对于很多工具,如IntelliJ IDE,Ctrl+Alt+Left/Right(方向键)是一个非常重要的快捷键,但是这个快捷键常常会被一些显示相关的附属应用给占用用于调整屏幕显示的朝向,有时候即使你找到了这个应用并disable了快捷键,但是它们依然被这个应用绑定并占用着,只是暂时不再触发相应的动作,比如Intel HD Graphics Control Panel就属这类情况,所以最根本的作法

2016-08-19 11:35:16 1295

原创 23种设计模式 第二部分 结构模式(3) 代理模式

理解租房子找中介其实就是找代理。多出一个代理类来,对已有对象做相关控制的操作。在租房子的时候回去找中介,为什么呢?因为你对该地区房屋的信息掌握的不够全面,希望找一个更熟悉的人去帮你做,此处的代理就是这个意思。再如我们有的时候打官司,我们需要请律师,因为律师在法律方面有专长,可以替我们进行操作,表达我们的想法。实现首先定义一个接口。public interface Sourc

2016-08-18 23:58:43 410

原创 map和collection是统一等级的接口

Collection    -----List               -----LinkedList    非同步                ----ArrayList      非同步,实现了可变大小的元素数组                ----Vector          同步                       

2016-08-18 23:17:23 295

FPGA学习资料

FPGA的学习资料,以及对于学习的一些总结

2013-07-29

C#sidebar(仿qq)

C#sidebar(仿qq)提供详细使用说明和例子,更实用。

2013-07-02

sidebar(仿qq)

ideBar.dll 第三方控件for C#。在Vs2008下实际使用过。仿QQ头像列表控件,分组控件。另外,还有实用的实例供参考。

2013-07-02

MSP430资料及C语言程序

MSP430学习资料及c语言实例和源程序代码

2013-04-26

空空如也

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

TA关注的人

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