- 博客(48)
- 收藏
- 关注
转载 获取Eclipse及插件路径汇总
1. 得到某PLUGIN的路径:Platform.getBundle("mypluginid").getLocation();eclipse采用osgi后好像还可以:Activator.getDefault().getBundle().getLocation();(前提是这个插件有Activator这个类.这个类继承了ECLIPSE的Plugin类)2.
2014-11-25 15:40:11
859
转载 dom4j读写xml文件
dom4j读写xml文件转自:http://www.blogjava.net/biiau/archive/2008/09/24/231005.html首先我们给出一段示例程序:import java.io.File;import java.io.FileWriter;import java.util.Iterator;import org.dom4j.D
2014-11-25 10:48:19
551
原创 远程调试eclipse产品的配置参数
1.eclipse.exe文件启动方法:eclipse.ini文件末尾添加下面两行 ,双击eclipse.exe启动-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n 2.批处理文件启动方法新建debug.bat文件,添加如下内容,双击debug.
2014-10-17 11:32:27
553
原创 java.lang.NoClassDefFoundError: Could not initialize class的场景
Could not initialize class的场景错误的使用ClassLoader:[java] view plaincopy"code" class="java"> ClassPath classPath = new ClassPath(i.getProject()); S
2014-10-17 11:32:15
5163
原创 获取文件Md5的方法
public static String getFileMD5(File file) { if (!file.isFile()) { return null; } MessageDigest digest = null; FileInputStream in = null; byte buffe
2014-09-25 10:23:54
729
转载 精心整理的Java数组操作的10大方法
原文地址下面是精心整理的Java数组操作的10大方法,大部分代码都来自Stack Overflow。0、定义一个Java数组String[] aArray = new String[5];String[] bArray = {"a","b","c", "d", "e"};String[] cArray = new String[]{"a","b","c","d","e"};
2014-08-28 10:17:03
621
原创 swt绘图练习
public static void main(String[] args) { final Display display = Display.getDefault(); final Shell shell = new Shell(display); shell.setSize(200, 200); shell.addPaintListener(new PaintListener
2014-08-06 10:09:03
887
原创 java实现一个月的最后一个星期天
Calendar instance = Calendar.getInstance(); System.out.println(instance.getTime()); instance.add(Calendar.MONTH, 1);//月份+1 instance.set(Calendar.DAY_OF_MONTH, 1);//天设为一个月的第一天 System.out.printl
2014-07-24 19:54:22
3230
1
转载 深入 Eclipse 多线程机制
简介Eclipse 提供了一套多线程类库(包括 Job 等)极大的方便了开发人员对多线程程序的处理。本文通过对 Eclipse 内核代码的研究,分析 Eclipse 多线程库的内部实现机制,特别是其内部线程池的实现方式,Job 的调度,线程同步机制等。读者通过阅读本文,可以深入了解 Eclipse 多线程机制,同时加深对 Java 线程的理解。这对于我们设计多任务系统,以及解决多线程问题将大有
2014-07-04 09:24:58
834
转载 Eclipse客户端程序中多线程的使用
Eclipse作为一个开发平台,使用越来越广泛,基于Eclipse Rich Client Platform开发的客户端程序也越来越多。在当今越来越复杂的应用环境中,我们的客户端程序不可避免的要同时进行多任务的处理。一个优异的客户端程序都会允许用户同时启动多个任务,从而大大提高用户的工作效率以及用户体验。本文中我们来谈谈Eclipse中实现多任务的方式。在我们基于Eclipse的Java程
2014-07-04 09:20:12
2222
原创 模仿WizardDialog外观的TitleAreaDialog子类
public class TestTitleAreaDialog extends TitleAreaDialog implements test { public TestTitleAreaDialog(Shell parentShell) { super(parentShell); } @Override protected boolean isResizable() {
2014-06-30 15:35:22
763
转载 RCP学习:如何重写WorkbenchPage
RCP学习:如何重写WorkbenchPage 重写WorkbenchPage的必要性在哪里?比如有一个需求,比如屏蔽编辑器的关闭功能,或者把关闭编辑器按钮的实际功能转为隐藏编辑器前一个功能还可以通过重写一系列的类来完成,后面这个功能几乎是无法完成的。 我们可以通过扩展org.eclipse.ui.internalTweaklets来完成我们来看Workbe
2014-05-23 17:11:29
557
转载 图元开发
图元开发定义板型IDE内部机制使用了UML2的模型来表达图元模型。有些图元需要在此基础上扩展、保存额外的信息,我们通过给图元定制Stereotype,扩展图元模型,达到存储信息的目的以SNE中ReceiveEvent图元为例:该图元用于对Event事件进行解码,需要保存解码的Event事件信息,所以我们要对它的原模型进行扩展1、定义图元的Stereotype 在
2014-05-23 11:39:07
685
转载 在Eclipse中去掉多余的UI组件的几个方法
原文:http://www.blogjava.net/yes1983/archive/2009/07/26/Eclipse_extension_Activities_remove.html
2014-05-21 18:38:33
797
原创 Java反射工具类
/** * 反射工具类 */public class ReflectionUtil{ /** * 用于访问父类的私有成员 * @param object * @param fieldName * @return 对象 */ public static Object getFieldValue(Objec
2014-05-21 18:02:27
625
原创 该类为解决界面实时校验慢写的,但不限于此,可以执行后台逻辑
/** * 该类为解决界面实时校验慢写的,但不限于此,可以执行后台逻辑。 * * 效果是: * 在校验触触发结束后一段时间执行最近一次job中的逻辑,废弃之前的 * 逻辑,避免了逻辑随着界面频繁的修改而多次执行导致的资源消耗问题 * * @author dKF64641 * */public abstract class LazyJob{
2014-05-16 09:51:33
605
原创 eclipse插件获取ImageDescriptor的方法
org.eclipse.ui.plugin.AbstractUIPluginpublic static ImageDescriptor imageDescriptorFromPlugin(String pluginId, String imageFilePath) { if (pluginId == null || imageFilePath ==
2014-04-22 19:57:52
1850
原创 eclipse插件扩展属性页的获取及排序逻辑
/** * Reads property tab extensions. Returns all tab descriptors for the * current contributor id or an empty array if none is found. */ protected ITabDescriptor[] getAllTabDescriptors() {
2014-04-22 10:47:30
1171
原创 CEditor里鼠标悬停在word上显示对应声明代码的提示框的代码
org.eclipse.jface.text.TextViewerHoverManager /** * Determines all necessary details and delegates the computation into * a background thread. */ protected void computeInformation() {
2014-04-15 19:26:59
959
原创 守望者闪烁题目解析
1.题目概要恶魔猎手尤迪安野心勃勃.他背叛了暗夜精灵,率深藏在海底的那加企图叛变:守望者在与尤迪安的交锋中遭遇了围杀.被困在一个荒芜的大岛上。为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会沉下去,到那时,岛上的所有人都会遇难:守望者的跑步速度,为17m/s,以这样的速度是无法逃离荒岛的。庆幸的是守望者拥有闪烁法术,可在1s内移动60m,不过每次使用闪烁法术都会消耗魔法值10点。守望者
2014-04-10 10:31:12
1283
转载 Java关键字
原文连接 Java关键字(keywords) abstract default if private this boolean do implements protected throw break double import public throws
2014-03-21 14:45:24
410
转载 java 8简明教程(新特性)
Java并没有没落,人们很快就会发现这一点” 欢迎阅读我编写的Java 8介绍。本教程将带领你一步一步地认识这门语言的新特性。通过简单明了的代码示例,你将会学习到如何使用默认接口方法,Lambda表达式,方法引用和重复注解。看完这篇教程后,你还将对最新推出的API有一定的了解,例如:流控制,函数式接口,map扩展和新的时间日期API等等。允许在接口中有默认方法实现Java 8 允许我们
2014-03-21 14:26:13
1217
转载 java Native Method初涉
原文地址今天花了两个小时把一份关于什么是Native Method的英文文章好好了读了一遍,以下是我依据原文的理解。一. 什么是Native Method 简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语
2014-03-21 14:07:48
446
原创 StringTokenizer使用
public class T{ /** * @param args */ public static void main(String[] args) { // 默认定界符" \t\n\r\f",且返回值中不包含定界符 System.out.println("tokenizer1:"); //$NON-N
2014-03-21 11:37:25
666
原创 eclipse中获取工作区中指定View视图的代码
/** * 取得当前的页 * * @return 当前的页 */ public static IWorkbenchPage getActivePage() { //判断workbench是否启动 if (!PlatformUI.isWorkbenchRunning()) {
2014-03-18 09:37:21
671
原创 findbugs配置
1、 打开首选项window->Preferences->Java->FindbugsReport configuration页签analysis effort:defaultMinimum confidence to report:Low下方选项全部勾选 Detector configuration页签勾选Show hidden detectors勾选下方的
2014-03-17 09:47:52
871
转载 Java编程中“为了性能”需做的26件事
摘要:最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。 本文参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打
2014-03-12 14:56:13
379
转载 单例模式和多线程安全
单例模式分三种:懒汉式单例、饿汉式单例、内部类单例、登记式单例几种。单例模式有一下特点:1、单例类只能有一个实例。2、单例类必须自己自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。懒汉模式不是线程安全的。饿汉模式是线程安全的。内部内模式利用Classloader的特注册表模式是线程安全的同时又提供运行期指定单例。饿汉式单例类 public
2014-03-11 11:04:22
595
原创 解决文本框实时校验慢的方法
public class TestWindow extends ApplicationWindow{ public TestWindow(Shell parentShell) { super(parentShell); } @Override protected Control createConten
2014-02-07 15:34:57
649
原创 线程安全的缓存代码
public class ThreadSafeCacheManagerBySynchronized{ private static ThreadSafeCacheManagerBySynchronized instance = null; /** * 初始化instance时会同步一次,之后就不用同步了,在非全局变量的场景下可以对instance置n
2014-01-26 13:42:35
757
转载 shutdown命令定时关机全攻略
用系统自带指令实现 Windows XP/2003 定时自动关机今天有人问到如何实现定时自动关机,给出了用at和shutdown指令实现的方法,我自己常用的是PowerOff软件来实现,试了下at指令,发现还是挺方便的。 先说下系统自带的关机指令,很多人应该已经知道了,就是shutdown,不带参数执行将会列出它的参数,常用参数为:-s 关闭计算机-
2014-01-22 17:40:25
9056
转载 从volatile说到i++的线程安全问题
简介volatile关键字保证了在多线程环境下,被修饰的变量在别修改后会马上同步到主存,这样该线程对这个变量的修改就是对所有其他线程可见的,其他线程能够马上读到这个修改后值. Thread的本地内存每个Thread都拥有自己的线程存储空间Thread何时同步本地存储空间的数据到主存是不确定的例子 借用Google JEREMY MANSON 的解释,上图表示两个线程
2014-01-20 16:42:31
583
转载 JConsole手册
一篇Sun官方网站上介绍JConsole使用的文章 ,前段时间性能测试的时候大概翻译了一下以便学习,今天整理一下发上来,有些地方也不知道怎么翻,就保留了原文,可能还好理解点,呵呵,水平有限,翻的不好,大家多多包涵。JConsole毕竟是JDK自带的东西,功能虽然没有一些商业软件那么强大,但是稳定性好,在大压力情况下也不会发生什么问题。而且,提供了相对全面的系统监控功能,还是值得一用的。
2014-01-20 14:27:40
494
转载 FindBugs规则整理-下
86.RV: Method ignores return value (RV_RETURN_VALUE_IGNORED)该方法的返回值应该进行检查。这种警告通常出现在调用一个不可变对象的方法,认为它更新了对象的值。例如:String dateString = getHeaderField(name);dateString.trim();程序员似乎以为trim()方法将更新dateStr
2014-01-20 14:05:25
14285
1
转载 FindBugs规则整理-上
FindBugs规则整理 分类: JavaEE Eclipse 2013-09-12 22:34 825人阅读 评论(0) 收藏 举报java静态检查插件findbugFindBugs是基于Bug Patterns概念,查找javabytecode(.class文件)中的潜在bug,主要检查bytecode中的bug patterns,如NullPoint空指针检查、没有合理关闭资
2014-01-20 14:04:04
1764
1
转载 使用ScheduledThreadPoolExecutor代替Timer&TimerTask
TimerTaskTimerScheduledThreadPoolExecutor定时器 . 如果我们想要延迟(deferred)或者周期性(periodic)执行一个任务,我们可以使用Java API 的Timer和TimerTask类。 一般步骤是: 继承TimerTask(抽象类),复写run方法,方法体里代表需要执行的任务
2014-01-20 09:35:17
640
原创 Eclipse前台窗口后台进程的用法
1.ResourcesPlugin.getWorkspace().run(runnable, ResourcesPlugin.getWorkspace().getRoot(), IWorkspace.AVOID_UPDATE, null); 2.WorkbenchJob job = new WorkbenchJob("title") {
2014-01-18 17:39:57
869
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人