摘要:
git提交代码流程 git status 检查当前代码和主支代码不同的状态 git diff 可指定文件查看这个文件修改的内容 git add . 把自己所有修改的代码提交 git commit 提交并注释修改内容 git pull 将线上的代码下载到自己这里,再次debug,防止代码冲突 git 阅读全文
摘要:
1. Tair总述 1.1 系统架构 一个Tair集群主要包括3个必选模块:configserver、dataserver和client,一个可选模块:invalidserver。通常情况下,一个集群中包含2台configserver及多台dataServer。两台configserver互为主备并 阅读全文
摘要:
顺序 1. 父类中静态成员变量和静态代码块 2. 子类中静态成员变量和静态代码块 3. 父类中普通成员变量和代码块,父类的构造函数 4. 子类中普通成员变量和代码块,子类的构造函数 其中“和”字两端的按照代码先后顺序执行。 举例 先看代码: Father类 [java] view plain cop 阅读全文
摘要:
反射的作用 开门见山地说说反射的作用 1.为我们提供了全面的分析类信息的能力 2.动态加载类 我理解的“反射”的意义 (仅个人理解哈) 我理解的java反射机制就是: 提供一套完善而强大的API“反射“类的结构。 打个比方,反射机制就像是一面镜子,而类就像是一个在照着镜子的人。 镜子(反射机制)照出 阅读全文
摘要:
世间总是一图胜过千万言! 下面的8幅图来自于 Program Creek 的 Java教程 ,目前这是该网站最受欢迎的文章.希望本文能帮你回顾你已经知道的那些知识。如果图片讲解的不够清晰,你可能需要阅读详细的文章或者进行搜索。 1. String对象不可改变的特性 (详情请点击上面的标题查看) 下图 阅读全文
摘要:
SQL注入起因 SQL注入是一种常见的攻击方式,攻击者或者误操作者通过表单信息或者URL输入一些异常的参数,传入服务端进行SQL处理,可能会出现这样的情况delete from app_poi where poi_id = (输入参数): 输入参数:10 or 1 = 1 SQL拼接:delete 阅读全文
摘要:
一、SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库。 二、SQL注入攻击的总体思路 1.寻找到SQL注入的位置 2.判断服务器类型和后台数据库类型 3.针对不通的服务器和数据库特 阅读全文
摘要:
摘要 本文将会从实际应用场景出发,介绍一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用。首先本文会描述一个在日常开发中经常会遇到的问题场景,借此介绍一致性哈希算法以及这个算法如何解决此问题;接下来会对这个算法进行相对详细的描述,并讨论一些如虚拟节点等与此算法应用相关的话 阅读全文
摘要:
转载请说明出处:http://blog.csdn.net/cywosp/article/details/23397179 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了 阅读全文
摘要:
在java开发中,避免不了要加锁控制程序逻辑,但加锁有可能导致死锁,造成线程永远卡死在等待释放锁,后面的代码得不到执行; 在java里,一般是通过synchronized关键字加锁,在jdk1.5版本中新增了Lock接口显示的加锁,本文讨论用这两种方式实现死锁; 方式一: 上面的代码开启了两个线程, 阅读全文
摘要:
桶排序的原理是:将数组分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的数组内的数值是均匀分配的时候,桶排序使用线性时间(Θ(n))。但桶排序并不是 比较排序,他不受到 O(n log n) 下限的影 阅读全文
摘要:
什么是归并排序 归并排序其实就做两件事: “分解”——将序列每次折半划分。 “合并”——将划分后的序列段两两合并后排序。 首先我们来看一下分解是怎样实现的呢? 接着合并是怎样实现的呢? 递归版 的源码实现如下 下面说一下分递归版的实现思路 源码如下: 阅读全文
摘要:
public: 具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。 protected: 主要的作用就是用来保护子类的。它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西 defa 阅读全文
摘要:
散列表,它是基于高速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构能够理解为一个线性表,可是当中的元素不是紧密排列的,而是可能存在空隙。 散列表(Hash table,也叫哈希表),是依据关键码值(Key value)而直接进行訪问的数据结构。也就是说,它通过把关键码值映 阅读全文
摘要:
forward(转发): 是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,因为这个跳转过程实在服务器实现的,并不是在客户端实现的所以客户端并不知道这个跳转动作,所以它的地址栏还是原来的地址. r 阅读全文
摘要:
一. 什么是JAVA反射 java反射机制是在程序运行状态中,对于任何一个类都能够知道这个类的属性和方法。对于任何一个对象都能够调用它的任意一个方法。Java反射机制运行程序判断分析任何一个类的结构,包括成员方法和变量,并调用任意一个对象的方法。 二. JAVA反射的实例 在JDK中,主要由以下类来 阅读全文
摘要:
O'Reilly's Java in a Nutshell by David Flanagan (see Resources) puts it best: "java manipulates objects 'by reference,' but it passes object reference 阅读全文
摘要:
“代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是变成语言发展的一大步”,这句话出自《深入理解JAVA虚拟机》一书,后面关于jvm的系列文章主要都是参考这本书。 JAVA源码编译由三个过程组成: 1、源码编译机制。 2、类加载机制 3、类执行机制 我们这里主要介绍编译和类加载这两 阅读全文
摘要:
一:快照模式 或许在用Redis之初的时候,就听说过redis有两种持久化模式,第一种是SNAPSHOTTING模式,还是一种是AOF模式,而且在实战场景下用的最多的 莫过于SNAPSHOTTING模式,这个不需要反驳吧,而且你可能还知道,使用SNAPSHOTTING模式,需要在redis.conf 阅读全文
摘要:
JDK的动态代理机制只能代理实现了接口的类,而不能实现接口的类就不能实现JDK的动态代理,cglib是针对类来实现代理的,他的原理是对指定的目标类生成一个子类,并覆盖其中方法实现增强,但因为采用的是继承,所以不能对final修饰的类进行代理。 JAVA的动态代理 代理模式 代理模式是常用的java设 阅读全文
摘要:
本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的 阅读全文
摘要:
数据库范式是数据库设计中必不可少的知识,没有对范式的理解,就无法设计出高效率、优雅的数据库。甚至设计出错误的数据库。而想要理解并掌握范式却并不是那 么容易。教科书中一般以关系代数的方法来解释数据库范式。这样做虽然能够十分准确的表达数据库范式,但比较抽象,不太直观,不便于理解,更难以记忆。 本文用较为 阅读全文
摘要:
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。 本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用C 阅读全文
摘要:
-闭锁(Latch) 闭锁(Latch):一种同步方法,可以延迟线程的进度直到线程到达某个终点状态。通俗的讲就是,一个闭锁相当于一扇大门,在大门打开之前所有线程都被阻断,一旦大门打开所有线程都将通过,但是一旦大门打开,所有线程都通过了,那么这个闭锁的状态就失效了,门的状态也就不能变了,只能是打开状态 阅读全文
摘要:
IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。 一、BIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待 阅读全文
摘要:
无处不在的C/S架构 在这个充斥着云的时代,我们使用的软件可以说99%都是C/S架构的! 你发邮件用的Outlook,Foxmail等 你看视频用的优酷,土豆等 你写文档用的Office365,googleDoc,Evernote等 你浏览网页用的IE,Chrome等(B/S是特殊的C/S) …… 阅读全文
摘要:
http://www.infoq.com/cn/articles/netty-million-level-push-service-design-points/ ChannelOption用到的socket的标准参数 ChannelOption.SO_BACKLOG, 1024 ChannelOpt 阅读全文
摘要:
介绍 Redis是一个开源的高性能的key-value存储系统。具有以下特点: 1、Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。 2、Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,sorted set,hash等数 阅读全文
摘要:
知识图谱 request的流程处理 实现: 只需要在netty的pipeLine中配置HttpRequestDecoder和HttpObjectAggregator。 原理: 1:如果把解析这块理解是一个黑盒的话,则输入是ByteBuf,输出是FullHttpRequest。通过该对象便可获取到所有 阅读全文
摘要:
什么是过滤器 Spring 中不能处理用户请求,但可以用来提供过滤作用的一种Servlet规范。在请求进入容器之后,还未进入Servlet之前进行预处理,并且在请求结束返回给前端这之间进行后期处理。具体则是通过截取用户端的请求与响应信息,并对之进行过滤,即在Servlet被调用之前检查Request 阅读全文
摘要:
mybatis的原身是ibatis,现在已经脱离了apache基金会,新官网是http://www.mybatis.org/。 mybatis3中增加了使用注解来配置Mapper的新特性,本篇文章主要介绍其中几个@Provider的使用方式,他们是:@SelectProvider、@UpdatePr 阅读全文
摘要:
什么是拦截器 拦截器(Interceptor): 用于在某个方法被访问之前进行拦截,然后在方法执行之前或之后加入某些操作,其实就是AOP的一种实现策略。它通过动态拦截Action调用的对象,允许开发者定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时也是提供了 阅读全文
摘要:
java动态加载类(反射机制) 那么这种动态加载类机制(也叫反射机制)有什么牛的呢?从代码可以看出来,我们在不了解目标MyClass 的情况下(仅知道它的类名和方法),构造了它的一个实例.并且像通过普通的构造方法构造的对象一样调用它内部的方法和属性. 而这一切的一切,都只是建立在我们知道它的”名字” 阅读全文
摘要:
原文地址:http://f0rb.iteye.com/blog/1207384 MyBatis中通过xml文件配置数据库批量操作的文章很多,比如这篇http://www.cnblogs.com/xcch/articles/2042298.html,但探讨如何通过注解配置实现同样效果的文章却很少,官方 阅读全文
摘要:
作为Java程序员,MySQL数据库大家平时应该都没少使用吧,对MySQL数据库的引擎应该也有所了解,这篇文章就让我详细的说说MySQL数据库的Innodb和MyIASM两种引擎以及其索引结构。也来巩固一下自己对这块知识的掌握。 Innodb引擎 Innodb引擎提供了对数据库ACID事务的支持,并 阅读全文
摘要:
转载:http://www.cnblogs.com/skywang12345/ 迪杰斯特拉算法介绍 迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。 它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。 基本思想 通过Dijk 阅读全文
摘要:
看这篇博客前,可以先看下下列这几篇博客 Red-Black Trees(红黑树) (TreeMap底层的实现就是用的红黑树数据结构) 探索equals()和hashCode()方法 (TreeMap/TreeSet实现使用到的核心方法) java中的HashTable,HashMap和HashSet 阅读全文
摘要:
1. 引子 1. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案、也不许执行代码 阅读全文
摘要:
几种常用的设计模式介绍 1. 设计模式的起源 最早提出“设计模式”概念的是建筑设计大师亚力山大Alexander。在1970年他的《建筑的永恒之道》里描述了投计模式的发现,因为它已经存在了千百年之久,而现代才被通过大量的研究而被发现。 在《建筑的永恒之道》里这样描述:模式是一条由三个部分组成的通用规 阅读全文
摘要:
大学没读计算机专业,所以很多的专业知识都不知道。既然已经从事了IT这个行业,就势必要去了解下网络底层,虽然实际工作中这些东西用不到。高楼大厦,起于平川。不积跬步,无以至千里,不积小流,无以成江海。我现在的知识结构,就如同空中楼阁。稍微遇到高层次的问题,可能就理解不了了。一棵大树如果不在刚开始的时候深 阅读全文