biGpython

生亦何欢,死亦何苦? 予我長袖,我必善舞!

导航

11 2011 档案

常见题目_JAVA
摘要:容器原理 set和map ,几个线程安全对象的区别线程与进程的区别线程几个状态,方法相关;synchronize关键字的用法及意义数组创建方式异常机制:继承关系、区别、常见runtime异常单例模式的常见写法和意义内部类写法和区别servlet原理、生命周期,JSP的本质,常见用法,forward和redirect的区别等几个问题java内存泄露的原理socket编程struts2和1的主要区别s... 阅读全文

posted @ 2011-11-29 18:07 biGpython 阅读(236) 评论(0) 推荐(0) 编辑

程序学习心得
摘要:最近有一个体会,也算是老生常谈的问题了。代码光看是没有用的,必须手写一遍。比如那个泛型接口的东西,看的时候很明白,什么什么意思。当闭上眼手写的时候,很多细节都无法完成,实际上还是没有弄明白。加入思考的重写一遍,就会好很多。就像一些概念也好,理论也好的东西,单靠记忆或者背诵是很容易忘记的。一定要理解的去记忆,用自己的语言体会和方式来表达出来,这样加深理解记忆,也有助于提高表达能力。 阅读全文

posted @ 2011-11-25 10:09 biGpython 阅读(181) 评论(0) 推荐(0) 编辑

进程和线程
摘要:进程(Process)是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。程序只是一组指令的有序集合,它本身没有任何运行的含义,只是一个静态实体。而进程则不同,它是程序在某个数据集上的执行,是一个动态实体。它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消,反映了一个程序在一定的数据集上运行的全部动态过程。线程(Thread)是进程的一个实体,是CPU调度和分派的基本单位。线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。二者关系 线程和进程的关系是:线程是属于进程的,线程运行在进程空间内,. 阅读全文

posted @ 2011-11-24 18:32 biGpython 阅读(176) 评论(0) 推荐(0) 编辑

.Net体系结构
摘要:1 .Net framework 体系结构如图所示:由下向上依次介绍一,最底层为操作系统: .NETFramework 必须运行在操作系统上,如Win32、WinCE、PocketPC等操作系统二,公共语言运行时(Common Language Runtime)简称 CLR三,.NETFramework 基类库(Framwork Class Library)简称 FCL四,ADO.NET&XML : ADO数据访问组件,提供了丰富的XML支持五,ASP.NET,Web服务,Web窗体,Windows窗体六,公共语言规范(Common Language Specifiaction)简称C 阅读全文

posted @ 2011-11-23 11:40 biGpython 阅读(328) 评论(0) 推荐(0) 编辑

TCP/IP协议简介
摘要:1 TCP/IP协议基础 TCP/IP协议包括两个子协议:一个是TCP协议(Transmission Control Protocol,传输控制协议),另一个是IP协议(Internet Protocol,互联网协议),它起源于20世纪60年代末。 在TCP/IP协议中,TCP协议和IP协议各有分工。TCP协议是IP协议的高层协议,TCP在IP之上提供了一个可靠的,连接方式的协议。TCP协议能保证数据包的传输以及正确的传输顺序,并且它可以确认包头和包内数据的准确性。如果在传输期间出现丢包或错包的情况,TCP负责重新传输出错的包,这样的可靠性使得TCP/IP协议在会话式传输中得到充分应用。IP协 阅读全文

posted @ 2011-11-23 11:39 biGpython 阅读(663) 评论(0) 推荐(0) 编辑

在eclipse中反编译并查看jar包的class文件,批量反编译
摘要:第一种:很方便,直接用F3或者ctrl点击查看。Eclipse反编译工具Jad及插件JadClipse配置 超傻瓜的教程:Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的。不过因为是控制台运行,所以用起来不太方便。不过幸好有一个eclipse的插件JadClipse,二者结合可以方便的在eclipse中查看class文件的源代码。下面介绍一下配置:A.下载JadClipse,http://jadclipse.sourceforge.net/wiki/index.php/Main_Page#Download,注意选择与eclipse版本一致 阅读全文

posted @ 2011-11-21 15:15 biGpython 阅读(2734) 评论(0) 推荐(0) 编辑

同步/异步与阻塞/非阻塞的区别
摘要:这两组概念常常让人迷惑,因为它们都是涉及到IO处理,同时又有着一些相类似的地方.首先来解释同步和 异步的概念,这两个概念与消息的通知机制有关.举个 例子,比如我去银行办理业务,可能选择排队等候,也可能取一个小纸条上面有我的号码,等到排到我这一号时由柜台的人通知我轮到我去办理业务了.前 者(排队等候)就是同步等待消息,而后者(等待别人通知)就是异步等待消息.在异步消息处理中,等待消息者(在这个例子中就是等待办理业务的人)往往注册 一个回调机制,在所等待的事件被触发时由触发机制(在这里是柜台的人)通过某种机制(在这里是写在小纸条上的号码)找到等待该事件的人.而在实际 的程序中,同步消息处理就好比简 阅读全文

posted @ 2011-11-21 11:46 biGpython 阅读(284) 评论(0) 推荐(0) 编辑

J2EE通用编码指导
摘要:一个J2EE应用系统需要做下列几步工作:开发和编译代码时指定字符集为UTF-8。JBuilder和Eclipse都可以在项目属性中设置。使用过滤器,如果所有请求都经过一个Servlet控制分配器,那么使用Servlet的filter执行语句,将所有来自浏览器的请求(request)转换为UTF-8,因为浏览器发过来的请求包根据浏览器所在的操作系统编码,可能是各种形式编码。关键一句:request.setCharacterEncoding("UTF-8")。网上有此filter的源码,Jdon框架源码中com.jdon.util.SetCharacterEncodingFil 阅读全文

posted @ 2011-11-18 13:17 biGpython 阅读(196) 评论(0) 推荐(0) 编辑

长连接与短连接 同步与异步
摘要:这个东西看过好多遍了,总是混淆,在代码实现没有下功夫,总在看概念性的东西。长连接与短连接长连接:client方与server方先建立连接,连接建立后不断开,然后再进行报文发送和接收。这种方式下由于通讯连接一直存在。此种方式常用于P2P通信。短连接:Client方与server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此方式常用于一点对多点通讯。C/S通信。 其实长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态。长连接与短连接的操作过程通常的短连接操作步骤是:连接→数据传输→关闭连接;而长连接通常就是:连接→数据传输→保持连接(心跳)→数据传输→保 阅读全文

posted @ 2011-11-17 11:16 biGpython 阅读(2050) 评论(0) 推荐(0) 编辑

Java字符编码知识简介
摘要:1、基本信息摘要:在Java应用程序特别是Web应用中,经常遇到字符的编码问题。为了防止出现乱码,首先需要了解字符编码的基本概念以及Java是如何处理字符编码的,这样就可以有目的地在输入/输出环节中增加必要的转码。本文将分以下几部分介绍:1.什么是字符集?什么是编码?2.常用字符集有哪些?3.为什么会有乱码?4.Java字符编码5.JSP编码6.有没有万金油?7.参考资料和推荐参阅2、什么是字符集?什么是编码?l字符(Character):是文字与符号的总称,包括文字、图形符号、数学符号等。l字符集(Charset):就是一组抽象字符的集合。字符集常常和一种具体的语言文字对应起来,该文字中的所 阅读全文

posted @ 2011-11-15 10:28 biGpython 阅读(859) 评论(0) 推荐(0) 编辑

java类型信息
摘要:运行时类型信息:RTTI,假设编译时已经知道了所有的类型反射机制,在运行时发现和使用类的信息范例:继承于shape下的circle square 等类,shape中拥有方法draw(System.out.println(this + "drawed")),其子类自动继承,shape有抽象方法toString(),子类实现其抽象方法。在新建List中加入其子类对象,遍历集合调用draw方法,输出各自的toString。RTTI的含义:在运行时,识别一个对象的类型。多态机制,“下面的事就由多态机制完成,shape对象实际执行什么代码,是由引用所指向的具体对象决定的。因为希望大部 阅读全文

posted @ 2011-11-14 21:49 biGpython 阅读(444) 评论(0) 推荐(0) 编辑

Log4j高级教程,根据包输出日志
摘要:以前都是把所有日志都输出到一个文件下面,今天有个同事问想把某个包下的日志输出到指定的地方,于是就在网上查了一些资料,总结一下,以免以后用到。真的是没有那么多时间来整理啊 哎,今天用到的是最下面的几个,指定包或者类的日志文件输入到指定的文件,关键在于先前配置了rootlogger的全部配置,如何让自定义的包或类下的日志不受全局rootlogger管理?注意这句:log4j.rootLogger = DEBUG,S,E,D #全局log4j.logger.org.apache.axis=DEBUG,R1 #指定的 org.apache.axis包下所有的日志log4j.additivity.or. 阅读全文

posted @ 2011-11-11 15:39 biGpython 阅读(4318) 评论(0) 推荐(0) 编辑

“java程序打成jar包 如何处理第三方jar包”
摘要:eclipse的export的 runnable jar file 导出的jar包的形式应该可以避免这个问题,直接想所依赖的jar里的class文件也一并打入jar包里了。问题一:现在有一j2se程序,依赖于jdk1.5、poi.jar、commons-lang.jar。打成jar包后,依赖于jdk的部分代码是可以执行的。但是依赖于poi.jar、commons-lang.jar这两个包的程序没有办法执行。我知道是因为在classPath中无法找到上述两个包的缘故。但不希望每次都通过设置classpath的方式去运行这个jar程序。请问通过什么样的打包办法可以让程序不用设置classpath而 阅读全文

posted @ 2011-11-09 13:44 biGpython 阅读(4811) 评论(2) 推荐(1) 编辑

JMeter整合自己java代码
摘要:我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","Java Vuser"等协议.同样,Jmeter也支持自定义编写的测试代码,不过与LoadRunner不同的是,Jmeter没有自带编译器,需要借助第三方编译器才能实现.下面举一个简单的Java自定义测试代码例子,使用Java编译器编写测试代码(Java编译器可以用Eclipse,JBulider 等),实现功能为:在测试前输入任意一个字符串,然后判断该字符串的长度是否大于5,如果大于则测试结果成 阅读全文

posted @ 2011-11-09 10:05 biGpython 阅读(1608) 评论(1) 推荐(0) 编辑

Java反射机制简单介绍
摘要:一.概述 reflection是一系列的API,用于表示或者处理当前JVM中的类,接口和对象. java.lang.reflect/java.lang.Class二.主要功能 确定一个对象的类 取出类的modifiers,数据成员,方法,构造器,和超类. 找出某个接口里定义的常量和方法说明. 创建一个类实例,这个实例在运行时刻才有名字(运行时间才生成的对象). 取得和设定对象数据成员的值,如果数据成员名是运行时刻确定的也能做到. 在运行时刻调用动态对象的方法. 创建数组,数组大小和类型在运行时刻才确定,也能更改数组成员的值.三.分析类 取得数据成员名,方法和构造器四.取得Class对象 方法一 阅读全文

posted @ 2011-11-08 10:49 biGpython 阅读(440) 评论(0) 推荐(0) 编辑

java.nio.ByteBuffer 类 缓冲区
摘要:这有一篇关于NIO的http://www.iteye.com/topic/834447挺不错的Buffer 类定义了一个可以线性存放primitive type数据的容器接口。Buffer主要包含了与类型(byte, char…)无关的功能。值得注意的是Buffer及其子类都不是线程安全的。每个Buffer都有以下的属性:capacity这个Buffer最多能放多少数据。capacity一般在buffer被创建的时候指定。limit在Buffer上进行的读写操作都不能越过这个下标。当写数据到buffer中时,limit一般和capacity相等,当读数据时,limit代表buffer中有效数据 阅读全文

posted @ 2011-11-08 10:28 biGpython 阅读(697) 评论(0) 推荐(0) 编辑

HTTP协议及其请求头分析
摘要:HTTP协议及其请求头分析众所周知,Internet的基本协议是TCP/IP协议,目前广泛采用的FTP、Archie Gopher等是建立在TCP/IP协议之上的应用层协议,不同的协议对应着不同的应用。WWW服务器使用的主要协议是HTTP协议,即超文体传输协议。由于HTTP协议支持的服务不限于WWW,还可以是其它服务,因而HTTP协议允许用 户在统一的界面下,采用不同的协议访问不同的服务,如FTP、Archie、SMTP、NNTP等。另外,HTTP协议还可用于名字服务器和分布式对象管 理。HTTP的早期版本为HTTP/0.9,它适用于各种数据信息的简洁快速协议,但是其远不能满足日益发展各种应用 阅读全文

posted @ 2011-11-04 10:28 biGpython 阅读(1592) 评论(0) 推荐(0) 编辑

Jmeter测试之理解性能
摘要:如何评价性能的优劣:用户视角vs.系统视角对于最终用户(End-User)来说,评价系统的性能好坏只有一个字——“快”。最终用户并不需要关心系统当前的状态——即使系统这时正在处理着成千上万的请求,对于用户来说,由他所发出的这个请求是他唯一需要关心的,系统对用户请求的响应速度决定了用户对系统性能的评价。而对于系统的运营商和开发商来说,期望的是能够让尽可能多的用户在任意时刻都拥有最好的体验,这就要确保系统能够在同一时间内处理更多的用户请求。正如在《理发店模型》一文中所描述的:系统的负载(并发用户数)与吞吐量(每秒事务数)、响应时间以及资源利用率(包括软硬件资源)之间存在着一个“此消彼长”的关系。因 阅读全文

posted @ 2011-11-03 09:31 biGpython 阅读(582) 评论(0) 推荐(0) 编辑

java中使用scoket模拟http post请求发送图片或文件
摘要:最近遇到个问题,两个系统共用用户的头像,用户的头像在一个系统中保存,这就涉及到将图片通过scoket发送给另一个系统存储的问题,最初的思路是将图片读成byte[]数组,然后发送,但又发现,发送图片的同时还要发送密钥、uid、username等信息,好通过对方系统的验证,这就不好弄了,最后想出来,将图片读成字符串、然后模拟http post请求,将图片和密钥、uid等信息发送过去,在服务器端,将得到的byte[]数组写进文件中,最后实验真的成功了,我做了整理和消化,也有不足,请指教,代码如下://客户端public static String readFileAsString(String fi 阅读全文

posted @ 2011-11-02 10:45 biGpython 阅读(1474) 评论(0) 推荐(0) 编辑

socket模拟http中post或者get提交数据,并获得响应数据
摘要:首先建立一个web工程准备连个jsp文件试试正常的流程testpost.jsp数据提交页面<%@ page language="java" pageEncoding="GBK"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body> <form method="post" action="test 阅读全文

posted @ 2011-11-02 10:28 biGpython 阅读(5300) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示