`
pure
  • 浏览: 350714 次
社区版块
存档分类
最新评论
文章列表
Java线程:新特征-线程池 Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利。为了编写高效稳定可靠的多线程程序,线程部分的新增内容显得尤为重要。 有关Java5线程新特征的内容全部在java.util.concurrent下面,里面包含数目众多的接口和类,熟悉这部分API特征是一项艰难的学习过程。目前有关这方面的资料和书籍都少之又少,大所属介绍线程方面书籍还停留在java5之前的知识层面上。 当然新特征对做多线程程序没有必须的关系,在java5之前通用可以写出很优秀的 ...
参考:http://www.jz123.cn/text/0821440.html package com.pure; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ThreadFactory; public class TestThreadPool { public static void main(String args[]) throws InterruptedException { ...
记一下Actor的学习吧。 原文在:http://developer.51cto.com/art/200908/144044.htm 不过有些代码过时了,需要调整一下。 第二段代码应该写成这样。 import scala.actors._, Actor._ package com.tedneward.scalaexamples.scala.V4 { [color=red] case class Speak(line : String); case class Gesture(bodyPart : String, action : Str ...
1、调整路径,按shift键然后点路径节点就可以调整路径 2、选中要旋转的对象,右键->旋转->可以复制旋转(Ctrl+D重复此过程)
我在提交git的时候,使用 xxx push xxx 忘记加后面的标签,导致出错: $ git push To git@github.com:zh/xxx.git ! [rejected] master -> master (non-fast forward) error: failed to push some refs to 'git@github.com:xxx/xxxx.git' 查了一下资料终于解决。 $ git push xxx master:master 参考 http://stackoverflow.com/questions/1475665 ...
在开发中,有时候要获取文字的宽度以更好的布局,偶然的机会看了《professional android app devlopment》发现了这样的写法,实在太酷了。 Paint mTextPaint = new Paint(Paint.ANTI_ALIAS_FLAG); mTextPaint.setColor(Color.WHITE); // Define the string. String displayText = “Hello World!”; // Measure the width of the text string. float textWidth = mText ...
之前在看到很多类似这样的写法 (date1.getTime()-date2.getTime())/24*60*60*1000 这样得到的天数并不是很准确,比如昨天的10点,到今天某个时间计算出来可能并不是间隔一天,而实际上间隔天数并不需要具体的时间,因此需要把时间清零来计算。 public static Long getDaysBetween(Date startDate, Date endDate) { Calendar fromCalendar = Calendar.getInstance(); fromCalendar.setTime(startDate); ...
最近又看了一下scala,这次收获比前面收获大些,原来很多不能理解的现在都基本上理解了,而且也动手写了一些代码测试,还是很不错的,只是写法还很不习惯,另外就是IDE除了netbeans的ide支持代码格式化外,eclipse的ide是不支持格式化的,这点有点不爽哟。 进入正题吧,既然scalac编译后的也是class字节码,那么java也应该能运行它,试了一下果然不错,之前也看到过将scala代码在android手机上运行。 object HelloWorld extends Application{ println("Hello world!") } sc ...
第一种方式直接实现Comparator接口 public class ComparatorPlayerItem implements Comparator<PlayerItem> { public int compare(PlayerItem playerItem1, PlayerItem playerItem2) { Item item1 = playerItem1.getItem(); Item item2 = playerItem2.getItem(); //默认是按从小到大序,前加负号表示从大到小排序 return ...
有很多版本的,先上过ruby版本。 def distance_of_time_in_words(from_time, to_time = 0, include_seconds = false) from_time = from_time.to_time if from_time.respond_to?(:to_time) to_time = to_time.to_time if to_time.respond_to?(:to_time) distance_in_minutes = (((to_time - from_time).abs)/60).round ...
Servlet 的初始化 在web项目中,有时候需要一些在服务器启动的时候就加载一些参数或加载一些类就可以使用Servlet方便的完成。 要在启动服务就初始化需要配置load-on-startup值大于0。 下面将在服务器启动时初始化,并传入两个初始化参数。 <servlet> <description></description> <display-name>InitServlet</display-name> <servlet-name>InitServlet</servl ...
每次用到Slf4j都麻烦一阵,尽管很方便,但是让很多人搞不明白。 其实Slf4j原理很简单,他只提供一个slf4j api(就是slf4j-api.jar包),这个包只有日志的接口,并没有实现,所以要使用得给它提供一个实现了些接口的日志包,比如:log4j,common logging,jdk log等,但是这些日志实现又不能通过接口直接调用,实现上他们根本就和slf4j-api不一致,因此slf4j又增加了一层来转换各日志实现包的使用,当然slf4j-simple除外。其结构如下: slf4j-api(接口层)    | 各日志实现包的连接层( slf4j-jdk14, slf4j-log ...
首先下载ruby wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p368.tar.gz tar xzvf ruby-1.8.6-p368.tar.gz 然后进到ruby-1.8.6-p368目录 执行 ./config -prefix=/usr/local/ruby 开发编译安装 make && make install 再配置环境变量使在全局可用: 在/etc/profile后加入 export PATH=/usr/local/ruby/bin:$PATH 保存后,su - ruby -v 看 ...
首先不多说的是你必须下载android sdk http://developer.android.com/sdk/1.5_r3/index.html 再来创建sd card D:\dev\android-sdk\tools>mksdcard -l pure 1024M pure (目录注意改成你sdk安装目录) 这样就创建了一个pure的sd card 然后下载 javaeye android 客户端 http://www.iteye.com/topic/437903 安装: D:\dev\android-sdk\tools>adb install JavaEye ...
有时需要输出给定的两个日期或是某个日期到当前日期的每天的日期: shell脚本这么搞,不太好,有好的办法告之? for ((i=16;i>=1;i=i-1)) do echo `date +%Y-%m-%d --date "$i day ago"` done ruby脚本就爽多了: (Date.new(2009,8,1)..Date.today).each{|date| puts date} 很简单是吧。
Global site tag (gtag.js) - Google Analytics