随笔分类 -  Java/C

摘要:一开始我想把run()函数写成有参函数来传值,后来发现行不通。经过查找,最终用如下方法传递了参数:也就是用另外一个有参函数setTar()传递参数。调用的时候用这4行code传递参数:上面是用implements Runnable的方法传递参数。下面是第二种方法(对应Thread的第一种方法),没有深究:package com.test;public class MyThread2 extends Thread { private String name; public MyThread2(String name) { this.name = name; } ... 阅读全文
posted @ 2014-01-13 18:45 LarryLawrence 阅读(54706) 评论(1) 推荐(1)
摘要:我在百度知道上的提问:『之前我用的一段文件上传的代码,配合服务器端的servlet,实现了上传手机上的文件的功能;但是后来我把手机的Android系统从2.3升级到了4.0 ,同样的代码,同样的配置,这段代码却不能实现上传了,不知为何?代码:http://pan.baidu.com/s/1i3unYxJ』在stackoverflow上还发现4.0相对2.3的一些网络方面的函数有所改动。大神回答:『4.0以后在主线程,也就是UI线程中是不可以发送网络请求的,目的是防止阻塞线程,会报ANR错误,也就是程序未响应错误。顺带提一下,service也是运行在主线程中的,在其中发起网络连接也是要新建一个线 阅读全文
posted @ 2014-01-12 14:27 LarryLawrence 阅读(270) 评论(0) 推荐(0)
摘要:在Windows里启动一个程序就是启动一个线程。不同线程之间快速切换,所以感觉是很多线程在同时执行。 Test.java 阅读全文
posted @ 2014-01-11 21:17 LarryLawrence 阅读(424) 评论(0) 推荐(0)
摘要:MARS老师说,见到重复代码就要想方设法去掉它!我也常常是这样想的,但水平有限,常常有心无力啊。。这次可能是第一次实现。 如图,services包里有两个用到Upload函数的类,以前的话我是直接把Upload函数复制到这两个类里面,实现了就行了嘛。这次决定把这个方法提出来,封装到UploadUtils.java里面。//原本是这样的: public void uploadFile() { String srcPath = Environment.getExternalStorageDirectory().getPath()+ "/" + “a.txt”;....}uplo 阅读全文
posted @ 2014-01-05 18:56 LarryLawrence 阅读(409) 评论(0) 推荐(0)
摘要:switch可以替代if..else..,另外据说switch采用二分搜索,效率会更高一点。switch(type) { case 1 : type_name="INCOMING";break;//break! case 2 : type_name="OUTGOING";break; case 3 : type_name="MISSED";break; }注意如果没有break,type_name总会被赋值为"MISSED"..参考:http://www.blogjava.net/Sunday/archive/20 阅读全文
posted @ 2014-01-04 19:47 LarryLawrence 阅读(265) 评论(0) 推荐(0)
摘要:ArrayList是所谓的动态数组。用一个小例子:import java.util.ArrayList;import java.util.Iterator;import java.util.List;class arraylist{ public static void main(String args[]) { List list = new ArrayList(); list.add("zhoushiwen"); list.add("comes again today!"); list.add("i am so neverous!" 阅读全文
posted @ 2013-12-05 20:47 LarryLawrence 阅读(216) 评论(0) 推荐(0)
摘要:java.io中有四个重要的抽象类:InputStream(字节输入流)Reader(字符输入流)OutputStream(字节输出流)Writer(字符输出流)其中,InputStream和Reader为子类提供read()方法,OutputStream和Writer为子类提供write()方法。1.文件字节流:包含FileInputStream类和FileOutputStream类。2.文件字符流:包含FileReader和FileWriter。3.缓冲流:包含BufferedReader和BufferedWriter。4.数组流:ByteArrayInputStream和ByteArra 阅读全文
posted @ 2013-12-01 19:58 LarryLawrence 阅读(402) 评论(0) 推荐(0)
摘要:① 完全匹配 /test/list.do② 路径匹配 /* struts2匹配根路径下的全部请求③ 扩展名匹配 *.do struts1 *.html 匹配全部html结尾的请求 * 不能用*,否则报错————————————————————————————发现是,在1中,如果你把http://localhost:8080/book/HelloWorld.do写成http://localhost:8080/book/jb/HelloWorld.do(加了一层/jb),而相应的/*改成/jb/*,也是可以访问的。How amazing. 阅读全文
posted @ 2013-11-20 21:46 LarryLawrence 阅读(464) 评论(0) 推荐(0)
摘要:首先设置好TOMCAT环境变量(如何设置?)1.用Servlet发现每次改动Servlet都要重启Tomcat才能生效!!!搞死爹了!!可以选择shutdown命令或者直接叉掉汤姆猫窗口!!!然后再startup!!2.在命令行输入startup可以启动TOMCAT窗口,启动到一半自动关闭。后来发现是conf下的server.xml不知哪里改动了。替换为原来的server.xml就可以了。--------NOV.20.2013-----------------3.关于Tomcat的延迟比如在改完/WEB-INFO目录下的web.xml之后,按Ctrl+S保存,立刻刷新网页的话是不会有变化的,经 阅读全文
posted @ 2013-11-09 13:17 LarryLawrence 阅读(367) 评论(0) 推荐(0)
摘要:直接在命令行方式下用javac HelloWorld.java编译HellowWorld Servlet是不行的,因为Java SE JDK不含Servlet类库。解决方法:在环境变量CLASSPATH的最前端中加入:,;%CATALINA_HOME%\lib\servlet-api.jar注意前面有个逗号和分号。 阅读全文
posted @ 2013-11-09 10:10 LarryLawrence 阅读(512) 评论(0) 推荐(0)
摘要:/WEB-INF/web.xml是称为部署描述器的配置文件,Java web应用程序启动时,容器将会使用这个配置文件。 web.xml包含了应用程序元数据,例如默认显示的页面,要装载的Servlet以及文件的安全限制。 阅读全文
posted @ 2013-11-08 13:01 LarryLawrence 阅读(426) 评论(0) 推荐(0)
摘要:构造函数 new后面的函数就是构造函数。 阅读全文
posted @ 2013-11-07 09:58 LarryLawrence 阅读(201) 评论(0) 推荐(0)
摘要:1.用this调用成员变量和成员函数 阅读全文
posted @ 2013-11-06 22:25 LarryLawrence 阅读(308) 评论(0) 推荐(0)
摘要:写了个while判断文件是否存在,存在的话改变命名。如下: class startButtonListener implements OnClickListener { int count = 0 ; @Override public void onClick(View v) { imageFilePath = destDirName + "/pic0.jpg"; File imageFile = new File(imageFilePath); while... 阅读全文
posted @ 2013-11-06 14:16 LarryLawrence 阅读(961) 评论(0) 推荐(0)
摘要:import java.io.*;class a{ public static void main(String args[]) { createDir("c:/fuck"); } public static boolean createDir(String destDirName) { File dir = new File(destDirName); if (dir.exists()) { System.out.println("创建目录" + destDirName + "失败,目标目录已经存在"); ret... 阅读全文
posted @ 2013-11-06 10:06 LarryLawrence 阅读(602) 评论(0) 推荐(0)
摘要:在尝试使用BufferedReader的readLine方法读出每一行数据,再用FileWriter依次写到文件里的时候,用了下面的代码段: 阅读全文
posted @ 2013-10-31 16:28 LarryLawrence 阅读(751) 评论(0) 推荐(0)
摘要:接口的语法(一)1.使用interface定义;2.可以理解为一个比较纯粹的抽象类,因为接口中的方法都是抽象方法(无需用abstract,默认就是抽象方法);3.接口中所有方法的权限都是public。USB.javainterface USB{ public void read();//抽象方法的定义,没有函数体;写不写public无所谓,默认public void write(); }USBPhone.java接口的实现类负责来实现接口的抽象方法。实现是一种特殊的继承。实现也可以得到接口里的成员变量成员方法。class Phone implements USB{ ... 阅读全文
posted @ 2013-10-30 19:24 LarryLawrence 阅读(288) 评论(0) 推荐(0)
摘要:转型是面向对象多态性的一个体现。 向上转型:将子类的对象赋值给父类的引用(引用可以理解为对象)。 比如Student继承Person,那么这样表示: 阅读全文
posted @ 2013-10-30 18:14 LarryLawrence 阅读(332) 评论(0) 推荐(0)
摘要:抽象函数:只有函数定义,没有函数体的函数叫做抽象函数(也就是没有大括号{}):abstract void fun();抽象类:使用Abstract定义的类。1.抽象类不能生成对象。2.含有抽象函数的类必须声明为抽象类。3.没有抽象函数的类也可以声明为抽象类。抽象类天生是用来继承的,子类继承了抽象类之后要覆写抽象类中的抽象函数,这样子类就不需再被生成为抽象类,就可以生成子类的对象了。这样可以避免类被非法使用(想用就必须知道里面的函数,覆写他)。抽象类不能生成对象,但可以有构造函数,这个构造函数为子类准备。 阅读全文
posted @ 2013-10-30 14:34 LarryLawrence 阅读(312) 评论(0) 推荐(0)
摘要:用BufferedReader大部分时候是想用他的readLine()方法一次读入一行数据。FileReader一次只能读一个字符。   生成BufferedReader对象的方法: BufferedReader in = new BufferedReader(newFileReader("foo.in")); 阅读全文
posted @ 2013-10-30 13:44 LarryLawrence 阅读(580) 评论(0) 推荐(0)