![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 72
iteye_6967
这个作者很懒,什么都没留下…
展开
-
把List转换成二维数组
首先介绍List的toArray方法,他把list转化成object数组。 List list = new ArrayList(); list.add(new Long(1));list.add(new Long(2)); //Long[] l = (Long[])list.toArray();这里会报错,因为list.toArray()...原创 2010-09-17 18:20:59 · 12840 阅读 · 2 评论 -
HttpClient应用
用HttpClient爬网站时有时会遇到一种现象,就是自己写个JSP模拟表单提交可以成功,但是用HttpClient就无法成功。原因有可能是Header或者Cookies没有设置,因为如果用游览器访问的话,这些参数都可以通过游览器而取到,不需要自己手动设置,而HttpClient则无法做到。所以我们需要对HttpClient进行设置,完整的代码如下: public s...2012-05-11 17:15:26 · 85 阅读 · 0 评论 -
解决中文乱码问题
首先可以试下在TOMCAT中的server.xml文件中<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" /> 中添加URIEncoding="UTF-8" 。 1、编码 编码比较常用的有: UTF-8, GBK,原创 2012-05-18 14:42:39 · 127 阅读 · 0 评论 -
数据库读写分离(java部分配置)
假设有两台数据库服务器:192.168.0.1(写) 和192.168.0.2(读) 那么在applicationContext.xml中应配置两个数据源,一个读,一个写: <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-me...原创 2015-06-15 15:26:47 · 174 阅读 · 0 评论 -
视频库之断点续传
近日公司有个项目要做一个视频库,故开始阶段性研究。首先先要研究断点续传。 第一步:打算提高上传视频的时间,上传的时间分成两部分,读流和写入GFS。想做一个实验来验证到底时间花费在了哪里,故在程序中加入了打印语句。如下: @Override protected void doPost(HttpServletRequest request,...原创 2015-07-30 11:37:49 · 467 阅读 · 0 评论 -
视频库之断点下载
断点续传主要是使用http协议中range的属性来取得资源的部分内容,由于一般服务是不对外直接提供url访问的,一般都是通过id,在servlet中输出byte[]来实现,所以要想实现断点续传一般要自己实现一个服务端。 一个简单实现: 服务端:主要是分析了range属性,利用RandomAccessFile读取内容输出字节流 public class Download e...原创 2015-08-10 16:33:17 · 186 阅读 · 0 评论 -
ArrayList 和 CopyOnWriteArrayList 线程安全测试
ArrayList 是 非线程安全的, CopyOnWriteArrayList 是一个线程安全,并且在读操作时无锁的ArrayList,且适合并发访问。对于集合元素数为10000,线程数量为100的情况下进行性能测试,随着元素数量和线程数量的增加,CopyOnWriteArrayList在增加元素和删除元素时的性能下降非常明显,并且性能会比ArrayList低。但在查找元素这点上随着线程数的增长...2012-10-19 17:48:30 · 187 阅读 · 0 评论 -
线程池系列一:线程池作用及Executors方法讲解
线程池的作用: 线程池作用就是限制系统中执行线程的数量。 根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。若队列中没有等待进程,线程池的这一资源处于等待。当一个新任务需要运行时,如果线程池中有等待...2012-10-24 11:41:35 · 144 阅读 · 0 评论 -
java图片合成
下面这个例子介绍如何把3张图片合在一张图片里,用的是java自己的类实现的:public class Test { public static void main(String[] args){ try { Test.main("E:/write.jpg","E:/z1.jpg","E:/z2.jpg","E:/z3.jpg","E:/z4.jpg") ; //...2013-11-05 16:52:34 · 140 阅读 · 0 评论 -
线程池系列二:ThreadPoolExecutor讲解
一、简介1)线程池类为 java.util.concurrent.ThreadPoolExecutor,常用构造方法为:ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,long keepAliveTime, TimeUnit unit,BlockingQueue<Runn...2012-11-14 11:42:14 · 129 阅读 · 0 评论 -
线程池系列三:结合线程池实现Socket
Java5增加了新的类库并发集java.util.concurrent,该类库为并发程序提供了丰富的API多线程编程在Java 5中更加容易,灵活。本文通过一个网络服务器模型,来实践Java5的多线程编程,该模型中使用了Java5中的线程池,阻塞队列,可重入锁等,还实践了Callable, Future等接口,并使用了Java 5的另外一个新特性泛型。 一、简介 本...2012-11-14 17:26:22 · 304 阅读 · 0 评论 -
后台json传递
json除了可以用于前台传递,还可用于后台之间传递。它可以传递List,Map,Bean等类型的数据。例如: User u1=new User(); u1.setUsername("zy"); u1.setPassword("123"); User u2=new User(); u2.setUsername("msl"); u2.se...2012-06-21 15:38:17 · 66 阅读 · 0 评论 -
文件上传与下载
文件下载:jsp:<input type="button" value="歌曲下载" onclick="location.href='downFile.do'"> java:public class downFile implements Controller{ @Override public ModelAndView handleRequest...原创 2013-01-16 10:03:10 · 76 阅读 · 0 评论 -
java字节流与字符流的区别
字节流与字符流先来看一下流的概念:在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。字节流与字符流在Java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。在字节流中输出数据主...原创 2016-10-26 18:34:52 · 87 阅读 · 0 评论 -
cookie的读取与写入
java对cookie的操作比较简单,主要介绍下建立cookie和读取cookie,以及如何设定cookie的生命周期和cookie的路径问题。 建立一个无生命周期的cookie,即随着浏览器的关闭即消失的cookie,代码如下?1234HttpServletRequest request HttpServletResponse re...2012-05-11 11:42:36 · 156 阅读 · 0 评论 -
java时间相减,得到天数
public static void main(String args[]){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { Date date1 = sdf.parse("2010-02-01 00:00:00"); Date date2= sdf.parse("2010...2011-05-12 16:35:33 · 501 阅读 · 0 评论 -
往服务器端发送消息并接收返回的消息--输入输出流应用
用输入输出流实现往服务器端发送消息并接收返回的消息。 客户端 StreamTest.java: public class StreamTest implements Controller{ public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse res) throw...原创 2010-10-19 18:12:37 · 308 阅读 · 0 评论 -
编写bat文件运行class
Phone.Bat:set CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;d:\Phone\lib\commons-httpclient-3.1.jar;d:\Phone\lib\commons-httpclient.jar;d:\Phone\lib\commons-logging.jar;d:\...原创 2010-11-07 20:31:24 · 1205 阅读 · 0 评论 -
native2ascii 编码转换
假如想搜索property文件中的中文的话,因为属性文件中的中文都是用\u6301\u4E45这种来表示的,所以要先把中文转换成\u6301\u4E45这种格式的: 1、将要转化的中文输入记事本,保存为d:\1.txt。编码格式为ANSI。 2、【开始】【运行】输入cmd 3、native2ascii d:\1.txt d:\2.txt 这样只需要搜索2.txt中的结果就成了 ...2010-12-13 14:50:18 · 247 阅读 · 0 评论 -
Java自动下载验证码图片
前不久遇到一个需求,需要破解验证码程序(4位数字的),原理则是先存入各种样式的1-9数字在本地文件夹中,然后当提交的表单有需要验证码的时候,先把验证码图片下载到本地文件夹中,然后再把他和本身的1-9数字进行像素比对,当发现有相同时则返回该数字,以致得出这4位验证码程序。 下面看如何下载图片的代码: 首先先从该表单的源代码中找到image中src属性所对应的U...2011-09-04 23:12:30 · 386 阅读 · 1 评论 -
java常见错误
1) 把一个工程放在tomcat中,如果报错误bad version的话则说明工程的版本和tomcat运行的JAVA版本不一致。如果不是通过MyEclipse方式启动的TOMCAT的话,那么TOMCAT的JAVA运行环境为环境变量中配置的java_home,如果是MyEclipse方式启动的话,那么可以看该TOMCAT的JAVA版本。 ...2011-09-14 14:43:25 · 57 阅读 · 0 评论 -
导出WORD方式
<script type="text/javascript"> function download(formObj){ var strHTML = document.all.a.innerHTML; document.all.item("checkreport").value = strHTML; var oldaction = formO...2010-12-22 15:31:42 · 198 阅读 · 0 评论 -
java读取文件夹位置
需求: 在JAVA中编写.bat命令来实现对MySQL的导入和导出。但是.bat命令中需要有MySQL的具体地址,而不同的服务器MySQL的地址可能不一样,如果写死的话那每次部署到新的服务器中还要修改class代码,所以考虑写一个监听器来获取该服务器中MySQL的位置,有两种方法: 1)迭代服务器的文件夹,找到MySQL文件夹的位置。 public static ...2011-09-19 18:07:47 · 104 阅读 · 0 评论 -
防止表单重复提交
// 页面代码start <% Random random = new Random(); //生成随机flag, Integer flag=new Integer(random.nextInt()); session.setAttribute("flag",flag); %> //fo...原创 2011-01-28 02:16:18 · 55 阅读 · 0 评论 -
java读取和写入EXCEL
读取: JXL(Java Excel API)是一个用来动态读写Excel文件的开源框架,利用它可以在任何支持Java的操作系统上动态读写Excel文件。JXL的主页是:http://www.andykhan.com/jexcelapi/,可以在这里下载到它的最新的版本。你可以分别通过如下命令java -jar jxl.jar -xml test.xlsjava -jar jxl.ja...2011-02-12 17:38:29 · 82 阅读 · 0 评论 -
java多线程例子
需求: 用多线程去获得一个网站取得的数据,网站数据分页显示,一个线程读取几页。通过构造函数把读取的开始页数赋值。 public class SelectPhone extends Thread{ int a = 0; //这里无需担心多线程安全的问题,因为这里是多实例的,在main函数 ...2011-03-04 14:06:17 · 61 阅读 · 0 评论 -
MyEclipse编码设置
我的Myeclipse安装后编码默认是GB18030,外面的人一般推荐用UTF-8。如果在导入项目后发现乱码现象,那是编码设置设置不对。 Eclipse 编码设置: 全局编码设置:编码设置的方法:ToolBar-->Window-->Preferences-->General-->Workspace-->Text file encoding,设置合适...2011-03-25 11:39:19 · 62 阅读 · 0 评论 -
Socket与NIO方式的区别
Socket是最基础的网络编程技术,HttpURLConnection和HttpClient都是基于Socket的。下面来看一个从服务器端下载文件到客户端的例子。 服务器端: package org.huodong.action;import java.io.FileInputStream; import java.io.InputSt...原创 2012-01-31 15:29:59 · 942 阅读 · 0 评论 -
java工厂模式
Java工厂模式Java工厂模式看了这么多关于工厂模式的讲解,还是觉得这篇文章讲的好理解,贴出来和大家分享分享。 一、引子 话说十年前,有一个****户,他家有三辆汽车——Benz奔驰、Bmw宝马、Audi奥迪,还雇了司机为他开车。不过,****户坐车时总是怪怪的:上Benz车后跟司机说“开奔驰车!”,坐上Bmw后他说“开宝马车!”,坐上Audi说“开奥迪车!”。你一定说:这人有病!直接说开车不就...2012-03-06 10:26:36 · 65 阅读 · 0 评论 -
图片压缩
下面方法可以做到压缩图片不失真: public class TestImage { /** * 创建图片缩略图(等比缩放) * * @param src * 源图片文件完整路径 * @param dist * 目标图片文件完整路径 * @param...2014-10-21 14:53:15 · 80 阅读 · 0 评论