![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
XM
文章平均质量分 73
BruceZhang
计算机专业的一个小学生
展开
-
正向代理与反向代理的区别
本文转载自 : 正向代理与反向代理的区别一、正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从网站的角度,只在代理服务器来取内容的时候有一次记录,有时候并不知道是用转载 2015-12-24 17:22:41 · 3088 阅读 · 0 评论 -
Java Servlet完全教程
本文来自Java Servlet完全教程Servlet 是一些遵从Java Servlet API的Java类,这些Java类可以响应请求。尽管Servlet可以响应任意类型的请求,但是它们使用最广泛的是响应web方面的请求。 Servlet必须部署在Java servlet容器才能使用。虽然很多开发者都使用Java Server Pages(JSP)和Java Server Faces(JSF)等转载 2015-11-30 12:50:42 · 2528 阅读 · 1 评论 -
HTTP协议处理流程
这篇文章来自HTTP协议 处理流程我们平时在浏览网页的时候都是使用浏览器,输入你要的网址后回车,就会显示出我们所想要的内容,看似这个简单的用户操作行为的背后,Web的工作原理是怎样的呢?到底隐藏了些什么呢?对于传统的上网流程,系统它是这么做的:浏览器本身它是一个客户端,当输入URL地址的时候,浏览器首先会去请求DNS服务器,通过DNS查询获取相应的域名所对应的IP地址,然后通过这个映射的IP地址找到转载 2015-11-30 13:50:20 · 3628 阅读 · 1 评论 -
Maven环境下实现Web工程自动部署到Tomcat
概述 : 每次修改完web工程是不是都要重新cp来,cp去到webapps目录中部署,确实是非常的麻烦,重复的工作做来做去浪费了时间不说,还容易把人搞得非常烦躁,那么,这里记录下怎样把web工程自动的部署到Tomcat(基于Tomcat7)中.总共分为以下的五个步骤 :配置tomcat的conf下的 tomcat-users.xml验证上述配置是否成功配置/home/mi/.m2 的 s原创 2015-12-31 13:48:07 · 3531 阅读 · 2 评论 -
hbase过滤器
这篇文章来自hbase权威指南阅读随手笔记二之过滤器base过滤器的比较操作符:LESS <LESS_OR_EQUAL <=EQUAL =NOT_EQUAL <>GREATER_OR_EQUAL >=GREATER >NO_OP no operation比较器:BinaryComparator 按字节索引顺序比较指定字节数组,采用Bytes.compareTo(byte[])Bin转载 2015-11-28 16:18:08 · 2364 阅读 · 1 评论 -
如何同时启动多个Tomcat服务器
这篇文章来自<博客园>如何同时启动多个Tomcat服务器安装目录下的conf子目录中打开server.xml文件,查找以下三处:(1) 修改http访问端口(默认为8080端口)<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort=转载 2015-11-28 01:30:29 · 1065 阅读 · 0 评论 -
Spring 容器IOC解析及简单实现
这篇文章来自极客学院 : Spring 容器IOC解析及简单实现最近一段时间,“容器”两个字一直萦绕在我的耳边,甚至是吃饭、睡觉的时候都在我脑子里蹦来蹦去的。随着这些天一次次的交流、讨论,对于容器的理解也逐渐加深。理论上的东西终归要落实到实践,今天就借助Spring容器实现原理,简单说说吧。简单的说,Spring就是通过工厂+反射将我们的bean放到它的容器中的,当我们想用某个bean的时候,只需要转载 2015-12-15 14:54:38 · 2286 阅读 · 0 评论 -
Spring 容器AOP的实现原理——动态代理
本文来自极客学院 Spring 容器AOP的实现原理——动态代理之前写了一篇关于IOC的博客——《Spring容器IOC解析及简单实现》,今天再来聊聊AOP。大家都知道Spring的两大特性是IOC和AOP。IOC负责将对象动态的注入到容器,从而达到一种需要谁就注入谁,什么时候需要就什么时候注入的效果,可谓是招之则来,挥之则去。想想都觉得爽,如果现实生活中也有这本事那就爽歪歪了,至于有多爽,各位自己转载 2015-12-15 17:33:53 · 2460 阅读 · 0 评论 -
HTTP协议头部与Keep-Alive模式详解
无论是接触互联网开发的哪个方面,都需要好好的了解下HTTP协议的过程,这篇文章主要讲解HTTP首部字段,文章来自HTTP协议头部与Keep-Alive模式详解1、什么是Keep-Alive模式? 我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 之后立即断开连接(HTTP协议为无连接的协议);当使用Keep-转载 2015-11-30 10:51:30 · 2105 阅读 · 1 评论 -
Web服务器的工作原理
了解WEB服务器的工作原理和相关概念是后台开发人员的必修课,这篇文章来自 : Web服务器的工作原理很多时候我们都想知道,web容器或web服务器(比如Tomcat或者jboss)是怎样工作的?它们是怎样处理来自全世界的http请求的?它们在幕后做了什么动作?Java Servlet API(例如ServletContext,ServletRequest,ServletResponse和Sessio转载 2015-12-01 11:23:40 · 2550 阅读 · 1 评论 -
找到合适的方案记录服务端日志
做过服务端开发的同学都清楚日志是多么的重要,你要分析应用当天的 PV/UV,你需要对日志进行统计分析; 你需要排查程序 BUG, 你需要寻找日志中的异常信息等等, 所以, 建立一套合适的日志体系是非常有必要的. 日志体系一般都会遵循这么几个原则 :根据应用的需要记录对应的信息用于后期离线统计的日志信息与记录程序运行问题的日志分开存放选择合适的日志结构和日志记录工具本文介绍的日志原创 2016-01-08 14:58:25 · 5215 阅读 · 1 评论 -
JAVA中常见的Exception
这篇文章转载自 : JAVA中常见的Exception常见的几种如下:NullPointerException - 空指针引用异常 ClassCastException - 类型强制转换异常。 IllegalArgumentException - 传递非法参数异常。 ArithmeticException - 算术运算异常 ArrayStoreException - 向数组中存放与声明类型不转载 2015-12-23 15:36:09 · 4140 阅读 · 1 评论 -
开涛老师的博客汇总 -- Web MVC 开发学习
北京冬季雾霾越来越严重,连续三天,天天爆表,压抑的天气下,心情也显得很是压抑!Web MVC简介 这篇文章主要是对Web开发的发展历程进行介绍,从最原始,笨拙的开发方法到MVC模式的历程演练 文章链接 : Web MVC简介Spring MVC入门 这篇文章是对Spring MVC框架开发Web应用的总体概览,介绍了Spring MVC中的核心组件及其相应的功能介绍 : Dispat原创 2015-12-04 17:40:45 · 5370 阅读 · 0 评论 -
如何同时启动多个Tomcat服务器
这篇文章转载自 : 如何同时启动多个Tomcat服务器conf子目录中打开server.xml文件,查找以下三处:(1) 修改http访问端口(默认为8080端口)<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8080" minPr转载 2016-01-06 14:11:29 · 2768 阅读 · 0 评论 -
Web容器自动对HTTP请求中参数进行URLDecode处理
这篇文章转载自 : Web容器自动对HTTP请求中参数进行URLDecode处理如题,在Java中也许很多人都没有注意到当我们发送一个http请求时,如果附带的参数被URLEncode之后,到达web容器之后,开发者获取到的参数值会自动变成了encode之前的值。这是一个很好的特点,开发者完全可以忽略http的参数是否需要decode这种事,但是decode到底是在什么发生的呢?第一步就是从requ转载 2016-01-06 11:25:23 · 6705 阅读 · 0 评论 -
Rose Study
公司大量使用Rose框架支持线上业务,不仅仅是它的实用性和方便的特点吸引你去学习,更是它优雅的设计. 但是,由于是开源的框架,所以,资料和示例程序都是有限的,这一篇陈臻老师的作品简单的介绍了Rose的使用方法,适合初学者学习. 文章链接 : rose手册计划章节计划rose手册第一章:入门指引 (chapter_1 or http://www.54chen.com/life/rose-manua转载 2015-12-04 17:15:47 · 3155 阅读 · 0 评论 -
Linux大棚版redis入门教程
后端开发过程中,有时需要考虑系统的实时性,那么缓存系统就派上用场了,当然,现在最常用的当属Redis,这篇文章转自 Linux大棚版redis入门教程【本教程目录】redis是什么redis的作者何许人也谁在使用redis学会安装redis学会启动redis使用redis客户端redis数据结构 – 简介redis数据结构 – stringsredis数据结构 – listsre转载 2015-12-03 10:10:01 · 2504 阅读 · 0 评论 -
Git学习
北京冬季雾霾越来越严重,连续三天,天天爆表,压抑的天气下,心情也显得很是压抑!Web MVC简介 这篇文章主要是对Web开发的发展历程进行介绍,从最原始,笨拙的开发方法到MVC模式的历程演练 文章链接 : Web MVC简介Spring MVC入门 这篇文章是对Spring MVC框架开发Web应用的总体概览,介绍了Spring MVC中的核心组件及其相应的功能介绍 : DispatchS转载 2015-12-01 20:24:55 · 2313 阅读 · 1 评论 -
布隆过滤器
很多数据库存储的底层实现方案中都采用了布隆过滤器,好好的学习下吧.这篇文章来自 <博客园> 布隆过滤器 <\CSDN> 初步认识bloom filter(布隆过滤器)以及java实现代码 假如有1亿个不重复的正整数(大致范围已知),但是只有1G的内存可用,如何判断该范围内的某个数是否出现在这1亿个数中?最常用的处理办法是利用位图,1*108/1024*1024*8=11.9,也只需要申请12转载 2015-11-25 20:54:07 · 1680 阅读 · 0 评论 -
WEB 容器、WEB服务和应用服务器的区别与联系
【web 容器】 何为容器: 容器是一种服务调用规范框架,J2EE 大量运用了容器和组件技术来构建分层的企业级应用。在 J2EE 规范中,相应的有 WEB Container 和 EJB Container 等。 WEB 容器给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使 JSP,SERVLET 直接跟容器中的环境变量交互,不必关注其它系统问题(从这个角度来说转载 2015-11-20 11:02:13 · 1889 阅读 · 0 评论 -
CGI与Servlet的区别和联系
定义:CGI(Common Gateway Interface 公共网关接口)是HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。功能:绝大多数的CGI程序被用来解释处理杰自表单的输入信息,并在服 务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使 网页具有交互功能。运行环境:CGI程序在UNIX操作系统上CERN或NCSA格式的服务器上运转载 2015-11-19 20:31:42 · 3479 阅读 · 0 评论 -
Linux Shell 1>/dev/null 2>&1 含义
shell中可能经常能看到:echo log > /dev/null 2>&1命令的结果可以通过%>的形式来定义输出/dev/null :代表空设备文件 :代表重定向到哪里,例如:echo “123” > /home/123.txt 1 :表示stdout标准输出,系统默认值是1,所以”>/dev/null”等同于”1>/dev/null” 2 :表示stderr标准错误转载 2015-11-16 11:11:31 · 2137 阅读 · 4 评论 -
构建Hadoop伪分布式环境
构建Hadoop伪分布式环境 这篇文章介绍Hadoop伪分布式环境的搭建过程与原理,是个人的学习总结,以纪念在各个步骤中遇到的麻烦、踩过的坑! 这篇笔记包含这样几个内容:配置伪分布式环境运行一个简单的作业可能遇到的问题及解决办法配置伪分布式环境 本文中的内容基于Hadoop2,即MapReduce作业运行在Yarn平台之上。打通SSH,实现无密码登陆 由于Hadoop控制脚本需原创 2015-10-13 18:30:15 · 1817 阅读 · 0 评论 -
Spring 使用注解方式进行事物管理
Spring 使用注解方式进行事物管理大家在使用spring的注解式事务管理时,对事务的传播行为和隔离级别可能有点不知所措,下边就详细的介绍下以备方便查阅。事物注解方式: @Transactional当标于类前时, 标示类中所有方法都进行事物处理例子:@Transactionalpublic class TestServiceBean implements TestService {}当类中某些方转载 2015-11-09 10:04:38 · 1025 阅读 · 0 评论 -
对Thrift的一点点理解
对Thrift的一点点理解这是一篇学习Thrift的笔记,包含了这样几点内容:简单介绍Thrift怎样使用ThriftThrift整体架构Thrift中的知识点 struct可以设置默认值 thrift中的序列化机制 thrift中的版本控制简单介绍Thrift 它是一款RPC通信框架,采用C/S架构,且拥有高效的序列化机制。要使用Thrift原创 2015-10-08 10:09:43 · 7377 阅读 · 0 评论 -
Redis介绍 && Java客户端操作Redis
Redis介绍 && Java客户端操作Redis本文内容redis介绍redis的 shell 客户端简介redis的 java 客户端简介环境配置redis 2.8.17 64bitJDK1.6redis介绍 大多数时候,我们都将 redis 称作是内存数据库,它在运行过程中,将键值对信息存储在内存中,同时在后台以异步的形式写入本地数据库中(默认是:dump.rdb,在 redi原创 2015-09-28 14:13:52 · 4063 阅读 · 3 评论 -
Paoding Rose学习(一)
Paoding Rose学习(一)本文包括一下几个内容rose环境介绍一个简单的基于rose的web程序web.xml介绍自动化部署需要的环境eclipse/Intellij IDEMaven插件Tomcat7.xrose环境介绍 rose是在Spring基础上构建的Web开发框架,它符合Servlet规范,且大量的采用约定优于配置的策略,比如Controller、DAO等,具体原创 2015-09-25 16:48:46 · 8443 阅读 · 4 评论 -
rose初始化
rose封装了spring框架,集合spring IOC和AOP所构建的一个MVC框架rose载体为RoseFilter在web.xml配置文件,如filter进行配置即可,如下: roseFilter net.paoding.rose.RoseFilter roseFilt转载 2015-08-05 14:12:27 · 2221 阅读 · 1 评论 -
git 和 vim 学习笔记
在学校的时候,也断断续续的用过 git和 vim,断断续续的原因是学校的网络对 github 支持不是很好,有时候会打不开,所以,用来对代码进行版本管理就不太合适了。所以,对 git 和 vim 的命令就不是多熟悉了。现在工作嘛,长期使用这两个工具,就一定要很熟悉才行,为了让自己不忘记一些常用命令,记录下吧。git 常用命令本地创建仓库创建仓库 cd < target directory原创 2015-07-22 13:28:20 · 1667 阅读 · 0 评论 -
Java Servlet工作原理问答
导读本文来自stackoverflow的问答,讨论了Java Servlet的工作机制,如何进行实例化、共享变量和多线程处理。问题:Servlet是如何工作的?Servlet 如何实例化、共享变量、并进行多线程处理?假设我有一个运行了大量 Servlet 的 web 服务器。通过 Servlet 之间传输信息得到 Servlet 上下文,并设置 session 变量。现在,如果有两名或更多使用者向这转载 2015-11-20 15:39:35 · 1013 阅读 · 0 评论 -
rose框架学习总结
rose框架学习总结rose框架为paoding rose框架具体可见https://code.google.com/p/paoding-rose/1 对rose框架的整体认识1.1B/S web开发 我们所做的web开发是基于HTTP的应用服务开发,主要由两部分组成:浏览器+服务端 大致流程为:浏览器向服务端发送HTTP请求,获取服务器IP,建立TCP连接,发送请求 服务器侦听请求,侦听到请转载 2015-10-30 14:32:38 · 3911 阅读 · 0 评论 -
java中HashMap,LinkedHashMap,TreeMap,HashTable的区别
java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。 Hashmap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得转载 2015-12-10 19:57:55 · 2388 阅读 · 0 评论 -
JDBC在getConnection之前为什么要调用Class.forName
这篇文章转载自 : JDBC在getConnection之前为什么要调用Class.forName获取一个数据库连接的通用模板如下:String driver = "oracle.jdbc.OracleDriver";String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";String user = "scott";String passwor转载 2015-12-11 15:08:50 · 3060 阅读 · 8 评论 -
crontab命令
这篇文章来自每天一个linux命令(50):crontab命令 前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :cronta转载 2015-11-24 17:17:44 · 1082 阅读 · 3 评论 -
JDBC为什么要使用PreparedStatement而不是Statement
本文转载自 JDBC为什么要使用PreparedStatement而不是StatementPreparedStatement是用来执行SQL查询语句的API之一,Java提供了 Statement、PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedStatement 用于执行参数化查询,而 Ca转载 2015-12-10 20:47:56 · 2457 阅读 · 0 评论 -
HBase -ROOT-和.META.表结构
在HBase中,大部分的操作都是在RegionServer完成的,Client端想要插入,删除,查询数据都需要先找到相应的RegionServer。什么叫相应的RegionServer?就是管理你要操作的那个Region的RegionServer。Client本身并不知道哪个RegionServer管理哪个Region,那么它是如何找到相应的RegionServer的?本文就是在研究源码的基础上揭秘转载 2015-11-24 14:09:20 · 1339 阅读 · 0 评论 -
sed 简明教程
这篇文章同样出自陈皓的手笔,与之前的AWK那篇文章一样,都是神级作品,原文地址 sed简明教程用s命令替换我使用下面的这段文本做演示:$ cat pets.txtThis is my cat my cat's name is bettyThis is my dog my dog's name is frankThis is my fish my fish's name is geo转载 2015-11-23 17:37:54 · 997 阅读 · 0 评论 -
AWK 简明教程
这篇文章出自陈皓老师的手笔 : AWK简明教程我从netstat命令中提取了如下信息作为用例:$ cat netstat.txtProto Recv-Q Send-Q Local-Address Foreign-Address Statetcp 0 0 0.0.0.0:3306 0.0.0.0:*转载 2015-11-23 11:14:36 · 968 阅读 · 0 评论 -
关于Spring的69个面试问答——终极列表
这篇文章总结了一些关于Spring框架的重要问题,这些问题都是你在面试或笔试过程中可能会被问到的。下次你再也不用担心你的面试了,Java Code Geeks这就帮你解答。大多数你可能被问到的问题都列举在下面的列表中了。所有的核心模块,从基础的Spring功能(如Spring Beans)到上层的Spring MVC框架,文章中都会进行简短的讲解。看完这些面试问题,你应该看看我们的Spring教程。转载 2015-11-20 15:19:48 · 1005 阅读 · 0 评论 -
(Windows Maven项目)Redis数据库的安装和操作实现
Redis是一个内存数据库,他会把你写入其中的数据缓存到内存中,之后会周期性的往磁盘中写入,这篇文章中介绍的是在Windows环境下利用Maven工具编译运行Java文件实现Redis数据库的操作。 首先,我们需要下载Redis工具:http://redis.io/download,之后解压就可以了,我们会看到解压的目录下存在着这样一些文件: 其中,两个可原创 2015-07-19 00:57:40 · 4954 阅读 · 0 评论