- 博客(38)
- 资源 (16)
- 收藏
- 关注
转载 使用ssh公钥密钥自动登陆linux服务器
作为一名 linux 管理员,在多台 Linux 服务器上登陆进行远程操作是每天工作的一部分。但随着服务器的增多,每次登陆,系统都会提示输入用户名和密码,频繁的输入用户名和密码是一件让人很烦的事情。也许有人说可以用一些客户端工具,比如:SecureCRT 等,的确使用这些软件会方便很多,但是这些软件不是价格昂贵的商业软件就是依附于特定平台才能安装使用,所以我今天介绍的是使用 ssh 自带的功能实现
2015-07-06 20:27:20 6490 1
转载 Netty那点事(四)Netty与Reactor模式
一:Netty、NIO、多线程?时隔很久终于又更新了!之前一直迟迟未动也是因为积累不够,后面比较难下手。过年期间@李林锋hw发布了一个Netty5.0架构剖析和源码解读 http://vdisk.weibo.com/s/C9LV9iVqH13rW/1391437855,看完也是收获不少。前面的文章我们分析了Netty的结构,这次咱们来分析最错综复杂的一部分-Netty中的多线程以及NIO的
2015-05-29 10:02:49 2502
转载 Netty那点事(三)Channel与Pipeline
原文章:http://my.oschina.net/flashsword/blog/178561Channel是理解和使用Netty的核心。Channel的涉及内容较多,这里我使用由浅入深的介绍方法。在这篇文章中,我们主要介绍Channel部分中Pipeline实现机制。为了避免枯燥,借用一下《盗梦空间》的“梦境”概念,希望大家喜欢。一层梦境:Channel实现概览
2015-05-28 20:56:20 2225
转载 Netty那点事(二)Netty中的buffer
上一篇文章我们概要介绍了Netty的原理及结构,下面几篇文章我们开始对Netty的各个模块进行比较详细的分析。Netty的结构最底层是buffer机制,这部分也相对独立,我们就先从buffer讲起。What: buffer二三事buffer中文名又叫缓冲区,按照维基百科的解释,是"在数据传输时,在内存里开辟的一块临时保存数据的区域”。它其实是一种化同步为异步的机制,可以解决数据
2015-05-28 20:39:50 685
转载 Netty那点事(一)概述
Netty和Mina是Java世界非常知名的通讯框架。它们都出自同一个作者,Mina诞生略早,属于Apache基金会,而Netty开始在Jboss名下,后来出来自立门户netty.io。关于Mina已有@FrankHui的Mina系列文章,我正好最近也要做一些网络方面的开发,就研究一下Netty的源码,顺便分享出来了。Netty目前有两个分支:4.x和3.x。4.0分支重写了很多东西,并对
2015-05-28 17:42:30 1096
转载 web.xml元素详解
1.xml version="1.0" encoding="ISO-8859-1"?>部署描述符文件就像所有XML文件一样,必须以一个XML头开始。这个头声明可以使用的XML版本并给出文件的字符编码。2.web-app xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc
2015-05-27 10:08:55 905
原创 org.springframework.web.filter.CharacterEncodingFilter详解
很简单很实用的一个过滤器,当前台JSP页面和JAVA代码中使用了不同的字符集进行编码的时候就会出现表单提交的数据或者上传/下载中文名称文件出现乱码的问题,那这个类就可以出场了。web.xml中配置如下: Set UTF-8 org.springframework.web.filter.CharacterEncodingFilter encoding utf-8
2015-05-27 09:57:26 31817 1
转载 HttpClient入门
HttpClient简介HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Commo
2015-05-26 14:28:30 359
转载 一篇很全面的freemarker教程
copy自http://demojava.iteye.com/blog/800204 以下内容全部是网上收集: FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:格式部分,不会输出 3,插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出 4,F
2015-05-25 15:11:40 1292
转载 web上下文监听器ServletContextListener
这个J2EE小提示阐述了ServletContextListener的用法。这个事件类作为Web应用服务的一部分,处理Web应用的 servlet上下文(context)的变化的通知。这可以解释为,好像有个人在服务器旁不断地通知我们服务器在发生什么事件。那当然需要监听者了。因此,在通知上下文(context)初始化和销毁的时候,ServletContextListner非常有用。
2015-05-25 10:41:06 2084
转载 SpringMVC中利用json从后台穿数据到前台
利用json从后台传到前台userManager名称的页面中的过程。[java] view plaincopy@RequestMapping(value="/addUserJson") public String addUserJson(User user,HttpServletRequest request,HttpServl
2015-05-22 17:11:57 654
原创 springMVC--ModelAndView Map对象详解
当控制器处理完请求时,通常会将包含视图名称或视图对象以及一些模型属性的ModelAndView对象返回到DispatcherServlet。因此,经常需要在控制器中构造ModelAndView对象。ModelAndView类提供了几个重载的构造器和一些方便的方法,让你可以根据自己的喜好来构造ModelAndView对象。这些构造器和方法以类似的方式支持视图名称和视图对象。当
2015-05-22 15:51:55 8625 1
转载 Spring注解@Controller @RequestMapping详解
一个简单的基于注解的 Controller 使用过低版本 Spring MVC 的读者都知道:当创建一个 Controller 时,我们需要直接或间接地实现org.springframework.web.servlet.mvc.Controller 接口。一般情况下,我们是通过继承SimpleFormController 或 MultiActionController 来定义自己的 C
2015-05-21 17:30:12 4738
转载 Servlet 单例多线程
Servlet如何处理多个请求访问?Servlet容器默认是采用单实例多线程的方式处理多个请求的:1.当web服务器启动的时候(或客户端发送请求到服务器时),Servlet就被加载并实例化(只存在一个Servlet实例);2.容器初始化化Servlet主要就是读取配置文件(例如tomcat,可以通过servlet.xml的设置线程池中线程数目,初始化线程池通过web.xml,初始化每个参数值
2015-05-04 16:03:17 410
转载 Oracle与MySQL区别
大家都经常使用Oracle数据库和MySQL数据库,虽然在大多数sql处理上都大同小异,但是还是有一些明显的区别,以下为整理的一些区别点,希望能够对各位有所帮助。1.组函数用法规则mysql中组函数在select语句中可以随意使用,但在oracle中如果查询语句中有组函数,那其他列名必须是组函数处理过的,或者是group by子句中的列否则报错eg:select n
2015-03-24 18:40:08 494
转载 Oracle - 数据库的实例、表空间、用户、表之间关系
完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例。 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等); 2) Oracle数据库实例则是一组Oracle后台进程/线程以及在服务器分配的共享内存区。在启动Oracle数据库服务器时,实际上是在服务器的内存中创建一个Oracle实例(即在服务器内存中分配共享内存并创建相关的后台内存),然
2015-03-23 16:24:56 1171
转载 cookie 和session 的区别详解
大家都知道,session是存储在服务器端的,cookie是存储在客户端的,session依赖于cookie,但是让你说详细点,你会吗?我是不太清楚的,特意在网上找了很多资料,发现一篇不错的文章,特整理归纳在此,供有需要的朋友查看。 具体来说cookie机制采用的是在客户端保持状态的方案。它是在用户端的会话状态的存贮机制,他需要用户打开客户端的cookie支持。cookie的作用就是
2015-03-23 09:24:26 430
转载 String StringBuilder StringBuffer 总结
转自:http://www.iteye.com/topic/522167作者:每次上网冲杯Java时,都能看到关于String无休无止的争论。众所周知,String是由字符组成的串,在程序中使用频率很高。Java中的String是一个类,而并非基本数据类型。 不过她却不是普通的类哦!!! 【镜头1】 String对象的创建 1、关于类对象的创
2015-03-23 09:01:08 437
转载 InnoDB的Redo Undo Log
nnoDB的Redo Undo Log 本文是介绍MySQL数据库InnoDB存储引擎重做日志漫游 – Undo Log Undo Log 是为了实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用Undo Log来实现多版本并发控制(简称:MVCC)。 - 事务的原子性(Atomicity) 事务中的所有操作,要么全部完成,要么不做任何操作,不能只做部
2015-03-19 09:58:44 453
转载 MySQL redo log及recover过程浅析
InnoDB redo log首先介绍下Innodb redo log是什么,为什么需要记录redo log,以及redo log的作用都有哪些。这些作为常识,只是为了本文完整。 InnoDB有buffer pool(简称bp)。bp是数据库页面的缓存,对InnoDB的任何修改操作都会首先在bp的page上进行,然后这样的页面将被标记为dirty并被放到专门的flush list上,后
2015-03-19 09:16:33 659
原创 Java正则表达式与replaceAll()与replace()的区别
1:Java中反斜杠“\"是一个特殊字符, 表示转义. 比如你想输出两个引号: " ", 那么你在字符串中就需要这样写: \" \", 因为" 在java中是特殊字符,需要被转义才行. 同样, 如果你想输出一个 \, 那么你需要在字符串中这样写: \\, 其中第一个反斜杠表示转义,这样就使得后面的反斜杠具有最一般的意思.下面我们来看一下代码:public class ReplaceAllT
2014-12-10 10:00:27 20045
原创 ubuntu 14.04 LTS 安装jdk1.8
下载jdk-8u25-linux-i586.tar.gzoracle下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载完成思路:新建文件夹-解压-设置环境变量-测试环境变量命令如下新建文件夹-解压 并放入新建文件夹中sud
2014-12-04 18:54:01 536
转载 深入Java虚拟机:Javac编译与JIT编译
编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行: 其中绿色的模块可以选择性实现。很容易看出,上图中间的那条分支是解释执行的过程(即一条字节码一条字节码地解释执行,如JavaScript),而下面的那条分支就是传统编译原理中从源代码到目标机器代码的生成过程。
2014-12-03 12:13:27 735
转载 JDK动态代理实现原理
文章出处:http://rejoy.iteye.com/blog/1627405里面有很多关于JDK源码的东西可以学习。之前虽然会用JDK的动态代理,但是有些问题却一直没有搞明白。比如说:InvocationHandler的invoke方法是由谁来调用的,代理对象是怎么生成的,直到前几个星期才把这些问题全部搞明白了。 废话不多说了,先来看一下JDK的动态是怎么用的。
2014-12-01 14:45:03 469
原创 java动态代理解析
动态代理实现了当原始类和接口未知的情况下,就确定代理类的代理行为,当代理类与原始类脱离实际联系时,就可以领会运用与不同的场合。部分参考《http://www.cnblogs.com/xiaoluo501395377/p/3383130.html》和《深入理解Java虚拟机》在Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring
2014-12-01 14:01:21 723 1
转载 JDK7的动态类型,关于java.lang.invoke包的解释
来源:深入理解Java 7:核心技术与最佳实践方法句柄(method handle)是JSR 292中引入的一个重要概念,它是对Java中方法、构造方法和域的一个强类型的可执行的引用。这也是句柄这个词的含义所在。通过方法句柄可以直接调用该句柄所引用的底层方法。从作用上来说,方法句柄的作用类似于2.2节中提到的反射API中的Method类,但是方法句柄的功能更强大、使用更灵活、性能也更好。实
2014-11-29 21:49:31 4543
原创 <init>与<clinit>的区别
可能出现在class文件中的两种编译器产生的方法是:实例初始化方法(名为)和类与接口初始化方法(名为)。 这两种方法有什么区别呢?首先:这两个方法一个是虚拟机在装载一个类初始化的时候调用的(clinit)。另一个是在类实例化时调用的(init) 首先说说类的初始化:在Java代码中,一个正确的初始值是通过类变量初始化语句或者静态初始化语句给出的。一个类变量初始化语句是变
2014-11-26 14:01:38 1111
转载 数据库范式(1NF 2NF 3NF BCNF)
数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。 范式说明 1.1 第一范式(1NF)无重复的列 所谓第一范式(1NF)是指数据库表的每一列都是
2014-11-05 21:41:17 557
转载 super的正确用法
super的含义 super并没有代表超类的一个引用的能力(但是,this可以作为隐含的引用,所以可以System.out.println(this);),只是代表调用父类的方法或属性而已。 反例:如果super是超类的引用,那么就可以System.out.println(super);, 事实上不可以,所以super不是超类的引用 看下面的程序
2014-08-16 20:33:48 823
转载 java泛型、泛型的内部原理:类型擦除以及类型擦除带来的问题
原始文章:http://blog.csdn.net/lonelyroamer/article/details/7868820
2014-08-12 15:07:25 569
转载 Dom4j解析XML文件
dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它. 对主流的Java XML API进行的性能、功能和易用性的评测,dom4j无论在那个方面都是非常出色的。如今你可以看到越来越多的Ja
2014-07-07 15:47:41 480
转载 对象和引用的区别与联系
为便于说明,我们先定义一个简单的类:class Vehicle {int passengers; int fuelcap;int mpg;}有了这个模板,就可以用它来创建对象: Vehicle veh1 = new Vehicle();通常把这条语句的动作称之为创建一个对象,其实,它包含了四个动作。1)右边的“new Vehicle”,是
2014-07-07 12:44:44 648
转载 类的加载顺序
类加载的顺序:1.加载静态成员/代码块:先递归地加载父类的静态成员/代码块(Object的最先);再依次加载到本类的静态成员。同一个类里的静态成员/代码块,按写代码的顺序加载。如果其间调用静态方法,则调用时会先运行静态方法,再继续加载。同一个类里调用静态方法时,可以不理会写代码的顺序。调用父类的静态成员,可以像调用自己的一样;但调用其子类的静态成员,必须使用“子类名.成员名”来
2014-07-03 21:17:16 647
转载 深入浅出URL编码
一、问题: 编码问题是JAVA初学者在web开发过程中经常会遇到问题,网上也有大量相关的文章介绍,但其中很多文章并没有对URL中使用了中文等非ASCII的字 符造成服务器后台程序解析出现乱码的问题作出准确的解释和说明。本文将详细介绍由于在URL中使用了中文等非ASCII的字符造成乱码的问题。1、在URL中中文字符通常出现在以下两个地方:(1)、Query String
2014-07-01 16:26:06 782
转载 GET POST 区别详解
1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。 2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中。
2014-07-01 16:22:58 559
转载 getParameter和getAttribute的区别
HttpServletRequest类既有getAttribute()方法,也由getParameter()方法,这两个方法有以下区别:(1)HttpServletRequest类有setAttribute()方法,而没有setParameter()方法(2)当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数,例如假定welcome.j
2014-06-24 12:56:09 490
原创 getRealPath与getContextPath说明
getServletContext() 一个servlet可以使用getServletContext()方法得到web应用的servletContext request.getRealPath(java.lang.String path) 这个方法已经不推荐使用了Deprecated. As of Version 2.1 of the Java Se
2014-06-05 09:14:24 1085
转载 getContextPath、getServletPath、getRequestURI的区别
工程图见附件: 假定你的web application 名称为news,你在浏览器中输入请求路径: http://localhost:8080/news/main/list.jsp 则执行下面向行代码后打印出如下结果: 1、 System.out.println(request.getContextPath()); //可返回站点的根路径。也就是项目的名字 打印结果:/news
2014-05-29 13:45:42 585
Netty权威指南第二版的源码
2015-06-14
netty-5.0.0.Alpha2.
2015-06-03
netty-4.0.28.Final
2015-06-03
netty-3.10.3.Final
2015-06-03
Java_TCP_IP_Socket编程(原书第2版)中文版
2015-06-02
Netty权威指南
2015-06-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人