自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大树叶 技术专栏

骨灰攻城狮 架构师

  • 博客(99)
  • 资源 (2)
  • 收藏
  • 关注

原创 MySQL 对于千万级的大表要怎么优化? - MySQL - 知乎

很多人第一反应是各种切分;我给的顺序是:第一优化你的sql和索引;第二加缓存,memcached,redis;第三以上都做了后,还是慢,就做主从复制或主主复制,读写分离,可以在应用层做,效率高,也可以用三方工具,第三方工具推荐360的atlas,其它的要么效率不高,要么没人维护;第四如果以上都做了还是慢,不要想着去做切分,mysql自带分区表,先试试这个,对你的应用是透

2016-05-31 01:19:57 8439 2

原创 mysql优化之insert/delete/update

加快插入操作的方法:1、  同时从同一个客户端插入很多行,使用含有多个VALUE的INSERT语句同时插入多行,比使用单行INSERT语句一次插一行快。如果向一个非空表添加数据,可以调节bulk_insert_buffer_size变量,使数据插入更快。2、  从不同的客户端插入很多行,通过INSERT DELAYED语句加快速度。3、  用MyISAM,如果在表中没有删除的行,能在S

2016-05-31 01:05:17 2274

转载 mysql大表更新sql的优化策略

问题sql背景:项目有6个表的要根据pid字段要写入对应的brand_id字段。但是这个其中有两个表是千万级别的。我的worker运行之后,线上的mysql主从同步立刻延迟了!运行了一个多小时之后,居然延迟到了40分钟,而且只更新了十几万行数据。问题sql如下: UPDATE $tableName$ SET brand_id = #newBrandId# WHERE pid = #

2016-05-31 00:57:09 664

转载 MySQL 性能优化的最佳20多条经验分享

当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行

2016-05-31 00:41:42 526

原创 MYSQL优化原则

update ... select ... from ... where ... 你的瓶颈是在查询子句,并不是update的问题,优化完查询执行自然会上去。 -------------------------- 优化SQL查询的原则如下: 1、使用索引来更快地遍历表。 缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建

2016-05-31 00:38:39 398

原创 Linux mount使用大全

Linux mount命令还是比较常用的,现在收集了一些用法,权当笔记吧。1. 用Linux mount/umount能做什么?不同的操作系统使用不同的文件系统格式。MS-DOS支持FAT16文件系统,Windows98支持FAT16、FAT32文件系统,WindowsNT支持FAT16、NTFS文件系统,Windows2000则支持FAT16、FAT32、NTFS三种文件系统格式

2016-05-27 10:28:53 1596

转载 OAuth的机制原理讲解及开发流程

http://blog.csdn.net/alonesword/article/details/12190075本想前段时间就把自己通过QQ OAuth1.0、OAuth2.0协议进行验证而实现QQ登录的心得及Demo实例分享给大家,可一直很忙,今天抽点时间说下OAuth1.0协议原理,及讲解下QQ对于Oauth1.0的认证开发。闲话多说了点,下面直接进入主题。  1、OAut

2016-05-20 23:41:57 465

转载 OAuth2 授权分析

最近在做第三方接入的,初步定下使用OAuth2协议,花了些时间对OAuth2的授权方式做了些了解。  我还记得一两年前,跟一位同事聊起互联网时,当时我说过一个想法:  目前不少较为稀有的资源,很多都是论坛提供下载的,论坛提供的下载往往要求一个论坛帐号,更有甚者,需回帖才可见,又或者下载需要消耗一定的虚拟货币,而这些货币可以用论坛活跃度而获得。假设现在我是一个普通用户,我要找某个资源。通过搜

2016-05-20 23:38:34 962

转载 Spring 事务机制详解

Spring事务机制主要包括声明式事务和编程式事务,此处侧重讲解声明式事务,编程式事务在实际开发中得不到广泛使用,仅供学习参考。 Spring声明式事务让我们从复杂的事务处理中得到解脱。使得我们再也无需要去处理获得连接、关闭连接、事务提交和回滚等这些操作。再也无需要我们在与事务相关的方法中处理大量的try…catch…finally代码。我们在使用Spring声明式事务时,有一个非常重要的概念

2016-05-19 02:00:37 500

原创 Spring的事务和Hibernate的事务有什么区别

Question:想了解一下Spring的事务和Hibernate的事务有什么区别?Hibernate的crud都用到了Transaction,在方法开始时,打开事务,然后结束时提交事务,当Hb与Sp协作时,对于一个运行在服务层且在spring事务中的方法A,调用了运行在Dao层的方法B和C,B,C的操作是通过hb实现的,我就是想不通如下两点:1 A方法调用B后,Hb事务不是提交了吗,也就

2016-05-19 01:02:11 2313 1

原创 hibernateTransactionManager 与REQUIRES_NEW的问题

业务场景:   外层一个大的事务,嵌套一个内层事务(如单据号获取后即递增更新到数据库),内层事务需独立提交(其原子性为了避免并发问题),不受外层事务影响(回滚或提交)。  现使用hibernateTransactionManager管理事务;  外层事务propagation="REQUIRED"  内层事务propagation="REQUIRES_NEW"执行时内层事务可以

2016-05-19 00:26:58 1472

转载 Java中 char和int之间的转换

1、int 转换成char:                int  n = 1;                char ch = (char)(n + '0');                这样打印出来ch的值为1;                不过需要注意(因为char只有一个字节),此处的n只能是0-9之间的字符2、char转换成Int:         

2016-05-17 12:52:35 12194 2

原创 完全二叉树 满二叉树

概念结点的层次(Level)从根开始定义,根为第一层,根的孩子为第二层。二叉树的高度:树中结点的最大层次称为树的深度(Depth)或高度。数据结构中,树的度是什么?  它是树内各结点的度的最大值.为何节点的度? 结点拥有的子树数称为结点的度。二叉树在计算机科学中,二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(r

2016-05-15 12:03:32 14694

转载 amazon: 大于非负整数N的第一个回文数

2014 亚马逊amazon 在线笔试题 大于非负整数N的第一个回文数 Symmetric Number1.题目  如标题,求大于整数N(N>=0)的第一个回文数的字符串表示形式。  这个题目也是当时笔试第一次见到,花了一个小时才做出了。慢慢总结还是挺简单的。2.分析  分析如下:  (1)一位数N(9除外)。    第一个大于N回文数等于N+1,如大于3的

2016-05-14 22:22:07 786

原创 Amazon : 找出所给数字的下一个回文数

找出所给数字的下一个回文数。所给数字不一定是回文数,要找的是恰好大于这个数字的最小的回文数。/* * File: Amazon_OnlineTest_FirstBiggerPalindrome.cpp * Author: hongbin * * Created on 2014年12月5日, 下午1:12 */#include #include #include #

2016-05-14 16:31:50 1716

转载 亚马逊 在线笔试 2014-10-9 比较扑克牌序列

第一题:巨麻烦的一道题目,大意是比较扑克牌序列,每个序列四张牌 规则一:四张牌相同。自然数字大的胜出,比如3,3,3,3 规则二:四张牌连续。当然序列最大的那个胜出。但是有个小trick,A在这里默认表最大牌,但是如果后接2,3,4,则A表最小牌,为了获得连续序列比如A,2,3,4 规则三:有三张相同。以每个序列相同牌较大的胜出。比如3,3,3,2>2,2,2,A规则四

2016-05-14 16:25:52 533

原创 amazon 股票的最佳买入和卖出点

/* * File: stock_price.cpp * Author: hongbin * 给出一个股价序列,求出最佳的买入和卖出点, 也就是求序列后面的元素跟前面元素的最大值。 */#include #include #include #include #include using namespace std;//O(N^2)bool find_max_pr

2016-05-14 13:15:25 772

原创 amazon 笔试: 购物统计

/*  * File:   amazonOnline_test1.cpp * Question 1:We have an array representing customer’s shopping records.For example, it’s an array like this:custA, item1,custB, item1,custA, item2,

2016-05-14 13:10:20 660

转载 Amazon 笔试 :公共祖先 问题

问题描述:   算法分析:    s1:层数对齐:分别求两个数所在的层(l1,l2),把层数大的(假设l2>l1)先往上找父节点,从而对齐到l1层;    s2:两个数同时往上找, 直到找到公共的父节点(一定能找到,最坏情况下是0), 算法结束。  因此算法的核心就变成了如何找父节点, 求父节点的分析:    求父节点的时候,总是发现没有规律可循, 最重要的原因就是树中

2016-05-14 13:02:36 447

原创 amazon 出栈 进栈 序列 题目

/* * File: amazon_onlinetest_popup.cpp * Author: hongbin * Question 2 / 2Question:As you know, two operations of Stack are push and pop. Now give you two integer arrays, one is the original ar

2016-05-14 12:36:26 565

原创 2014 amazon 在线 面试题目 爬山问题:打印出从A点到B点的距离

关于那个爬山距离问题的代码说明。1)题目要求从A(0.0)到B(0,100)的距离,其中要爬过许多山。  用 来表示一座山。如果是别的数值,请修改它。2)一座山的坐标中startpoin和endpoint是否可以跟别的山可以重合成一样?  这个问题在题目里没有明确说,而且从它给的测试用例看是不重合的,故在该程序中假设没有这种重复节点的情况。

2016-05-14 12:17:00 631

原创 公司面试题目 打印矩阵,先往右打印,到头然后向左下打印,到头然后向左打印,最后向上打印

2014 amazon 公司面试题目 打印矩阵,1)从该矩阵的最左上点往右水平打印,到最右列后然后向左下(45°夹角)打印,到最下的一列后,再水平向左打印,到达最左一列后,最后垂直向上打印。2)再重复以上step1 动作,直到打印完所有满条件的节点。./amazon_online_matric//input5 31 2 3 4 5

2016-05-14 12:11:09 402

转载 Java String.split()用法小结

在java.lang包中有String.split()方法,返回是一个数组我在应用中用到一些,给大家总结一下,仅供大家参考:1、如果用“.”作为分隔的话,必须是如下写法,String.split("\\."),这样才能正确的分隔开,不能用String.split(".");2、如果用“|”作为分隔的话,必须是如下写法,String.split("\\|"),这样才能正确的分

2016-05-14 11:54:58 328

原创 Netty:JBOSS的 JAVA NIO开发开源框架

Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。也就是说,Netty 是一个基于NIO的客户,服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户,服务端应用。Netty相当简化和流线化了网络应用的编程开发过程,例如,TCP和UDP的

2016-05-13 21:21:18 6645

转载 Servlet对象是 单例模式 Singleton

在服务器端写个JSP,经过Tomcat中的JSP解析器将jsp文件解析成Servlet程序,也就是.java程序了,.java再有JDK编译成.class文件加载到内存中去。实际上生成的Servlet对象有且仅有一个,也就是说,只要有一个客户端访问了服务器上的这个Servlet资源,服务器就为这个客户端起一个线程,用来操纵这个Servlet对象!这里就涉及到一个问题,为什么jsp声明很少用

2016-05-12 17:18:59 1345

转载 servlet jsp 经典总结

如今,通用的浏览器取代了个性化的客户端,HTTP协议取代了个性化的协议,通用的ServerApp(Web服务器)简化了服务器端的开发。 1、软件的三种架构(了解) (1)主机、终端 a,特点:主机负责处理所有的业务逻辑,终端只提供操作界面。 b,优点:可靠、I/O处理能力强。 c,缺点:过于昂贵,而且维护困难。 (2) client/server

2016-05-12 16:42:33 779

原创 怎么阻止直接输入地址访问 html 页面

step 1.Java中应用Filter对权限和Session控制代码如下:package com.drp.util.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterC

2016-05-10 17:18:53 10997

原创 再议:HashMap, treeMap 和 LinkedHashMap

一般情况下,1) 我们用的最多的是HashMap,在Map 中插入、删除和定位元素,HashMap 是最好的选择。2) 但如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好。3) 如果需要输出的顺序和输入的相同,那么用LinkedHashMap 可以实现,它还可以按读取顺序来排列.HashMap是一个最常用的Map,它根据键的hashCode值存储数据,根据键可以直接

2016-05-10 16:04:21 567

转载 SQL注入攻击三部曲之高级篇

经过了入门篇和进阶篇的学习,相信诸位想要破解一般的网站是没有什么问题了,但是先别得意。正所谓学海无涯,技术的进步也是没有止境的。SQL注入是一个看起来简单,但是变数很多的过程。接下来的高级篇让我们更加深入地探讨SQL注入问题。第一节、利用系统表注入SQLServer数据库 SQL Server是一个功能强大的数据库系统,与操作系统也有紧密的联系,这给开发者带来了很大的方便,但另一方面,也为

2016-05-10 13:10:55 966

转载 SQL注入攻击三部曲之进阶篇

通过入门篇的学习,我们知道了SQL注入攻击的判断方法,但是如果想侵入网站,获取网站的机密内容,那么仅靠入门篇的知识是无法达到的。本篇文章我们将进一步的分析SQL注入攻击。首先,我们先看看SQL注入的一般步骤:第一节、SQL注入的一般步骤 首先,判断环境,寻找注入点,判断数据库类型,这在入门篇已经讲过了。其次,根据注入参数类型,在脑海中重构SQL语句的原貌,按参数类型主要分为下面三种

2016-05-10 12:25:46 441

转载 SQL注入攻击三部曲之入门篇

服务器安全管理员和攻击者的战争仿佛永远没有停止的时候,针对国内网站的ASP架构的SQL注入攻击又开始大行其道。本篇文章通过SQL注入攻击原理引出SQL注入攻击的实施方法,旨在企业安全管理员能够通过技术学习提升自己的安全意识。第一节、SQL注入原理 以下我们从一个网www.mytest.com开始(注:本文发表前已征得该站站长同意,大部分都是真实数据)。在网站首页上,有名为“IE不能打开

2016-05-10 12:24:12 445

转载 SQL注入攻击的种类和防范手段有哪些?

首先要清楚SQL注入攻击有哪些种类。1.没有正确过滤转义字符在用户的输入没有为转义字符过滤时,就会发生这种形式的注入式攻击,它会被传递给一个SQL语句。这样就会导致应用程序的终端用户对数据库上的语句实施操纵。比方说,下面的这行代码就会演示这种漏洞:statement := "SELECT * FROM users WHERE name = '" + userName + "

2016-05-10 11:32:12 1534

转载 怎样才能更好的防范 SQL inject 攻击

1.使用参数化的过滤性语句   要防御SQL注入,用户的输入就绝对不能直接被嵌入到SQL语句中。恰恰相反,用户的输入必须进行过滤,或者使用参数化的语句。参数化的语句使用参数而不是将用户输入嵌入到语句中。在多数情况中,SQL语句就得以修正。然后,用户输入就被限于一个参数。下面是一个使用Java和JDBCAPI例子:   PreparedStatement prep = conn.prepar

2016-05-10 11:12:08 879

转载 无锁的 ( lock-free ) 线程安全算法

算法描述Lock-free算法的基础是 CAS (Compareand-Swap)原子操作。当某个地址的原始值等于某个比较值时,把值改成新值,无论有否修改,返回这个地址的原始值。目前的cpu支持最多64位的CAS。并且指针p必须对齐。 注:原子操作指一个cpu时钟周期内就可以完成的操作,不会被其他线程干扰。一般的 CAS使用方式是:假设有指针p,它指

2016-05-10 11:07:18 816

转载 深入Java集合学习系列:HashMap的实现原理

1. HashMap概述:  HashMap是基于哈希表的Map接口的非同步实现(Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的)。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。2. HashMap的数据结构:  在java编程语言中,最基本的结构就是两种,一

2016-05-09 10:14:17 439

转载 T-tree原理与实现

T-treeIn computer science a T-tree is a type ofbinary tree data structure that is used by main-memory databases, such as Datablitz, eXtremeDB, MySQL Cluster,Oracle TimesTen and

2016-05-09 00:10:11 1103

转载 内存数据库T-tree索引

索引用于在查询时提高效率之用。可以为每张表的某个字段定义索引来提高在该字段上的查询效率。由于数据库要处理的数据量非常大,而内存因为价格昂贵,而容量有限,且必须满足一定的实时性,因而对其中的数据的存储及索引方式进行研究,找出有效的数据组织方式是非常有必要的。磁盘数据库系统的典型的索引技术是B-tree索引。B-tree结构的主要目的是减少完成数据文件的索引查找所需要的磁盘I/O的数量。B-tree通

2016-05-08 23:54:51 844

转载 mysql存储引擎memory,ndb,innodb之选择

mysql的innodb和cluster的NDB引擎都支持事务,在有共同的特性外,也有不同之处:以mysql cluster NDB 7.3和MySQL 5.6之InnoDB为例:ndb7.3基于mysql5.6,包括支持innodb1.1,因此可以在cluster里使用innodb表,但这些表不是集群的。MySQL Cluster NDB存储引擎用分布式, shared-nothin

2016-05-08 23:51:43 605

转载 从B树、B+树、B*树谈到R 树

第一节、B树、B+树、B*树1.前言:动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ B*-tree (B~Tree)。前三者是典型的二叉查找树结构,其查找的时间复杂度O(log2N)与树的深度相关,那么降低树的深度自

2016-05-08 20:17:10 491

转载 数据库范式理解

数据库库范式分为六种(其实还有有一个BCNF),分别为从第一范式到第六范式.高级一层是建立在所有低层的基础上的,如第2范式是建立在第一范式的基础上的,依次类推. 下面分别举例讲解各种范式:1.第一范式(1NF):  第一范式的核心描述为:数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值.该范式讲的是列的原子性.有两层意思:一层是说每一列只能存一个属性值(如果把

2016-05-08 18:03:52 641

程序员代码面试指南2-代码

《程序员代码面试指南第二版2》左程云 配套的所有的算法源代码

2019-07-07

dom4j jar包

dom4j v2.0 jar包。开发XML的必备利器

2016-02-10

空空如也

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

TA关注的人

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