自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 怎样回退git本地修改的内容

怎样放弃git的本地更改内容1.未使用 git add 缓存代码时。可以使用 git checkout – filepathname (比如: git checkout – readme.md ,不要忘记中间的 “–” ,不写就成了检出分支了!!)。放弃所有的文件修改可以使用 git checkout . 命令。此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:...

2019-02-18 22:27:29 6734

原创 MAVEN命令行运行方式

Maven命令行的运行方式命令行执行exec指令mvn clean compile 先编译代码mvn exec:java -Dexec.mainClass="com.wushi.MainClass" 通过exec指令执行mainClass#需要传递参数的话,通过-D指令mvn exec:java -Dexec.mainClass="com.wushi.MainClass" -D...

2018-12-07 10:21:57 6463

转载 CSS3基础知识及3种布局

Css的工作方式是浏览器逐行下载样式表,应用其可识别的属性,忽略其不支持的属性。1.css引入的3种方式内联式:<div style="color:red">嵌入式:<style>样式<style>外部引入:<link href="xxx.css" rel="stylesheet" type="text/css"/&

2018-11-22 17:00:45 686

原创 Mybatis FoeEach用法

foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有 item,index,collection,open,separator,close。item表示集合中每一个元素进行迭代时的别名index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置open表示该语句以什么开始separator表示在每次进行迭代之间以什么符号作为分...

2018-11-20 09:43:21 265

原创 GIT常用操作

Git常用场景下的操作

2018-08-29 14:47:05 166

原创 Git多个账户场景下的ssh-key设置

在ssh目录下设置config文件,在文件中配置每个账号用的密钥文件和git 主机Step1: 生成每个账号用的密钥文件:  ssh-keygen -t rsa -C heitu@mhc.com    -->生成id_rsa.pub  ssh-keygen -t rsa -C grantw@163.com  -->生成id_rsa_maihaoche.pub标题id_...

2018-07-26 21:08:48 207

转载 B+树

B+树索引是B+树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。B+树中的B代表平衡(balance),而不是二叉(binary),因为B+树是从最早的平衡二叉树演化而来的。在讲B+树之前必须先了解二叉查找树、平衡二叉树(AVLTree)和平衡多路查找树(B-Tree),B+树即由这些树逐步优化而来。二叉查找树二叉树具有以下性质:左子树的键值小于根的键值,右子树的键值大于根的键...

2018-07-11 18:01:07 246

转载 MySQL索引背后的数据结构及算法原理

一致对DB中的索引底层设计不是很清楚,这篇文章介绍了MYSQL索引(主要是BTREE)的结构设计。BTREE是一种特殊的tree,相关算法都是类似,主要在复杂度上可以做到LOGd(N)。 另外结合MYSQL的查询explain及profiles命令对查询中是否用到索引,进行了介绍,比较清楚。====本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸...

2018-04-02 15:26:25 170

原创 JavaScript中的字面量

在javascript中用的较多的一种写法是在创建对象时,直接用键值对,如:var Person={name: 'zhangsan',age: '18',address: 'shanghai',showme: function(){    console.log('this is the:'+this.name); }}这种写法的关键是var XXX=‘Y...

2018-03-30 11:13:29 5438

原创 Log4j的常规应用

Log4j项目中一直在用,但是由于太基本的一个功能了,有时不太关注而导致一些错误或紊乱,本文通过一个例子说明Log4j的常规用法。1. 新建1个gradle项目,在build.gradle中配置依赖项: compile 'org.slf4j:slf4j-api:1.7.25' compile group: 'org.slf4j', name: 'slf4j-log4j12', ve...

2018-02-26 12:22:36 247

原创 GIT正向与反向的操作

整体上使用GIT对代码文件的操作可以分为2类:正向操作、反向操作。1. 正向操作即提交修复-> 推送远端服务,相关命令如下:a. git add * b. git commit -m "message detail"c. git push origin master2. 反向操作即对相关的操作进行回退,包括从版本库->缓存区->工作区

2018-02-06 16:45:41 2388 1

转载 怎样使Git 的历史线索更清晰

用 Git 也有一段时间了,看过一些 Git 工作流的文章,加上工作和业余中参与一些项目开发,对 Git 的工作流有一些心得,写下来整理一下。如果你对 Git 并不是很熟悉,推荐两份阅读资料:ProGit 中文版A successful Git branching model本篇文章是基于中心式的代码管理,但如果你理解其内涵,会发现这跟一般的 github 托管的开源项目是

2018-02-02 12:10:32 264

转载 git rebase and merge

转:http://blog.csdn.net/wh_19910525/article/details/7554489git merge是用来合并两个分支的。git merge b      # 将b分支合并到当前分支同样 git rebase b,也是把 b分支合并到当前分支------------------------------

2018-02-01 20:16:45 440

原创 JAVA8 Function及Stream编程

JAVA8引入函数式编程后,增加了灵活性,原来需要通过ScriptEngine调用脚本语言,现在通过Function接口即可。方便了编码,代码也比较简洁些。1. Function    函数式编程的格式如下集中方式:    a. 标准方式    (Type1 param1, Type2 param2, ..., TypeN paramN) -> {    statment1

2017-10-26 21:37:01 6259

转载 CAT调用链系统设计

基于Cat的分布式调用追踪Cat是美团点评出的一款APM工具,同类的产品也有不少,知名的开源产品如zipkin和pinpoint;国内收费的产品如oneapm。考虑到Cat在互联网公司的应用比较广,因此被纳入选型队列,我也有幸参与技术预言。使用Cat断断续续将近两周的时间,感觉它还算是很轻量级的。文档相对来说薄弱一些,没有太全面的官方文档(官方文档大多是介绍每个

2017-10-24 12:43:55 3192

原创 Docker 学习1

Docker是目前正在大热的容器技术,相比虚拟机Docker直接与Host交互,排除了虚机层,效率更高,占用的Host资源也更少,所以受到越来越多的欢迎。Docker理论基础另外Docker的出现也激发了软件开发流程的变革,特别是在打包、发布阶段。Docker结合Jekins,可以在测试环境完成测试工作后,不必重新拉去代码、编译、打包,而是可以直接推送Docker镜像到生产环境中,提升了效率。这在D

2017-09-28 17:05:42 193

转载 一致性Hash算法背景

一致性Hash算法背景  一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。  但现在一致性hash算法在分布式系统中也得到了广泛应用,研究过memcached缓存数据库的人

2017-07-31 15:52:47 175

转载 OAuth原理

转:http://hzy0769.iteye.com/blog/22969971、OAuth的简述OAuth(Open Authorization,开放授权)是为用户资源的授权定义了一个安全、开放及简单的标准,第三方无需知道用户的账号及密码,就可获取到用户的授权信息,并且这是安全的。 2、名称定义在详细讲解OAuth 2.0之前,需要了解几个专用名词。它们对读懂后面

2017-07-12 13:46:04 337

转载 CAS服务集成

转:CAS原理和我们前面自己开发的Nebula基本一致,所有的系统应用都会引导到CAS Server认证中心去登录。登录成功后,认证中心会产生一个票据叫TGT(Ticket Granting Ticket),TGT即代表了用户与认证中心直接的全局会话。TGT存在,表明该用户处于登录状态。TGT并没有放在Session中,也就是说,CAS全局会话的实现并没有直接使用Session机制

2017-07-10 16:34:40 2077

原创 开发一个SSO服务器

转自:http://www.imooc.com/article/3564本篇我们按照这个思路,亲自动手实现一个轻量级的SSO认证中心。除了认证中心,我们还要改造系统应用的登录登出部分,使之与认证中心交互,共同完成SSO。因此我们的实现分成两大部分,一个是SSO Server,代表认证中心,另一个是SSO Client,代表使用SSO系统应用的登录登出组件。我们给我们实现的这个S

2017-07-10 16:31:51 1205

转载 Innodb中的事务隔离级别和锁的关系

转:http://tech.meituan.com/innodb-lock.html前言:我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在。这里通过分析MySQL中InnoDB引

2017-06-30 17:25:21 214

转载 MYSQL秒杀的处理

一、秒杀带来了什么? 秒杀或抢购活动一般会经过【预约】【抢订单】【支付】这3个大环节,而其中【抢订单】这个环节是最考验业务提供方的抗压能力的。抢订单环节一般会带来2个问题:  1、高并发  比较火热的秒杀在线人数都是10w起的,如此之高的在线人数对于网站架构从前到后都是一种考验。  2、超卖  任何商品都会有数量上限,如何避免成功下订单买到商品的人数不超过商品数量的上限,这

2017-06-27 18:39:49 1143

转载 MYSQL悲观锁

悲观锁介绍(百科):悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据)。 使用场景举例:以MySQL InnoDB

2017-06-27 18:32:29 199

转载 MYSQL乐观锁

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

2017-06-27 18:31:27 244

转载 数据事务四种隔离机制和七种传播行为

一、隔离级别:数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。1. ISOLATION_READ_UNCOMMITTED:这是事务最低的隔离级别,它充许令外一个事务可以看到这个事务未提交的数据。      这种隔

2017-04-24 14:33:02 229

原创 上传附件的限制

1. nginx中增加消息体的大小限制[nginx@wgq_idc_web_1_21 logs]$ vim /usr/local/nginx/conf/nginx.confhttp {    include       mime.types;    server_tokens off;    sendfile        on;    tcp_no

2017-03-18 16:50:20 351

转载 URL编码

本文首先阐述了人们关于统一资源定位符(URL)编码的普遍的误读,其后通过阐明HTTP场景下的URL encoding 来引出我们经常遇到的问题及其解决方案。本文并不特定于某类编程语言,我们在Java环境下阐释问题,最后从Web应用的多个层次描述如何解决URL编码的问题来结尾。  简介  当我们每天上网冲浪时,有一些技术我们无时无刻不在面对。有数据本身(网页),数据的格式

2017-02-03 17:48:26 314

转载 透彻Linux(Unix)五种IO模型

IO模型用一幅图表示所支持的I/O模型纵向维度是“阻塞(Blocking)”、“非阻塞(Non-blocking)”;横向维度是“同步”、“异步”。总结起来是四种模型同步阻塞、同步非阻塞;异步阻塞、异步非阻塞。《Unix网络编程》中划分出了“第五种”模型——“信号驱动式IO”其实属于异步阻塞类型,这种模型的通知方式有多种多样后面展开说明。同步/异步、阻塞

2017-02-03 17:47:23 293

转载 真确的价值观和防范轮

在一个网站看到这篇文字,很有启发,记下来。首先,重点的是心态:关于竞争  竞争是好事,别怕。有竞争,就有机会,别怕,别排斥,输了也没关系,别怂了就行。大到国家,小到昆虫草木,到处都有竞争,竞争是常态,别躲。关于希望 没希望的时候,别绝望。动一动,试一试,问一问,别坐着难过,别放弃。做事做人,不可能总是一帆风顺,迷茫的时候也要走,痛苦的时候也要做,结果怎样,到时再

2017-01-03 09:28:24 231

原创 Centos配置DHCP

1. 启动network manager2. 在eth0中启动dhcp配置:其中的NM——CONTROLLED一定配置为yes。  前面就犯了一个错误,设置为no,结果一直娶不到dhcp

2016-12-18 16:25:19 261

转载 TProfiler 进行jvm调优

JVM 性能调优实战之:使用阿里开源工具 TProfiler 在海量业务代码中精确定位性能代码本文是《JVM 性能调优实战之:一次系统性能瓶颈的寻找过程》 的后续篇,该篇介绍了如何使用 JDK 自身提供的工具进行 JVM 调优将 TPS 由 2.5 提升到 20 (提升了 7 倍),并准确定位系统瓶颈:我们应用里静态对象不是太多、有大量的业务线程在频繁创建一些生命周

2016-12-08 17:46:36 757

转载 互联网下的分布式事务

由于数据量的巨大,大部分Web应用都需要部署很多个数据库实例。这样,有些用户操作就可能需要去修改多个数据库实例中的数据。传统的解决方法是使用分布式事务保证数据的全局一致性,经典的方法是使用两阶段提交协议。长期以来,分布式事务提供的优雅的全局ACID保证麻醉了应用开发者的心灵,很多人都不敢越雷池一步,想像没有分布式事务的世界会是怎样。如今就如MySQL和PostgreSQL这类面向低端用户的

2016-11-26 14:17:36 296

转载 javascript基础4-对象2

混合的构造函数/原型方式联合使用构造函数和原型方式,就可像用其他程序设计语言一样创建对象。这种概念非常简单,即用构造函数定义对象的所有非函数属性,用原型方式定义对象的函数属性(方法)。结果是,所有函数都只创建一次,而每个对象都具有自己的对象属性实例。我们重写了前面的例子,代码如下:function Car(sColor,iDoors,iMpg) { this.color =

2016-11-24 22:54:06 261

转载 javascript基础3-对象

对象ECMA-262 把对象(object)定义为“属性的无序集合,每个属性存放一个原始值、对象或函数”。严格来说,这意味着对象是无特定顺序的值的数组。尽管 ECMAScript 如此定义对象,但它更通用的定义是基于代码的名词(人、地点或事物)的表示。声明和实例化对象的创建方式是用关键字 new 后面跟上实例化的类的名字:var oObj

2016-11-24 22:51:16 190

转载 javascript基础2-函数

什么是函数?函数是一组可以随时随地运行的语句。函数是 ECMAScript 的核心。函数是由这样的方式进行声明的:关键字 function、函数名、一组参数,以及置于括号中的待执行代码。函数的基本语法是这样的:function functionName(arg0, arg1, ... argN) { statements}例如:functio

2016-11-24 22:46:16 221

转载 Javascript基础1

原始值和引用值在 ECMAScript 中,变量可以存在两种类型的值,即原始值和引用值。原始值存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。引用值存储在堆(heap)中的对象,也就是说,存储在变量处的值是一个指针(point),指向存储对象的内存处。为变量赋值时,ECMAScript 的解释程序必须判断该值是原始类型,还是引用类型。要

2016-11-24 22:42:12 185

原创 GIT常用命令

1.文件管理git add filename                         修改文件提交到本地暂存区git add .                                        修改所有文件提交到本地暂存区(注意add与“.”之间有个空格)git commit -m "message"        提交修改git commit -a -m "...

2016-11-21 18:47:26 339

转载 GSON对java对象的相互转换

简述:testJson_1中 将不同的Java对象转换为json格式文件(String), testJson_2中传入testJson_1中生成的JSON String 参数,反向返回各种Java的对象包括:java的String、List、HashMap、JavaBean, 以及对象内包含list成员的对象转为Json String 并且 Json转回

2016-11-14 19:07:59 653

转载 怎样防止CSRF和XSS攻击

Spring MVC防御CSRF、XSS和SQL注入攻击 - Mainz - 博客园本文说一下SpringMVC如何防御CSRF(Cross-site request forgery跨站请求伪造)和XSS(Cross site script跨站脚本攻击)。转载:http://itindex.net/blog/2013/10/25/1382688300000.html

2016-10-31 17:17:56 3158

转载 记账凭证怎样设计

财务系统,怎样记账

2016-10-24 15:09:14 599

空空如也

空空如也

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

TA关注的人

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