`
文章列表
    缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。   缓存的介质一般是内存,所以读写速度很快。但如果缓存中存放的数据量非常大时,也会用硬盘作为缓存介质。缓存的实现不仅仅要考虑存储的介质,还要考虑到管理缓存的并发访问和缓存数据的生命周期。   Hibernate的缓存包括Session的缓存和SessionFactory的缓存,其中SessionFactory的缓存又可以分为两类:内置缓存和外置缓存。S ...

struts2的优点

struts2的优点 Struts2 是一个相当强大的Java Web开源框架,是一个基于POJO的Action的MVC Web框架。它基于当年的Webwork和XWork框架,继承其优点,同时做了相当的改进。Struts2现在在Java Web开发界的地位可以说是大红大紫,从开发人员的角 ...
图中的软件层次自上而下分成4个层次 应用程序(Application) 用用程序框架(Application Framework) 各种类库(Libraries)和android运行时(Adnorid Runtime) 操作系统(OS)   一.应用程序(Application)         应用层是和用户交互的一个层次,用户可以看得见的一些应用,用户可以操作。这类应用基本都是通过Java语言编写的独立的能够完成某些功能的应用程序。 Android本身提供了桌面(Home),联系人(Contacts),拨打电话(Phone),浏览器(Browers)等很多基本的应用程序。开发 人员 ...
java 断言 assert 初步使用:断言开启、断言使用 (一)首先明确: java断言Assert是jdk1.4引入的。 jvm 断言默认是关闭的。 断言是可以局部开启的,如:父类禁止断言,而子类开启断言,所以一般说“断言不具有继承性”。 断言只适用于复杂的调试过程。 断言一般用于程序执行结果的判断,千万不要让断言处理业务流程。 (二)判断eclipse是否开启了断言,代码如下: public class AssertTest { public static void main(String[] args) {    boolean isOpen = fal ...
Eclipse 安装ADT插件报错 由于网络问题使下载文件出错 1.An error occurred during provisioning.Failed to prepare partial IU: [R]com.android.ide.eclipse.adt 重新安装此插件,无法继续,提示同样的错误 Eclipse根目录下有一个artifacts.xml文件,删掉文件中相应插件项重新安装 ADT的插件项如下: <artifact classifier='org.eclipse.update.feature' id='com.android.ide.eclipse.adt ...

解析html

package com.web.test; import java.io.BufferedInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.Reader; import java.net.URL; import java. ...
package com.web.test; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; import org.htmlparser.NodeFilter; import org.htmlparser.Parser; import org.htmlparser.filters.Nod ...
package com.web.test; import java.io.*; import java.util.*; import javax.swing.text.*; import javax.swing.text.html.*; import javax.swing.text.html.parser.*; import javax.swing.text.html.HTMLEditorKit.ParserCallback; /** * 过滤image * @author chenxiaobing * */ public class HTMLParse ...
package com.web.test; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import org.htmlparser.Node; import org.htmlparser.NodeFilter; import org.htmlparser.Parser; import org.htmlparser.tags.LinkTag; import org.htmlparser.util.NodeList; /** * JAVA ...
打算实现一个下载功能,当然理想的功能要支持多任务下载、多线程下载、断点续传的功能,我想一步一步来,首先困难摆在了多任务这里。 开始的思路是在一个Service中启动下载的流操作,然后通过Service中声明一个Activity中的Handler更新UI(比如进度条。。。) 可是我发现在Service中声明一个Activity中的Handler是做不到的(可能只是我做不到吧,无法申请内存) 于是,我决定在Activity中直接启动线程,让其运行,调用自身的Handler来更新UI,没想到在这个下载Activity onPause()的时候,线程还是活的,也就是说可以继续下载,下例是我做的一个 ...
我们都知道Hanlder是线程与Activity通信的桥梁,我们在开发好多应用中会用到线程,有些人处理不当,会导致当程序结束时,线程并没有被销毁,而是一直在后台运行着,当我们重新启动应用时,又会重新启动一个线程,周而复始 ...
在android程序中,会有一些耗时的操作,比如从网上抓取图片,下载文件,批量更新数据库等,这些操作对于手机而言会需要很长的时间,而应用程序界面又不能等到这些操作完成后再显示,所以要让界面各这些耗时的操作并行处理,用多线程可以解决这个问题。当然还有其它解决方案,比如用Service. 我们先作一个例子吧,大概是这样的:有一个列表,每行显示的一个图片,图片是存放在网上的。如果不用多线程,也是可以的,但是要等到所有图片下载完了才能展示出来。这种方式对用户体验很不友好,所以我们采用多线程的方式,对每一个图片开启一个线程,当其下载完数据后,在主线程中显示出来。 主Activity public ...
java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks。 一个TimerTask实际上就是一个拥有run方法的类,需要定时执行的代码放到run方法体内,TimerTask一般是以匿名类的方式创建。 一个完整的Timer java.util.Timer timer = new java.util.Timer(true); // true 说明这个timer以daemon方式运行(优先级低, // 程序结束timer也自动结束),注意,javax.swing // 包中也有一个Timer类,如果import中用到swing包, // 要注意 ...
下载http://code.google.com/p/java-html2image/downloads/listjar包 HtmlImageGenerator imageGenerator = new HtmlImageGenerator(); imageGenerator.loadHtml("<b>Hello World!</b> Please goto <a title=\"Goto Google\" href=\"http://www.google.com\">Google</a>.&q ...

Dom-Drag

  如果你想实现Web上的组件能用鼠标随意拖动到页面的任意位置或指定的位置等,那你就要看看dom-drag.js了。dom-drag.js可以从http://youngpup.net/projects/dom-drag/下载到,作者 Aaron Boodman。          其作者称其为面向现代DHTML浏览器的轻量级、 易于使用的拖放API。事实上DOM-Drag库是做到了。          你想让某个组件能够拖动,你可以调用 Drag.init( ) 方法。          init : function(o, oRoot, minX, maxX, minY, maxY, ...
Global site tag (gtag.js) - Google Analytics