`
文章列表
Eclipse 插件能干什么, 可以拉一些新闻,天气,自己感兴趣的东西,当然还能自动开始抢号程序等等。 现在就开发一个天气预报程序吧, 不用每天看天气都要去网站看,多麻烦。 当然比如你对足球感兴趣,那么可以把足球资讯拉过来, 还有更多东西都可以在一个页面里完成。 界面很简单,展示了最佳一个星期的天气, 这是从yahoo拉过来的网页, 和通过网页访问时一样的。 原理也简单,每次访问都会去判断是否今天访问过了,如果访问过了就取本地数据,如果没有访问过,那么就从网站拉数据到本地。 敢兴趣的可以从附件下载, 因为没有采用UI,所以支持所有eclipse版本.
曾记得有一款eclipse插件叫Easy Explorer, 但是我已经找不到了,就算有也下不到,每次打开文件都要到Windows目录下一个一个找,最近闲来无事,就自己开发了一个, 基于OSGI的开发,你会感觉非常轻松,需要其他组件直接应用下就O ...

Java 字符串分词

    博客分类:
  • JDK
在Java的世界里有个类型叫String,中文名就字符串。 很多时候我们需要使用它来存储, 出了基本的8个类型外,还有Date和String这两个特殊的“基本”类型. 对于字符串,我们接触的多,处理的多,却很少去总结, 比如我们经常把 ...
we usually export datas with *.cvs file to custom. we usually import datas with *.cvs file from custom. so we should have a good library to read and write cvs file. 高内聚,低耦合,可扩展,使用方便. i choose Google Code [JCSV] use annotation to assign which column should be apply to Java Ojbect field. publ ...
Spring 擅长对组件的封装和集成, Spring-context对JDK的并发包做了功能增强。 <bean id="asyncTaskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> <property name="corePoolSize" value="10" /> <property name="maxPoo ...

Web 监听器

    博客分类:
  • web
不知道写什么, 先mark一下。 import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; public class MyListener implements ServletContextListener { public void contextInitialized(ServletContextEvent sce) { // start the thread } public void contextDe ...

Web 的拦截器

    博客分类:
  • web
我们可能会定义一些拦截器,但是他在容器中是怎么工作的呢,什么时候初始化,什么时候执行,什么时候销毁. 比如做权限验证 <filter> <filter-name>Auth</filter-name> <filter-class>UrlFilter</filter-class> <init-param> <param-name>fail</param-name> ...

Servlet 的生命周期

    博客分类:
  • web
以前只知道继承HttpServlet,然后Servlet容器就会自动调用doGet/doPost方法来提供service服务, 却不知道为什么,知道HttpServlet有生命周期init==>service==>destroy,生命周期由Servlet容器管理,却不知道怎么管理的,闲来无事就选择Tomcat作为研究对象。 其实以我做Java十几年的经验, 看源码似乎已成习惯: 1. Servlet init. 其实并不是所有的Servlet都是Servlet容器初始化就加载的,而是Servlet被第一次调用的时候加载. web 2.4 configration < ...
性能都是相对的,如果调用量不是很大的话,可以忽略,毕竟使用为主。groovy支持的语法还是很多的,灰常推荐,我这只是小实验罢了 代码执行如下: /** * @param args * @throws ScriptException */ public static void main(String[] args) throws ScriptException { // TODO Auto-generated method stub ScriptEngineManager sem = new ScriptEngineManager(); //se ...

Fake Code easy implements

    博客分类:
  • JDK
package org.miniframe.modules.utils; import java.util.HashMap; import java.util.Map; import javax.script.Bindings; import javax.script.ScriptContext; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; public class FakeCod ...

JDK regex 用法及用途

    博客分类:
  • JDK
查找 Boolean flag = pattern.matcher("fda").find(); 分割 String[] mm = pattern2.split(“say:”); 格式化 String format= pattern1.matcher(String.valueOf(vv)).group() 替换 String format= pattern3.matcher(ss1) .replaceAll("A") 匹配 String format= pattern5.matcher(email).matches() public c ...

生产者消费者(四)

    博客分类:
  • JDK
需求: 多个生产者不断的生产产品,多个消费者不断的消费产品,仓库可以存放10个产品。 第一批产品需要生产20个产品,并消费完毕。 这次不使用独占锁,使用CPU原语CAS. CAS 简单来说就是由CPU比较内存位置的值是否为当前值,如是则将其设置为next,如否则返回false.因此上面的代码片段要在一个无限循环中执行,这样可以保证并发时id的顺序. 基于CAS操作可以认为是无阻塞的,并且由于CAS操作是CPU原语,因此其性能会好于之前同步锁得方式。 package ycl.learn.effective.java.thread.pc; import java.util.co ...

生产者消费者(三)

    博客分类:
  • JDK
需求: 多个生产者不断的生产产品,多个消费者不断的消费产品,仓库可以存放10个产品。 第一批产品需要生产20个产品,并消费完毕。 这里使用JDK5中的并发包中的类Lock. package ycl.learn.effective.java.thread.pc; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /** * 公共资源类 */ p ...
需求: 多个生产者不断的生产产品,多个消费者不断的消费产品,仓库可以存放10个产品。 第一批产品需要生产20个产品,并消费完毕。 其实使用wait/notify模式实现差不多,只是使用的时候要注意防止“死锁”。 blockingQueue的实现与notify的实现效率差不多. package ycl.learn.effective.java.thread.pc; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; import java.util. ...
需求: 多个生产者不断的生产产品,多个消费者不断的消费产品,仓库可以存放10个产品。 第一批产品需要生产20个产品,并消费完毕。 结论: 当使用一个生产者,一个消费者是,需要4610,使用7个生产者,7个消费者时,只需要900,可见当N个任务耗时长,使用多线程可以充分发挥多核CPU的优点. package ycl.learn.effective.java.thread.pc; /** * 公共资源类 */ public class PublicResource { private int number = 0; private int index = ...
Global site tag (gtag.js) - Google Analytics