- 博客(144)
- 资源 (10)
- 收藏
- 关注
原创 mysql内存优化
弄了几台国外的低价vps,内存只有512M,用来挂网站用的,结果发现网站过多了之后,内存完全不够用。于是top命令了下,发现mysql占用的内存非常高,单单mysql就占用了400多M,太恐怖了,还让不让别的进程运行了。
2016-10-19 23:29:44
1656
1
原创 这些年收藏的程序员必备网站
学习中我们需要不少,高质量的面向程序员的网站,比如一些工具的,形式学习形式的,论坛形式的,教育形式的网站。这篇文章中我主要介绍一些我平时用的非常多的网站,希望能帮到大家,也希望大家也一起来补充,我会长期更新,谢谢了。
2016-08-20 20:38:25
5309
原创 MySQL锁解决并发问题详解
文章分为以下几个要点问题描述以及解决过程MySQL锁机制数据库加锁分析下面讨论的都是基于MySQL的InnoDB。0. 问题描述以及解决过程因为涉及到公司利益问题,所以下面很多代码和数据库信息,进行了缩减和修改,望见谅。业务场景是优惠券系统规则规定了一个优惠券活动最多可发行多少张优惠券和每个用户最多可领取优惠券数量。下面列出两张表的结构。活动表CREATE TABLE `coupon_act
2015-09-17 17:54:39
25371
1
原创 Java编程规范
1.If for while等语句的执行语句不管有多少都要加上{}2.相对独立的程序块之间,必须要有空行。public void fun(int i) { System.out.println(i);}int index;3.对齐只使用空格键不使用TAB键(因为不同编辑器tab键空格数可能不同)4.在两个以上的关键字、变量、常量进行对等操作时,他们之间的操作符之前、之后度需要加空格。5.将
2015-07-02 10:29:36
2162
原创 order by优化-mysql
原文地址:http://leihuang.org/2015/05/15/order-by-mysql/上篇博客讲到mysql的分页优化,其中有谈到order by关键字的优化,今天就来对其进行分析。首先看mysql官方文档,是如何来谈order by关键字的优化的。8.2.1.15 ORDER BY Optimization下面的语句是可以用到索引来排序的。key_part1,key_part2表示
2015-05-29 11:37:13
1494
原创 分页性能探索-mysql
分页技术在开发中是十分常见的,我刚到公司做的两个项目都用到了分页技术,于是就想着对分页技术进行深入的探索一下。常见的几种分页方式:扶梯方式扶梯方式在导航上通常只提供上一页/下一页这两种模式,部分产品甚至不提供上一页功能,只提供一种“更多/more”的方式,也有下拉自动加载更多的方式,在技术上都可以归纳成扶梯方式。 扶梯方式在技术实现上比较简单及高效,根据当前页最后一条的偏移往后获取一页即可。写
2015-05-13 10:30:09
1542
原创 设计模式:代理模式
原文地址:http://leihuang.org/2014/12/09/proxy/Structural 模式 如何设计物件之间的静态结构,如何完成物件之间的继承、实 现与依赖关系,这关乎着系统设计出来是否健壮(robust):像是易懂、易维护、易修改、耦合度低等等议题。Structural 模式正如其名,其分类下的模式给出了在不同场合下所适用的各种物件关系结构。Def
2014-12-12 22:09:30
1449
原创 设计模式:享元模式
原文地址:http://leihuang.org/2014/12/09/flyweight/Structural 模式 如何设计物件之间的静态结构,如何完成物件之间的继承、实 现与依赖关系,这关乎着系统设计出来是否健壮(robust):像是易懂、易维护、易修改、耦合度低等等议题。Structural 模式正如其名,其分类下的模式给出了在不同场合下所适用的各种物件关系结构。
2014-12-12 22:08:01
1302
原创 设计模式:外观模式
原文地址:http://leihuang.org/2014/12/09/facade/Structural 模式 如何设计物件之间的静态结构,如何完成物件之间的继承、实 现与依赖关系,这关乎着系统设计出来是否健壮(robust):像是易懂、易维护、易修改、耦合度低等等议题。Structural 模式正如其名,其分类下的模式给出了在不同场合下所适用的各种物件关系结构。De
2014-12-12 22:05:15
1229
原创 读<专栏·谈谈全栈工程师>
全栈工程师的意思是说一个工程师可以处理数据库、服务器、系统工程和客户端的工作。根据项目的不同,客户需要的可能是mobile stack, web stack, 或者原生应用程序。
2014-12-12 22:00:24
1584
原创 设计模式:装饰模式
原文地址:http://leihuang.org/2014/12/09/decorator/Structural 模式 如何设计物件之间的静态结构,如何完成物件之间的继承、实 现与依赖关系,这关乎着系统设计出来是否健壮(robust):像是易懂、易维护、易修改、耦合度低等等议题。Structural 模式正如其名,其分类下的模式给出了在不同场合下所适用的各种物件关系结构。
2014-12-11 17:36:02
1131
原创 设计模式:合成模式
原文地址:http://leihuang.org/2014/12/09/composite/Structural 模式 如何设计物件之间的静态结构,如何完成物件之间的继承、实 现与依赖关系,这关乎着系统设计出来是否健壮(robust):像是易懂、易维护、易修改、耦合度低等等议题。Structural 模式正如其名,其分类下的模式给出了在不同场合下所适用的各种物件关系结构。
2014-12-11 17:33:02
1297
原创 设计模式:桥梁模式
原文地址:http://leihuang.org/2014/12/08/bridge/Structural 模式 如何设计物件之间的静态结构,如何完成物件之间的继承、实 现与依赖关系,这关乎着系统设计出来是否健壮(robust):像是易懂、易维护、易修改、耦合度低等等议题。Structural 模式正如其名,其分类下的模式给出了在不同场合下所适用的各种物件关系结构。
2014-12-11 17:27:19
1182
原创 设计模式:适配器模式
原文地址:http://leihuang.org/2014/12/06/adapter/Structural 模式 如何设计物件之间的静态结构,如何完成物件之间的继承、实 现与依赖关系,这关乎着系统设计出来是否健壮(robust):像是易懂、易维护、易修改、耦合度低等等议题。Structural 模式正如其名,其分类下的模式给出了在不同场合下所适用的各种物件关系结构。
2014-12-11 17:21:29
1563
原创 设计模式:缺省适配器模式
原创:http://leihuang.org/2014/12/06/default-adapter/Structural 模式 如何设计物件之间的静态结构,如何完成物件之间的继承、实 现与依赖关系,这关乎着系统设计出来是否健壮(robust):像是易懂、易维护、易修改、耦合度低等等议题。Structural 模式正如其名,其分类下的模式给出了在不同场合下所适用的各种物件关系结构。
2014-12-11 17:16:52
2363
1
原创 设计模式:Registry of Singleton模式
原文地址:http://leihuang.org/2014/12/05/registry-of-singleton/Creational 模式物件的产生需要消耗系统资源,所以如何有效率的产生、管理 与操作物件,一直都是值得讨论的课题, Creational 模式即与物件的建立相关,在这个分类下的模式给出了一些指导原则及设计的方向。下面列举到的全属于Creational 模式
2014-12-06 16:01:01
2470
1
原创 设计模式:单例模式
原文地址:http://leihuang.org/2014/12/05/singleton/Creational 模式物件的产生需要消耗系统资源,所以如何有效率的产生、管理 与操作物件,一直都是值得讨论的课题, Creational 模式即与物件的建立相关,在这个分类下的模式给出了一些指导原则及设计的方向。下面列举到的全属于Creational 模式Simple F
2014-12-06 15:50:36
1201
原创 设计模式:原型模式
原文地址:http://leihuang.org/2014/12/03/prototype/Creational 模式物件的产生需要消耗系统资源,所以如何有效率的产生、管理 与操作物件,一直都是值得讨论的课题, Creational 模式即与物件的建立相关,在这个分类下的模式给出了一些指导原则及设计的方向。下面列举到的全属于Creational 模式Simple F
2014-12-05 22:04:33
1196
原创 设计模式:工厂方法模式
原文地址:http://leihuang.org/2014/12/03/factory-method/Creational 模式物件的产生需要消耗系统资源,所以如何有效率的产生、管理 与操作物件,一直都是值得讨论的课题, Creational 模式即与物件的建立相关,在这个分类下的模式给出了一些指导原则及设计的方向。下面列举到的全属于Creational 模式Sim
2014-12-05 22:00:03
1208
原创 设计模式:建造模式
原文地址:http://leihuang.org/2014/12/03/builder/Creational 模式物件的产生需要消耗系统资源,所以如何有效率的产生、管理 与操作物件,一直都是值得讨论的课题, Creational 模式即与物件的建立相关,在这个分类下的模式给出了一些指导原则及设计的方向。下面列举到的全属于Creational 模式Simple Fac
2014-12-05 21:57:01
1347
原创 设计模式:抽象工厂模式
原文地址:http://leihuang.org/2014/12/03/abstract-factory/Creational 模式物件的产生需要消耗系统资源,所以如何有效率的产生、管理 与操作物件,一直都是值得讨论的课题, Creational 模式即与物件的建立相关,在这个分类下的模式给出了一些指导原则及设计的方向。下面列举到的全属于Creational 模式S
2014-12-05 21:52:31
1136
原创 设计模式:简单工厂模式
Creational 模式物件的产生需要消耗系统资源,所以如何有效率的产生、管理 与操作物件,一直都是值得讨论的课题, Creational 模式即与物件的建立相关,在这个分类下的模式给出了一些指导原则及设计的方向。下面列举到的全属于Creational 模式Simple Factory 模式Abstract Factory 模式Builder 模式Fac
2014-12-05 21:46:42
1275
原创 组合优于继承
原文地址:http://leihuang.org/2014/11/18/composition-inheritance/为什么组合优于继承?这是一个很典型的设计模式的问题,Head First Design Pattern第一章好像就讲了,之前看得有点忘了。下面我把stackoverflow上面得分比较高的答案搬过来用一下,我觉得这样更容易理解些。两者区别
2014-11-18 23:51:38
1419
原创 最小化类和成员的访问能力
原文地址:http://leihuang.org/2014/11/17/minmize-accessibility/信息隐藏要想区别一个设计良好的模块与一个设计不好的模块,最重要的因素是,这个模块对于外部的其它模块而言,是否隐藏了内部的数据和其他的实现细节。换句话说,就是模块的设计者是否对其进行了良好的封装。对于顶层的(非嵌套的)类和接口,它们只有2种访问级
2014-11-17 00:58:05
1701
原创 Comparable和Comparator的区别
Comparable和Comparator都是用来实现集合中元素的比较、排序的,只是Comparable 是在集合内部定义的方法实现的排序,Comparator 是在集合外部实现的排序,所以,如想实现排序,就需要在集合外定义 Comparator 接口的方法或在集合内实现 Comparable 接口的方法。Comparator位于包java.util下,而Comparable位于包 jav
2014-11-16 17:39:52
1925
原创 详解java中clone方法
原文地址:http://leihuang.org/2014/11/14/java-clone/In java, it essentially means the ability to create an object with similar state as the original object.什么是clone字典中的意思就是复制(强调跟原来的一模
2014-11-15 13:31:24
5426
原创 super.getClass()与this.getClass()
原文地址:http://leihuang.org/2014/11/14/getClass-method/首先看一段代码:import java.util.Date;public class Test extends Date{ public static void main(String[] args) { new Test().test()
2014-11-15 13:29:11
4215
原创 java对象的生命周期
原文地址:http://leihuang.net/2014/11/13/Object-Lifecycle/什么是对象对象是数据和行为的集合对象是类的一个实例对象有状态和行为创建对象使用new关键字创建对象是java中最常见的一种方法。对象生命周期CreatedIn useInvisibleUnreachableCollectedFin
2014-11-15 13:27:03
1591
原创 java对象循环依赖问题
原文地址:http://leihuang.net/2014/11/13/Cycular-Dependency/假设我们有一个类A,它包含了一个B的对象,同时类B也包含了一个A对象。那么此时不管你实例化哪一个类,都会出现StackOverflowError错误,这就是java对象循环依赖问题。类似于鸡和蛋的问题。首先我们看下面这段错误的代码,分析其错误的地方。pu
2014-11-15 13:26:02
8053
1
原创 禁止使用finalize方法
原文地址:http://leihuang.net/2014/11/13/Avoid-Finalizers/Don´t use Finalizers, mainly because are unpredictable and we don´t know when will be executed, "don't try to be smarter than the JVM"
2014-11-14 16:23:41
2878
原创 java内存泄露
原文地址:什么是内存泄露当某些对象不再被应用程序所使用,但是由于仍然被引用而导致垃圾收集器不能释放它们。下图中就是内存泄露的情形。 图中的中间部分就是内存泄露的发生地。为什么会内存泄露让我们来分析一下下图中的例子,看看为什么会发生内存泄露。对象A时B的引用。A的生命周期时t1-t4,而B的生命周期时t2-t3.所以当B
2014-11-14 16:21:34
1626
原创 不要创建非必要对象
原文地址:http://leihuang.org/2014/11/10/avoid-creating-unnecessary-objects/首先我们来看下面两个语句的区别:String s = new String("hello world!") ;String s = "hello world!" ;当你循环调用上面两个语句的时候,你会发现:第一条语
2014-11-14 16:20:07
1129
原创 构造器与工厂方法的区别
原文地址:http://leihuang.org/2014/11/09/Constructors-VS-Factory-Methods/首先看下面两者在创建对象上的区别// instantiating a class using constructorDog dog = new Dog(); // instantiating the class us
2014-11-14 16:17:36
2126
原创 建造模式
原文地址:http://leihuang.org/2014/11/09/Builder-Pattern/The builder pattern is a good choice when designing classes whose constructors or static factories would have more than a handful of parameter
2014-11-14 16:15:33
1285
原创 c++开源爬虫-Larbin简介
因为最近学校实训,做的是一个搜索相关的项目,并且是c++的一个项目,所以就想到了larbin,于是接下来几天就现研究研究其源码,再根据项目需求修改其源码。不多说,直接进入今天的正题。今天的目的就是简单了解下larbin。Larbin简介larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人Sébastien Ailleret独立开发,用c++语言实现。larbin目的是
2014-06-16 21:24:13
12362
1
原创 单链表的常见题型汇总
原文地址:http://leihuang.org/2014/05/19/List-Interviews/单链表的一些常见面试题汇总单链表反转/逆序求单链表倒数第N个数找到单链表的中间结点如何判断链表是否有环的存在单链表建环,无环链表变有环如何知道环的长度?如何找出环的连接点在哪里?删除单链表中的重复元素下面我先简单叙述一下每道题的思路,然后把实现的程序一起贴出来,不会讲得太
2014-05-19 20:12:12
1738
原创 动态内存分配
原文地址:http://leihuang.net/2014/05/18/Dynamic-Memory-Allocation/什么是动态内存分配我们知道数组的元素存储在内存中连续的位置。当一个数组声明的时候,它的内存在编译是被分配。同样,你也能利用动态内存分配来使得内存在运行时分配。Why Use Dynamic Allocation当你声明一个数组的时候,数组的大小
2014-05-18 16:32:37
1603
原创 c语言之struct
1. 结构的基础知识跟数组一样是成员的集合,但与数组有很大的区别,结构的元素不能通过下标法来访问,因为各个成员的大小可能不同,但是数组可以,因为数组元素保持一致。1.1 结构声明struct tag {member-list }variable-list ;上面黑色部分是可选部分,但是必须同时出现两个。实例一:下面是实例:struct{ i
2014-05-14 17:17:35
10704
2
原创 c/c++和java实现swap函数的不同处
首先我们来看一下在c/c++中实现的swap函数void swap ( int & a, int & b) { int Temp; temp = a; a = b; b = temp; }那么在java中是否还能这样呢,很显然java中没有地址引用符号了。本质
2014-05-06 11:59:18
4430
原创 《面试题精选》17.最长的递增子序列
[题目]从给定序列中找出最长的子序列所含元素的个数,如{7,2,3,1,5,8,9,6},的最长递增子序列为{2,3,5,8,9},则返回个数5。[分析]:这道题感觉挺难的,用到了动态规划,感觉动态规划度挺难的,关于动态规划可以参照前面的博客:详解动态规划,动态规划与贪心。正如这两篇博客中讲到的,解决动态规划问题,关键点在于找状态和状态方程。那么这道题怎么来找呢,老套路,举例分析嘛
2014-04-30 21:54:22
677
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人