自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

白夜行

Mars

  • 博客(220)
  • 收藏
  • 关注

转载 大规模并发带来的挑战

大规模并发带来的挑战:在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战。如果Web系统不做针对性的优化,会轻而易举地陷入到异常状态。我们现在一起来讨论下,优化的思路和方法哈。1. 请求接口的合理设计一个秒杀或者抢购页面,通常分为2个部分,一个是静态的HTML等内容,另一个就是参与秒杀的Web后台请求接口。通常静态HTML等内容

2017-08-11 18:13:08 850

转载 [转]xshell的快捷键(非常实用)

删除ctrl + d      删除光标所在位置上的字符相当于VIM里x或者dlctrl + h      删除光标所在位置前的字符相当于VIM里hx或者dhctrl + k      删除光标后面所有字符相当于VIM里d shift+$ctrl + u      删除光标前面所有字符相当于VIM里d shift+^ctrl + w      删除光标前一个单词相当于VIM里d

2017-07-24 08:24:52 8903

转载 HIVE中join、semi join、outer join举例详解

HIVE中join、semi join、outer join举例详解举例子:hive> select * from zz0; 111111 222222 888888 hive> select * from zz1; 111111 333333 444444 888888hive> select * from zz0 join zz1 o

2017-07-19 17:53:25 937

转载 EJB到底是什么?

1. 我们不禁要问,什么是"服务集群"?什么是"企业级开发"? 既然说了EJB 是为了"服务集群"和"企业级开发",那么,总得说说什么是所谓的"服务集群"和"企业级开发"吧!这个问题其实挺关键的,因为J2EE 中并没有说明白,也没有具体的指标或者事例告诉广大程序员什么时候用EJB 什么时候不用。于是大家都产生一些联想,认为EJB"分布式运算"指得是"负载均衡"提高系统的运行效率。然而,

2017-07-04 18:12:15 421

转载 Linux命令如何删除文件里面的重复行

文本处理时,经常要删除重复行,下面是三种方法第一,用sort+uniq,注意,单纯uniq是不行的。sort -n test.txt | uniq第二,用sort+awk命令,注意,单纯awk同样不行,原因同上。sort -n $file | awk '{if($0!=line)print; line=$0}'  第三,用sort+sed命令,同样需要sort命令先排序

2017-07-04 14:50:35 4501

原创 leetcode整理

二刷了,一刷做完了easy部分,做了一点medium,再刷一遍做好总结。EasyNOTITLESOLUTION461Hamming Distance题解561Array Partition I题解

2017-06-02 21:29:59 381

原创 leetcode-561(Array Partition I)

DecriptionGiven an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1, b1), (a2, b2), ..., (an, bn) which makes sum of min(ai, bi) for all i from 1

2017-06-02 10:58:27 827

原创 leetcode-461(Hamming Distance)

DescriptionThe Hamming distance between two integers is the number of positions at which the corresponding bits are different.Given two integers x and y, calculate the Hamming distance.

2017-06-02 10:43:21 376

转载 svn高级使用->linux下修改冲突

命令功能使用格式checkout检出svn  co  URLup更新到当前URL的末端svn  upadd增加svn  add  文件名/目录名rm删除文件

2017-05-12 18:35:24 694

转载 Linux执行.sh文件,提示No such file or directory的问题的解决方法

Linux执行.sh文件,提示No such file or directory的问题的解决方法:Linux执行.sh文件,提示No such file or directory的问题问题描述 解决方法 分析原因,可能因为我平台迁移碰到权限问题我们来进行权限转换 1)在Windows下转换: 利用一些编辑器如UltraEdit或EditPlus等工具

2017-05-12 18:14:42 38008 1

转载 MapReducer程序调试技巧(搭建伪分布式集群)

写过程序分布式代码的人都知道,分布式的程序是比较难以调试的,但是也不是不可以调试,对于Hadoop分布式集群来说,在其上面运行的是mapreduce程序,因此,有时候写好了mapreduce程序之后,执行结果发现跟自己想要的结果不一样,但是有没有报错,此时就很难发现问题,查找问题的方法之一就是对程序进行调试,跟踪代码的执行,找出问题的所在。那么对于Hadoop的Mapreduce是如何进行调试的呢

2017-05-12 16:10:37 552

转载 map/reduce之间的shuffle,partition,combiner过程的详解

Shuffle的本意是洗牌、混乱的意思,类似于java中的Collections.shuffle(List)方法,它会随机地打乱参数list里的元素顺序。MapReduce中的Shuffle过程。所谓Shuffle过程可以大致的理解成:怎样把map task的输出结果有效地传送到reduce输入端。也可以这样理解, Shuffle描述着数据从map task输出到reduce task输入的这段过

2017-05-12 16:05:28 957

原创 python--函数(必选参数、默认参数、可变参数、关键字参数)

# -*-encoding:utf-8 -*-#name = raw_input("please input your name:")#print "Hello", name"""小结:Python的函数具有非常灵活的参数形态,即可以实现简单的调用,又可以传入非常复杂的参数。默认参数必须指向(使用)不变对象,如果是可变对象,运行会有逻辑错误!要注意定义可变参数和关键字参数的语法:

2017-05-03 12:20:24 896

转载 深入理解Python中的生成器

生成器(generator)概念生成器不会把结果保存在一个系列中,而是保存生成器的状态,在每次进行迭代时返回一个值,直到遇到StopIteration异常结束。生成器语法生成器表达式: 通列表解析语法,只不过把列表解析的[]换成()生成器表达式能做的事情列表解析基本都能处理,只不过在需要处理的序列比较大时,列表解析比较费内存。

2017-05-02 17:37:26 405

转载 Python使用struct处理二进制

有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用 struct来处理c语言中的结构体. struct模块中最重要的三个函数是pack(), unpack(), calcsize()pack(fmt, v1, v2, ...)     按照给定的格式(fmt),把数据封装成字符串(实际上是类

2017-05-02 17:36:21 393

转载 python 字符串

介绍字符串相关的:比较,截取,替换,长度,连接,反转,编码,格式化,查找,复制,大小写,分割等操作什么是字符串字符串字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。 通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串

2017-05-02 17:35:21 339

转载 Cookie/Session机制详解

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

2017-04-23 22:08:49 327

转载 一千行MySQL学习笔记

/* 启动MySQL */net start mysql/* 连接与断开服务器 */mysql -h 地址 -P 端口 -u 用户名 -p 密码/* 跳过权限验证登录MySQL */mysqld --skip-grant-tables-- 修改root密码密码加密函数password()update mysql.user set password=passw

2017-04-23 20:59:20 375

转载 ArrayList自动扩容解析

探索ArrayList自动改变size真相ArrayList的列表对象实质上是存储在一个引用型数组里的,有人认为该数组有“自动增长机制”可以自动改变size大小。正式地说,该数组是无法改变大小的,实际上它只是改变了该引用型数组的指向而已。下面,让我们来看看java是怎样实现ArrayList类的。一、ArrayList类的实质     ArrayList底层采用Ob

2017-04-23 19:58:33 331

转载 常见的用户密码加密方式以及破解方法

作为互联网公司的信息安全从业人员经常要处理撞库扫号事件,产生撞库扫号的根本原因是一些企业发生了信息泄露事件,且这些泄露数据未加密或者加密方式比较弱,导致黑客可以还原出原始的用户密码。目前已经曝光的信息泄露事件至少上百起,其中包括多家一线互联网公司,泄露总数据超过10亿条。本文作者就职于携程技术中心信息安全部,文中他将分享用户密码的加密方式以及主要的破解方法。要完全防止信息泄露是非常困难的事

2017-04-16 19:27:51 2046

转载 海量数据处理——分治和hash映射

什么是Hash     Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数

2017-03-15 14:35:59 687

转载 Git常用命令

原文地址:http://www.cnblogs.com/cspku/articles/Git_cmds.html查看、添加、提交、删除、找回,重置修改文件git help # 显示command的helpgit show # 显示某次提交的内容 git show $idgit co -- # 抛弃工作区修改git co . # 抛弃工作区修改gi

2017-03-14 10:06:59 257

转载 HashSet和TreeSet

原文地址:HashSet和TreeSet 分析的很好。

2017-03-09 11:29:21 271

转载 HashMap的工作原理

看到了一篇关于HashMap的好文,极力推荐。原文地址:HashMap的工作原理    HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道HashTable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,

2017-03-08 20:50:11 249

转载 讲讲HashCode的作用

前言Object提供给我们了一个Native的方法“public native int hashCode();”,本文讲讲Hash是什么以及HashCode的作用 Hash先用一张图看下什么是HashHash是散列的意思,就是把任意长度的输入,通过散列算法变换成固定长度的输出,该输出就是散列值。关于散列值,有以下几个关键结论:1、如果散列表中存在和散列原始输入K相等

2017-02-27 09:39:44 531

转载 Servlet的多线程和线程安全

面试中讨论过Servlet的线程安全,简单总结线程安全首先说明一下对线程安全的讨论,哪种情况我们可以称作线程安全?网上对线程安全有很多描述,我比较喜欢《Java并发编程实战》给出的定义,“当多个线程访问某个类时,不管运行时环境采用何种调度方式,或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的”。Servl

2017-01-18 10:51:28 366

转载 Hibernate中1+N问题以及解决方法

1. Hibernate中的1+N问题描述           在多对一关系中,当我们需要查询多的一方对应的表的记录时,可以用一条sql语句就能完成操作。然而,在多的一方的实体类中的@ManyToOne标注的fetch的默认值是fetchType.EAGER,这时,hibernate除了发出查询多的一方对应的表的记录的sql语句外,还会发出n(多方记录数)条sql语句,这就是1+n问题。如

2017-01-11 20:58:37 457

原创 LeetCode459——Repeated Substring Pattern

题目:Given a non-empty string check if it can be constructed by taking a substring of it and appending multiple copies of the substring together. You may assume the given string consists of lowercas

2016-12-28 17:09:11 447

转载 20个非常有用的Java程序片段

博文转自20个非常有用的Java程序片段下面是20个非常有用的Java程序片段,希望能对你有用。 1.字符串有整型的相互转换String a = String.valueOf(2); //integer to numeric string int i = Integer.parseInt(a); //numeric string to an int2.向文件末尾添加内容

2016-12-28 16:20:50 371

原创 字符串同构问题——leetcode205/leetcode290

205. Isomorphic Strings问题描述:Given two strings s and t, determine if they are isomorphic.Two strings are isomorphic if the characters in s can be replaced to gett.All occurrences of a cha

2016-12-20 20:50:32 1781

原创 leetcode299. Bulls and Cows

299. Bulls and Cows问题描述:You are playing the following Bulls and Cows game with your friend: You write down a number and ask your friend to guess what the number is. Each time your friend mak

2016-12-20 11:18:06 342

原创 字符串/hashtable——leetcode205

205. Isomorphic Strings问题描述:Given two strings s and t, determine if they are isomorphic.Two strings are isomorphic if the characters in s can be replaced to gett.All occurrences of a cha

2016-12-20 11:12:16 425

原创 二叉树——leetcode101/leetcode102/leetcode110/leetcode111/leetcode112/leetcode257

101. Symmetric Tree 问题描述:Total Accepted: 145790Total Submissions: 397211Difficulty: EasyContributors: Admin Given a binary tree, check whether it is a mirror of itsel

2016-12-20 10:52:27 321

原创 链表——leetcode19/leetcode141

19. Remove Nth Node From End of List问题描述:Given a linked list, remove the nth node from the end of list and return its head.For example, Given linked list: 1->2->3->4->5, and n = 2. A

2016-12-20 10:07:12 274

转载 Java反射机制详解

Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。1、关于Class    1、Class是一个类,一个描述类的类(也就是描述类本身),封装了描述方法的Method,描述字段的Filed,描述构造器的Constructor等属性

2016-12-08 10:06:10 268

转载 Java类加载器总结

1.类的加载过程  JVM将类加载过程分为三个步骤:装载(Load),链接(Link)和初始化(Initialize)链接又分为三个步骤,如下图所示:1) 装载:查找并加载类的二进制数据;2)链接:验证:确保被加载类的正确性;准备:为类的静态变量分配内存,并将其初始化为默认值;解析:把类中的符号引用转换为直接引用;3)初始化:为类的静态变量赋予正确的初始

2016-12-08 10:01:11 268

转载 Hibernate中Session的缓存及对象的状态

对于session这个接口的学习可以说是最痛苦也是最复杂的,因为它所涉及的方面太多了,一些隐藏的机制也很多,谁让它是CentralAPI呢。对于它的几个最基本的方法如save()、delete()、flush()等的学习都花了我一定的时间。在深入了解这些这些方法前,了解session的缓存机制以及Hibernate中Java对象的状态对我们是很有帮助的。一.Session的缓存

2016-12-06 10:30:02 793

原创 Hibernate—使用Annotation来创建测试程序

一、引入Jar包在上篇博客的基础上引入下面的jar包,主要是Annotation包里的东西。在User library的hibernate包中添加下面3个Jar包:hibernate-annotations.jar、ejb3-persistence.jar、hibernate-commons-annotations.jar。第一个在annotation文件根目录下,后面两个在根目录的lib目录

2016-12-04 22:55:00 406

原创 Hibernate—下载各Jar包,配置环境

一、下载并加载Jar包博主根据学习视频,下载的是hibernate-annotations-3.4.0.GA、hibernate-distribution-3.3.2.GA、slf4j-1.5.8三个文件,其中,在Hello World项目中涉及到了9个Jar文件(包括数据库驱动Jar文件),如下图:其中,hibernate3.jar是hibernate-annotations-3

2016-12-04 22:30:48 1700

转载 Hibernate 学习教程

第1课 课程内容. 6第2课Hibernate UML图. 6第3课 风格. 7第4课 资源. 7第5课 环境准备. 7第6课 第一个示例HibernateHelloWorld 7第7课 建立Annotation版本的HellWorld 9第8课 什么是O/RMapping 11一、     定义:. 11二、     Hibernate的创始人:. 11三

2016-12-04 22:18:23 1639

空空如也

空空如也

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

TA关注的人

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