08 2016 档案

摘要:预制条件和spring源码导入eclipse中一样,下面直接给出导入eclipse的步骤。 步骤: 1. 下载struts相应版本的源码 http://struts.apache.org/download.cgi 。我这里下载的是struts-2.3.16-all.zip。下载完成后解压到本地目录。 阅读全文
posted @ 2016-08-31 11:54 Secondworld 阅读(538) 评论(0) 推荐(0)
摘要:前置条件: 1. 正确安装jdk,并配置好JAVA_HOME、PATH。(我这里安装的是jdk1.8) 2. 正确安装好eclipse。(我的eclipse版本是: Neon Release (4.6.0)) 步骤: 1. 首先去下载spring的源码 https://github.com/spri 阅读全文
posted @ 2016-08-31 11:06 Secondworld 阅读(6053) 评论(2) 推荐(0)
摘要:前言: 写完了socket小应用的原始版本,中间还有好多预想的功能没有实现,在写的过程中也发现了很多问题。因为前面有粗略的看过tomcat实现原理解析,知道tomcat其实也是纯java写的web服务器,而且用的也是socket通信。所以特别想看下tomcat是如何处理这些问题的。 主要步骤: 1. 阅读全文
posted @ 2016-08-29 23:34 Secondworld 阅读(2937) 评论(0) 推荐(1)
摘要:前言: 在web编程技术内幕中看到一个用apache组件进行文件下载的例子,对于DiskFileUpload类的setRepositoryPath方法,设置临时文件的存放路径,里面指出如果不调用该方法指定绝对路径。那么会使用"java.io.tempdir"这个环境属性的值。想到前面没有遇到过这个环 阅读全文
posted @ 2016-08-29 09:33 Secondworld 阅读(885) 评论(0) 推荐(0)
摘要:问题描述: 最近在写一个通信相关的项目,服务器端和客户端通过socket进行通信。本来想利用read的阻塞特性,服务器端和客户端按照一定的流程进行文件读写。结果发现客户端或者服务器read方法一直都返回乱码。而且读到的一端可能是客户端,可能是服务器端,固定的读到前面有四个字节的乱码,后续读到的字节码 阅读全文
posted @ 2016-08-28 18:33 Secondworld 阅读(1247) 评论(0) 推荐(0)
摘要:同样的我们需要安装jython,具体的步骤如下: 1. 去 http://sourceforge.net/projects/jython/ 下载最新的jython相关的jar包。 2. 下载下来的jar包其实既是使用的时候需要引入的jar包,也是安装就jython的jar包。具体安装细节参照:htt 阅读全文
posted @ 2016-08-22 12:04 Secondworld 阅读(1191) 评论(0) 推荐(0)
摘要:问题: 最近在做一个应用的时候碰到了一个问题。客户端需要调用服务器端传回的脚本信息,然后执行。其中脚本类型包括ruby。而java中调用ruby的代码大致如下: 1 String jrubyCode="puts 'hello world'"; 2 ScriptEngineManager manage 阅读全文
posted @ 2016-08-22 11:40 Secondworld 阅读(2338) 评论(0) 推荐(0)
摘要:问题描述: 今天突然想写一个socket通信的小应用,分别采用BIO、NIO、AIO的方式来实现,来复习前面看的关于TCP/UDP通信的知识。于是乎在原来安装了jdk1.6的机子上重新安装了jdk1.8。结果就出现了一个很蛋疼的问题:我原来的JAVA_HOME配置根本就没有改变,但是在命令行执行 j 阅读全文
posted @ 2016-08-17 18:26 Secondworld 阅读(2610) 评论(0) 推荐(0)
摘要:遍历算法主要用在在处理迷宫问题,图,最短路径,以及枚举所有可能等问题上。下面我们通过一个简单的例子,来入门深度优先和广度优先算法: 1 package com.rampage.algorithm.base; 2 3 import java.util.ArrayList; 4 import java. 阅读全文
posted @ 2016-08-15 18:10 Secondworld 阅读(509) 评论(0) 推荐(0)
摘要:直接通过一个代码示例来熟悉java中通过反射来对构造函数/域以及方法处理的相关API: 1 package com.rampage.jdk7.chapter2; 2 3 import java.lang.reflect.Array; 4 import java.lang.reflect.Constr 阅读全文
posted @ 2016-08-15 17:12 Secondworld 阅读(1645) 评论(0) 推荐(0)
摘要:访问路径: 文件读写必然涉及到文件会放在某个路径下。在python里,可以通过引入os包来实现切换当前访问的路径: 1 # 假设我在 /home/zyq/KiDe/Python/test 文件夹中有一个文件 test.txt 那么我可以通过以下命 令定位到该文件夹: 2 >>>import os 3 阅读全文
posted @ 2016-08-15 11:22 Secondworld 阅读(1067) 评论(0) 推荐(0)
摘要:字符串分割成数组: 可以使用先scan再join的方法,当然其实有更好的 split方法,专门用来分割字符串 1 # 在Ruby中,如果不使用inspect,直接使用puts输出数组,那么每个元素会占用一行输出 2 irb(main):001:0> puts "Short sentence.Anot 阅读全文
posted @ 2016-08-13 12:26 Secondworld 阅读(249) 评论(0) 推荐(0)
摘要:redis命令不区分大小写 通用命令:1. 获得符合规则的键名列表: keys pattern 其中pattern符合glob风格 ? (一个字符) * (任意个字符) [] (匹配其中的任意一个字符) \x (转义字符) 需要注意的是keys命令会遍历redis中的所有键,如果键比较多,会影响性能 阅读全文
posted @ 2016-08-13 10:52 Secondworld 阅读(2023) 评论(0) 推荐(0)
摘要:简要描述:其实在jdk1.6中就引入了支持脚本语言的API。这使得java能够很轻松的调用其他脚本语言。具体API的使用参考下面的代码: 1 package com.rampage.jdk7.chapter2; 2 3 import java.io.FileWriter; 4 import java 阅读全文
posted @ 2016-08-09 21:19 Secondworld 阅读(781) 评论(0) 推荐(0)
摘要:问题描述: 前面去面试,需要设计一个算法检测麻将是否可以胡牌。简单描述如下:胡牌的规则为,有一个同样的两张牌做将,然后剩下的组成ABC或者AAA的形式。假设有13张牌,都是万字。不存在碰或者杠等特殊情况,判断这13张牌是否可以听牌。如果可以,输出此时作为将的牌和可以听的牌。 实现的代码如下: 1 p 阅读全文
posted @ 2016-08-09 17:26 Secondworld 阅读(1548) 评论(0) 推荐(0)
摘要:问题描述: 假设有A和B来两个人玩牌。游戏的规则是这样的:将一副牌均分成两份,每人拿一份。A先拿出手中的第一张扑克牌,放在桌上,然后B也拿出手中的第一张扑克牌,放在A刚打出来的扑克牌的上面,就这样两人交替出牌。出牌时,如果某人打出的牌与桌上的某张牌的牌面相同,即可将两种牌以及其中间的所有牌全部取走, 阅读全文
posted @ 2016-08-09 17:19 Secondworld 阅读(480) 评论(0) 推荐(0)
摘要:在Linux下安装redis: wget http://download.redis.io/redis-stable.tar.gz tax xzf redis-stable.tar.gz cd redis-stable make 安装完成之后可以看到在 /usr/local/bin下面有很多redi 阅读全文
posted @ 2016-08-04 18:01 Secondworld 阅读(214) 评论(0) 推荐(0)
摘要:说明: 在使用python的时候我们除了使用内置的函数之外,可能还需要使用一些别人写的函数。或者我们写的代码也希望可以给其他人使用。要实现这样的功能,我们就需要按照下面的步骤来定义自己的模块: Step1:新建一个py文件 首先我们将前面一章所写的打印列表的函数保存为一个.py文件,假设我这里保存为 阅读全文
posted @ 2016-08-04 17:55 Secondworld 阅读(958) 评论(0) 推荐(0)
摘要:表达式和变量: 这两点和其他主流的编程语言基本没有差别,这里直接跳过。 需要注意的是 ruby中 x=x+1 可以写成 x+=1 但是不支持 x++ , x-- 等一元运算符 比较运算符和表达式: 在ruby中可以直接在表达式中混合使用比较运算符,来实现如果满足某个逻辑则进行相应的表达式操作: 1 阅读全文
posted @ 2016-08-04 17:18 Secondworld 阅读(343) 评论(0) 推荐(0)
摘要:为什么选择Netty netty是业界最流行的NIO框架之一,它的健壮型,功能,性能,可定制性和可扩展性都是首屈一指的,Hadoop的RPC框架Avro就使用了netty作为底层的通信框架,此外netty在互联网,大数据,网络游戏,企业应用,电信软件等众多行业都得到了成功的商业应用。正因为以上的一些 阅读全文
posted @ 2016-08-03 20:58 Secondworld 阅读(320) 评论(0) 推荐(0)
摘要:异常 jdk1.7对try--catch--finally的异常处理模式进行了增强,下面我们依次来看增强的方面。 1. 为了防止异常覆盖,给Throwable类增加了addSuppressed方法,可以将一个异常信息追加到另一个异常信息之后: 1 /** 2 * 这是第一种防止前面异常被覆盖的方法, 阅读全文
posted @ 2016-08-03 12:22 Secondworld 阅读(1106) 评论(0) 推荐(0)
摘要:Switch jdk1.7的switch语句增加了对字符串类型的支持。其实现的原理是通过字符串的hash值来比较的,代码示例如下: 1 String name = "KiDe"; 2 // Welcome the owner! 3 switch (name) { 4 case "KiDe": 5 S 阅读全文
posted @ 2016-08-03 12:10 Secondworld 阅读(1129) 评论(0) 推荐(0)