5月22
       主要是以HTTP多线程、断点续传方式下载文件,经常出现下载下来的文件大小和服务端一致,但是却无法正常打开的现象,折腾了很久,分享下我的实现方式,直接看代码吧,废话一点不多说。
思路和功能介绍:
1、将下载文件的处理放在自定义的线程类中,每下载一个文件就新启动一个下载线程。

2、在下载线程中完成对服务端的链接和身份认证,成功后开始下载文件。

3、新建n个子线程,根据下载文件的大小和线程数量得到每个子线程要下载的大小。

4、分别启动子线程,进行分段下载。

5、分段下载完成,合并临时文件。

6、合并文件完成,删除临时文件。
3月5
         Android是第二个最流行的用于 智能手机和平板电脑 的操作系统。这里有8个最好的 Android工具以许多不同的方式 帮助开发人员 ,例如 - SDK和AVD管理器,android ADT,android DDMS等等,每个工具表现其独特和不同的质量,使它非常有用于开发。如今,Android的开发一天一天地增长,在新的移动开发中变得越来越流行。

  互联网上提供一些工具,可帮助开发人员轻松的Android开发。在这些工具的帮助下,开发人员可以更方便,快捷的方式开发应用程序。
      点击在新窗口中浏览此图片

  现在,Android操作系统每天得到更多的普及和喜爱,智能手机和平板电脑都在大规模使用此操作系统。

  所以今天我们汇编了最好的Android开发工具给开发者,通过它们可以使他们的开发快速和容易的。访问这个列表,并分享你的思想,在我们的评论部分。
8月31
   基于浏览器的应用,表现力始终不够丰富,我们常常会想,在一个网页中,点一下某个链接,能够直接调用安装好的可执行程序有多好啊。按照微软的推荐,应该是通过ActiveX,把可执行程序嵌入到网页中,例如flash的ActiveX。这样,我们就要购买ActiveX的签名,不通过签名的东西,在IE6中是无法加载的,为一个小项目购买ActiveX的签名,代价太昂贵了。另外,很多时候还要考虑如果用户突然关闭了浏览器该怎么办。这对播放个flash、歌曲之类的没多大影响,但是很多时候,不能在关闭前清扫战场,带来的后果是灾难性的。通常,在企业应用中,我们总是通过IE直接调用exe。
    最早的时候,从网页调用一个EXE是很简单的事情,一段javascript就可以了。但是,自从IE6开始,微软就不再允许这种“极不安全的行为”。这也是有道理的。没事就给你来个“format d:/q”,即使不这么恶劣,动不动就给你弹几百个notebook,也确实够恐怖的。浏览器不应该与操作系统有太多不必要的关联。
    拿javascript在IE6测试之后,我几乎放弃了直接调用exe的想法,直到有一天,看到了腾讯的实现方法。
    腾讯有一个在网页上面显示QQ状态的东西,点一下就能弹出一个对话框跟该QQ用户聊天(就是我blog左上方的那个Q我的小图标),而不会有任何警告。好神奇啊。注册表里面研究了一天,终于明白了怎么回事。
    在windows中,注册表中包含各种协议(http,ftp,telnet等)的信息,包含了默认打开方式的参数。试一下,从IE的地址栏中输入telnet://www.hecks.tk,出现什么了?弹出了一个命令行窗口,开始进行telnet操作。IE居然能完成这个,那么为什么就不能完成“telnet1://参数” 呢?

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\rDelta]
@="rDelta"
"URL Protocol"="C:\\PROGRA~1\\rDelta\\rDeltaCmd.exe %1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\rDelta\DefaultIcon]
@="%SystemRoot%\\system32\\url.dll,0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\rDelta\Shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\rDelta\Shell\open]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Delta\Shell\open\command]
@="C:\\PROGRA~1\\rDelta\\rDeltaCmd \"%1\""

    把这个东西导入注册表,那么我们在浏览器中输入rDelta://1022,那么就会自动调用c:\program files\rDelta\rDeltaCmd.exe(当然了,你得确实有这个文件),并把1022这个参数传给该exe。这个操作被认为是安全的,不会有任何的限制。
    到这里,思路就清晰了,我们的安装程序中,在注册表中建个协议,例如上面的rDelta,再把要执行的exe的路径信息写入,在网页直接一个超链接,协议://参数就可以了。exe文件接受这个参数,进行相应的处理。搞定。

    记住,协议://后面的所有字符串被看做是一个参数。那么,exe文件永远只有两个参数,参数0是它的完整执行路径,参数1就是网页传过来的字符串。
7月5

几种java转exe的工具

23:00编程杂谈  From: 本站原创
         下面是几种java转exe的工具,进行一下比较,谈谈自己的看法:
1. 从www.towerj.com获得一个TowerJ编译器,该编译器可以将你的CLASS文件编译成EXE文件。
注:现在已经找不到,不提供了,被人家收购了。

2. 利用微软的SDK-Java 4.0所提供的jexegen.exe创建EXE文件,这个软件可以从微软的网站免费下载,地址如下:
http://www.microsoft.com/java/download/dl_sdk40.htm    

jexegen的语法如下:

jexegen /OUT:exe_file_name
/MAIN:main_class_name main_class_file_name.class
[and other classes]

注:没有试过

3. Visual Cafe提供了一个能够创建EXE文件的本地编译器。你需要安装该光盘上提供的EXE组件。
注:没有试过

4. 使用InstallAnywhere创建安装盘。
注:很不错的工具。
但就是要>8M(带jre),还有一种是>1M的(不带jre)。
但是它可以编译成各种平台上可以使用的exe程序。

5. 使用IBM AlphaWorks提供的一个高性能Java编译器,该编译器可以从下面的地址获得:
http://www.alphaworks.ibm.com/tech/hpc    

注:没有试过

6. JET是一个优秀的Java语言本地编译器。该编译器可以从这个网站获得一个测试版本:
http://www.excelsior-usa.com/jet.html
7月4
         下面是Android系统自带的颜色文件,相信做UI的朋友可能会喜欢:
< ?xml version="1.0" encoding="utf-8" ?>
< resources>
< color name="white">#FFFFFF< /color>< !--白色 -->
< color name="ivory">#FFFFF0< /color>< !--象牙色 -->
< color name="lightyellow">#FFFFE0< /color>< !--亮黄色 -->
< color name="yellow">#FFFF00< /color>< !--黄色 -->
< color name="snow">#FFFAFA< /color>< !--雪白色 -->
< color name="floralwhite">#FFFAF0< /color>< !--花白色 -->
< color name="lemonchiffon">#FFFACD< /color>< !--柠檬绸色 -->
< color name="cornsilk">#FFF8DC< /color>< !--米绸色 -->
< color name="seashell">#FFF5EE< /color>< !--海贝色 -->
< color name="lavenderblush">#FFF0F5< /color>< !--淡紫红 -->
< color name="papayawhip">#FFEFD5< /color>< !--番木色 -->
< color name="blanchedalmond">#FFEBCD< /color>< !--白杏色 -->
< color name="mistyrose">#FFE4E1< /color>< !--浅玫瑰色 -->
< color name="bisque">#FFE4C4< /color>< !--桔黄色 -->
< color name="moccasin">#FFE4B5< /color>< !--鹿皮色 -->
6月27

C程序实现数字反转

23:26编程杂谈  From: 本站原创
         有个朋友问我用C怎么实现两个数字反转,也就是逆序,想了下我也有很久没用过C了,其实也简单,和10相乘再加上该数与10取余的和,给出以下实现:
Iterative Way
Algorithm:
Input:  num
(1) Initialize rev_num = 0
(2) Loop while num > 0
     (a) Multiply rev_num by 10 and add remainder of num
          divide by 10 to rev_num
               rev_num = rev_num*10 + num%10;
     (b) Divide num by 10
(3) Return rev_num

Example:
num = 4562
rev_num = 0
rev_num = rev_num *10 + num%10 = 2
num = num/10 = 456
rev_num = rev_num *10 + num%10 = 20 + 6 = 26
num = num/10 = 45
rev_num = rev_num *10 + num%10 = 260 + 5 = 265
num = num/10 = 4
rev_num = rev_num *10 + num%10 = 265 + 4 = 2654
num = num/10 = 0

5月6
        我们首先在build.properties文件中配置好发布时的路径及版本号、发布名称及发布者等等。。然后执行build.xml文件。
build.properties
#
#该文件用于配置发布和打包时所需配置
#

#发布版本号
build.version=0.1

#发布路径
build.path=D:/target

#发布名称
build.name=test

#发布title
build.title=smart rDelta API

#发布者
build.created-by=Smart rDelta SDT

#vendor
build.vendor=Stone Age Co. Ltd.

#最终发布名称
final.name=${build.name}-${build.version}

#打包后API文档的名称
doc.name=${build.name}-${build.version}-doc
Tags: ,
4月15
         最近项目中用apache的httpclient中get、post、put、delete方法去请求url而这些方法请求之后响应回的数据可能很大就调用getResponseBodyAsString()方法,而响应后的数据要转换成string类型,同里也在网上看到有人需要将InputStream转换为String对象,这里我要跟大家说一下,这样的InputStream需要从文本文件(即纯文本的数据文件)中读取内容,然后将它的内容读出到一个String对象中。我下面直接给出代码,然后讲解下。
12月30

java字符串编码转换

17:09编程杂谈  From: 本站原创
         不管是对程序的本地化还是国际化,都会涉及到字符编码的转换的问题。尤其在web应用中常常需要处理中文字符,这时就需要进行字符串的编码转换,将字符串编码转换为GBK或者GB2312。

一、关键技术点:
    1、当前流行的字符编码格式有:US-ASCII、ISO-8859-1、UTF-8、UTF-16BE、UTF-16LE、UTF-16、GBK、GB2312等,其中GBK、GB2312是专门处理中文编码的。
    2、String的getBytes方法用于按指定编码获取字符串的字节数组,参数指定了解码格式,如果没有指定解码格式,则按系统默认编码格式。
    3、String的“String(bytes[] bs, String charset)”构造方法用于把字节数组按指定的格式组合成一个字符串对象
12月8
         收集了一些Struts,Hibernate,Spring经典面试题收藏,以备不时只需。先简单的提一下, 要开发出好的,高质量的j2ee系统, 评价系统的高低水平 ,解耦性 至关重要! 而在开发中主要分成三个层次,表现层, 服务层, 持久层。从这三层次去解藕。

spring的作用就是把服务从表现层中,抽取出來,
hibernate把持久层抽取出來。
剩下的表现层交给 struts控制

但是面对那么多的框架,为什么在持久层中我们选择hibernate ,在服务层我们用spring,下面都有说。

Hibernate工作原理?
原理:
1.读取并解析配置文件
2.读取并解析映射信息,创建SessionFactory
3.打开Sesssion
4.创建事务Transation
5.持久化操作
6.提交事务
7.关闭Session
8.关闭SesstionFactory

为什么要用:
1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。

2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作

3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。

4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。

2. Hibernate是如何延迟加载?
1. Hibernate2延迟加载实现:a)实体对象 b)集合(Collection)

2. Hibernate3 提供了属性的延迟加载功能

当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。
分页: 9/20 第一页 上页 4 5 6 7 8 9 10 11 12 13 下页 最后页 [ 显示模式: 摘要 | 列表 ]