`
zrgzrgzrgzrg
  • 浏览: 7003 次
社区版块
存档分类
最新评论
文章列表

单例模式

单例设计模式 Singleton是一种创建型模式,指某个类采用Singleton模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点。 核心知识点如下: (1) 将采用单例设计模式的类的构造方法私有化(采用private修饰)。 (2) 在其内部产生该类的实例化对象,并将其封装成private static类型。 (3) 定义一个静态方法返回该类的实例。   /** * 方法一 * 单例模式的实现:饿汉式,线程安全 但效率比较低 */ public class SingletonTest { // 定义一个 ...
   在Java中,Timer类主要用于定时性、周期性任务 的触发,这个类中有两个方法比较难理解,那就是schedule和scheduleAtFixedRate方法,在这里就用实例分析一下    (1)在方法不延迟的情况下,即间隔时间大于任务执行时间时:       package test; import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask; public class Test1 { static class My ...
转载自:https://m.oschina.net/blog/191666   原理:在新建页面中Session保存token随机码,当保存时验证,通过后删除,当再次点击保存时由于服务器端的Session中已经不存在了,所有无法验证通过。 注解Token代码: @Target(ElementType.METHOD) @Retention (RetentionPolicy.RUNTIME) public @interface Token {        boolean save() default false ;
import java.lang.management.ManagementFactory; import java.lang.management.ThreadInfo; import java.lang.management.ThreadMXBean; public class MultiThread { public static void main(String[] args) { //获取JAVA线程管理MXBean ThreadMXBean bean = ManagementFactory.getThreadMXBean(); //不需要后去同 ...
         最近在做一个RCP项目时,发现左边导航视图用CommonNavigator时,新建项目后关闭程序,再次打开发现导航视图中新建的项目没有出现,要再次点击右键才能出现,经过翻阅资料发现需要在 ApplicationWorkbenchAdvisor类增加以下2个方法就可以解决     @Override
    OSGi是Open Services Gateway initiative的缩写,叫做开放服务网关协议。容许你动态的启动,停止,安装,删除其中的模块而无需重启服务,至于OSGI的模块层、生命周期层、服务层等的概念网上有很多的文章大概看一下就可以有所了解了,下面我通过一个例子简单的介绍OSGI的应用     新建一个plugin in project项目,比如名字叫com.osgi.hellowordl,记得勾选an OSGI framwork,点击下一步,填入ID(helloworld),然后点击完成。新建一个借口Hello 写一个方法sayHello,然后写一个实现类HelloI ...
JFace是建立在SWT之上的UI部件,是Eclipse组织为了开发Eclipse IDE环境所编写的一组底层图形界面 API,其底层实现为SWT。它扩展了 SWT并能与 SWT 交互操作。JFace工具箱提供了一组功能强大的用户界面组件,开发人员可以轻松地在独立应 ...
import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class GridData_GridLayoutTest2 { protected Shell shel ...
        SWT相对于SWING对于资源的消耗等都做了好多的优化,性能提升很多,下面介绍怎样创建一个简单的SWT应用。        首先如果你不需要可视化编辑的话,确认eclipse的plugins文件下有SWT相关的JAR包。如果你想做可视化拖拽式的界面开发 ,你还需要在eclipse->help->install new software中下拉框中选择(我的是Mars - ttp://download.eclipse.org/releases/mars),然后输入SWT就可以进行安装了,当然前提是必须要能上网,如果不能上网,就去下载离线版的安装,记得选择与你的ecl ...
(1)新建一个插件工程  (2)插件的相关信息   ID:插件的ID VERSION:插件的版本 NAME:插件的名字 VENDOR:插件开发者的信息 ACTIVATOR:插件的激活类,管理插件生命周期,这里我们需要勾选Generator为我们自动创建一个插件激活类 ...
      首先,本人也是刚刚开始学习插件方面的相关知识,有什么错误的地方也希望能指出来,共同进步。       Eclipse本质上可以看作是一个整合了各种开发工具的平台,各种功能才用了可以自由插拔的插件方式进行管理,目前很多公司都有一套基于Eclipse开发的通用开发平台,将相关功能继承到平台中,以提高开发效率。以下是一张Eclipse架构图           最底层的是OSGI,Eclipse从3.0的时候引入了OSGi进行插件的管理,它可以动态的安装、卸载、停止应用程序中的不同模块。SWT是一种开源的GUI编程框架,在它之前有SUN的AWT以及SWING,AWT的优势在于,简单 ...
在org.eclipse.ui.editors扩展点中有个matchingStrategy的元素,可以实现IEditorMatchingStrategy接口,覆写 public boolean matches(IEditorReference editorRef, IEditorInput input)方法,就可以做到判断编辑器输入是否匹配打开的编辑器。 说的简单点:每次我们打开一个文件,转化为input会去回调matches方法,判断是否文件已经打开,从而达到不会打开多次目的,即单例。一般应用于一个编辑器编辑多个文件。 如: public class DiagramMatchingSt ...
public class Perspective implements IPerspectiveFactory {        public void createInitialLayout(IPageLayout layout) {          // 屏蔽视图的关闭按钮          layout.getViewLayout(视图ID).setCloseable(false);      }  } 
Global site tag (gtag.js) - Google Analytics