java
Android提高班
这个作者很懒,什么都没留下…
展开
-
同步,异步,阻塞,非阻塞,并发,并行
一直对于这些的理解都不深刻。并发,并行:宏观概念, 并发,同时进行操作。并行,一个一个来。同步,异步:微观概念,同步,一个一个来,调用者需要得到结果才继续执行。异步,同时进行操作 ,调用者无需结果继续执行。。阻塞,非阻塞:同步--阻塞,异步--非阻塞。效率: 同步--效率低,异步--效率高。线程安全的类其方法是同步的,每次只能一个访问。是重量级对象,效率较低。原创 2011-12-12 16:08:32 · 1142 阅读 · 0 评论 -
toString new String的区别
char[] temp = new char[] { 'a', 'b' };String a = new String(temp);String b = temp.toString();System.out.println(a);// abSystem.out.println(b);// C@de6cedtoString 方法返回一个字符串,该字符串由类原创 2013-05-03 11:48:12 · 1301 阅读 · 0 评论 -
android 文件上传时将file转化为byte[]
public static byte[] File2Bytes(File file) {int byte_size = 1024;byte[] b = new byte[byte_size];try {FileInputStream fileInputStream = new FileInputStream(file);ByteArrayOutputStream outputS原创 2013-04-04 00:16:48 · 7771 阅读 · 0 评论 -
DecimalFormat 格式化输出数据
有一double类型数据,如何保留其两位小数格式化输出呢?代码如下:double d = 12.25181023;DecimalFormat format = new DecimalFormat("0.00");//保留小数点后两位System.out.println(format.format(d));结果为: 12.25 Decima原创 2013-01-24 22:50:28 · 1084 阅读 · 1 评论 -
toString new String的区别
一个对象toString()方法如果没有被重写,那么默认调用它的父类Object的toString()方法,而Object的toString()方法是打印该对象的hashCode,一般hashCode就是此对象的内存地址!原创 2012-12-19 21:03:10 · 685 阅读 · 0 评论 -
android 下 ftp 客户端软件编写(ftp4j)
java中的ftp4j是个不错的框架,可以用于java实现ftp的一些操作。 这个框架已经实现了ftp的功能,如果需要移植到android,就需要一些界面元素与后台进程。 android这样直接利用现在的java框架完成一些事情是比较容易的。 ftp4j的文档还是蛮全的,而且容易读懂。使用方法:FTPClient client = new FTPClient();转载 2012-12-01 15:40:38 · 1889 阅读 · 1 评论 -
对Set不允许重复值的理解
set中判断两个对象是否相等是根据equles()以及hashCode()两个函数共同参与的。当自定义的对象重写了equles()方法后还要重写hashCode()方法(只有用到集合框架的 Hashtable、HashMap、HashSet的时候,才需要重载hashCode()方法)。这样可以保证逻辑相等的对象他的hashCode值也是相等的真真正正保证两个对象逻辑上的相等从而在set中不原创 2012-07-29 22:22:34 · 1480 阅读 · 0 评论 -
ssh中的java.lang.NoSuchMethodError: antlr.collections.AST.getLine()异常
今天做项目时,遇到java.lang.NoSuchMethodError: antlr.collections.AST.getLine()异常。Google了下,原来是struts和hibernate的antlr包冲突造成的。解决办法就是,删掉其中的一个低版本的包即可。struts2的包版本较低,想删除,却发现我的struts2是由myeclpise自动导包进来的。在buildpath原创 2012-07-28 22:44:01 · 605 阅读 · 0 评论 -
spring ClassPathXmlApplicationContext
spring为ApplicationContext提供3种实现分别为:ClassPathXmlApplicationContext(默认是加载src下面的spring配置文件),FileSystemXmlApplicationContext(参数为路径)和XmlWebApplicationContext,其中XmlWebApplicationContext是专为Web工程定制的。原创 2012-07-28 23:07:05 · 674 阅读 · 0 评论 -
ognl遍历action中的集合
action中有一集合属性,比如list。前台jsp页面如何遍历该list,拿到该list中的元素呢?struts2标签value为遍历集合,var为集合每个对象, 遍历次数为集合的大小,遍历内容为标签中内容。可用#obj.name从集合中取值。原创 2012-08-06 21:44:33 · 1410 阅读 · 0 评论 -
超链接href直接调用action
如何通过标签来调后台的Action?/项目/namespace/action" id="logout">退出原创 2012-08-06 22:29:27 · 2041 阅读 · 0 评论 -
GET与POST的区别
一、Get是从服务器上获取数据,Post则是向服务器传送数据; 二、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL地址的后面,并且两者用“?”连接,而各个变量之间使用“&”连接。Post是将表单中的数据放在form的数据体中(或者说把内容放在了http消息体里),按照变量和值相对应的方式,传递到action所指向URL;原创 2012-08-06 22:15:02 · 633 阅读 · 0 评论 -
服务器端与客户端跳转,forward和redirect总结
redirect 客户端跳转,也叫重定向 可以是应用外的url, 浏览器地址跟着变化,传值方式: url,session. 相当于两次请求。 是两个不同的request ,在struts中的取值影响是,jsp无法通过属性从action中直接取值。request.getRequestDispatcher("success.jsp").forward(request,原创 2012-08-06 22:12:02 · 1511 阅读 · 0 评论 -
java socket 聊天
从键盘接受,客户端发送,服务器接收,添加处理后再传回。简单例子:可能遇到问题:readline阻塞, 解决办法:PrintWriter.println() ,该方法同write,print相同,只是会添加换行,使readline不阻塞。readline在文件和socket操作时区别:文件结束返回-1;而socket则阻塞。PrintWriter.flush();serve原创 2012-03-16 15:12:46 · 1118 阅读 · 0 评论 -
jQuery基础
jQuery 语法jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作。基础语法是:$(selector).action()美元符号定义 jQuery选择符(selector)“查询”和“查找” HTML 元素jQuery 的 action() 执行对元素的操作# id 默认 标签 .class$(document).re原创 2012-03-25 12:36:51 · 537 阅读 · 0 评论 -
关于struts2的一些小问题
很久没写web了,下午想做了例子。发现struts2一直无法调通。后来发现时namespace的问题。struts2需要给action配空间。方便action重名的问题。默认的空间为:/于是修改之。OK。jsp中:配置文件中:原创 2012-03-23 16:25:00 · 500 阅读 · 0 评论 -
WebView载入本地html中文乱码
本地assets下放了个中文编写的html,想直接用webview载入,可是一直乱码。解决办法:String urlString = "file:///android_asset/index.html";webview.getSettings().setDefaultTextEncodingName("gbk");view.loadUrl(urlString);这样原创 2011-12-28 17:44:40 · 2367 阅读 · 0 评论 -
关于线程安全性
以前从来没有想过这个问题,多线程操作一个变量时如何处理?如果多个线程访问了同一个变量,你的程序就存在隐患。有3种方法修复它:l 不要跨线程共享变量;l 使状态变量为不可变的;或者l 在任何访问状态变量的时候使用同步。如果一个类可以安全地被多个线程使用,而调用者不需要任何动作(来确保线程的安全性),它就是线程安全的。 如何判断是否为线程安全原创 2011-12-12 15:40:04 · 585 阅读 · 0 评论 -
java中数组与集合间的转换(不通过遍历)
1.将数组转换成List String[] array = new String[] { "aa", "bb", "cc" };List list = Arrays.asList(array);for (String string : list) {System.out.println(string);}2.将List转换成数组 Lis原创 2013-05-03 13:45:50 · 924 阅读 · 3 评论