static

Magento调用静态块 static block

余生长醉 提交于 2020-03-02 19:15:52
静态块(static block),仅包含一些静态的html内容,不涉及数据库存取,比如像:一些文字和图片链接,网站页脚部分等。建立static block很简单,Magento后台提供一个功能,可以方便的创建、编辑、管理static block。可以在【管理员后台】》【CMS】》【Static Blocks】菜单找到。 建立了static block后,如何在前端界面显示呢?一是在Magento的layout文件中配置,然后在模板文件.phtml中通过调用 getChildHtml('block_id')输出为html代码。下面借助在Magento中系统内置的一个静态块footer_links来说明。 首先,在cms.xml layout文件中设置静态块: <default> <referencename="footer"> <blocktype="cms/block"name="cms_footer_links"before="footer_links"> <!-- The content of this block is taken from the database by its block_id. You can manage it in admin CMS -> Static Blocks --> <actionmethod="setBlockId"><block_id

单例模式二(懒汉式)

佐手、 提交于 2020-03-02 16:49:21
上一篇文章讲到了饿汉式有占用资源而不使用的嫌疑,那我们就应该考虑到调用的时候在生成对象。 改后的第一版本 public class LazySingletion { private LazySingletion(){ } private static LazySingletion single; protected static LazySingletion getInstance(){ if(single == null ){ single = new LazySingletion(); } return single; } } 这里先买个关子,大家看出了有这问题没? 1.0版本会有线程不安全的情况,在多线程下,会出现多个对象实例。 新建一个类实现Runnable接口 public class ExectorThread implements Runnable { public void run() { LazySingletion singleton = LazySingletion.getInstance(); System.out.println(Thread.currentThread().getName()+":"+singleton); } } 新建测试类 public class Test { public static void main(String[]

2020-3-2 牛客试题复盘

…衆ロ難τιáo~ 提交于 2020-03-02 13:21:54
1、有关线程的叙述正确的是(B) A、可以获得对任何对象的互斥锁定。 B、通过继承Thread类或实现Runnable接口,可以获得对类中方法的互斥锁定。 C、线程通过使用synchronized关键字可获得对象的互斥锁定。 D、线程的创建只能通过继承Thread类来实现。 解析: 互斥锁指的是只有一个线程可以访问该对象。 通过继承Thread类或实现Runnable接口,只是创建线程的两种方式。 2、以下程序的运行结果是:( C ) TreeSet<Integer> set = new TreeSet<Integer>(); TreeSet<Integer> subSet = new TreeSet<Integer>(); for(int i= 606 ;i< 613 ;i++){ if(i% 2 == 0 ){ set.add(i); } } subSet = (TreeSet)set.subSet( 608 ,true, 611 ,true); set.add( 629 ); System.out.println(set+ " " +subSet); A、编译失败 B、发生运行时异常 C、[606, 608, 610, 612, 629] [608, 610] D、[606, 608, 610, 612, 629] [608, 610,629] 解析: 去翻了API=====

Java中final与static的使用

一世执手 提交于 2020-03-02 06:52:16
Final关键字 根据使用环境不同,final的含义会有细微的区别,但通常是指无法改变的内容。final关键字可以修饰变量、方法和类。 Final变量 final数据是用来向编译器告知变量是恒定不变的。对使用基本类型数据的常量,在定义时必须对其赋值。一个既是static又是final的域只会占据一段不能改变的存储空间。当对象使用引用而不是基本类型时使用final修饰,final使引用恒定不变,但其引用的内容可变。 空白的final允许的,但在使用前必须初始化,一旦初始化,将不能再更改。一般应用于类中,在定义处或构造方法中初始化。方法的参数也可以被final修饰,final参数不能更改参数引用指定的对象,主要用来向匿名内部类传递数据。 接口中定义的域不能是空白final的,因为接口中的域都是static final,所以必须在定义时进行初始化。其他位置的static final也一样。 Final方法 final方法的使用原因有两个: 锁定方法,防止继承类修改和覆盖方法。 加强效率,将调用转换为内嵌,该条仅限于小方法使用。 类中所有私有方法都隐式的指定为final的,虽然可以给私有方法加final修饰,但不会有任何意义。 Final类 final类表示该类无法被继承。final类中的域可根据选择是否成为final域,但类中的方法都将隐式的指定为final的

DBUtil和连接池 使用

夙愿已清 提交于 2020-03-02 04:26:06
1.导包 需要在lib文件夹下导入 2.创建自己的链接类 public class MyDBUtils { public static final String DRIVER = "com.mysql.jdbc.Driver"; public static final String URL = "jdbc:mysql://localhost:3306" + "/store_v1.0?useUnicode" + "=true&characterEncoding=UTF-8"; public static final String USERNAME = "root"; public static final String PASSWORD = "123456"; /* * 创建连接池BasicDataSource */ public static BasicDataSource dataSource = new BasicDataSource(); // 静态代码块 static { // 对连接池对象 进行基本的配置 dataSource.setDriverClassName(DRIVER); // 这是要连接的数据库的驱动 dataSource.setUrl(URL); // 指定要连接的数据库地址 dataSource.setUsername(USERNAME); //

八皇后问题 java

╄→гoц情女王★ 提交于 2020-03-01 21:17:06
在棋盘上放置8个皇后,使他们互不攻击,此时每个皇后的 攻击范围为 同行 同列 同对角线 要求找出所有解 恰好每行每列放置一个皇后 如果用C[x]表示第x行皇后的列号,就成为了一个全排列问题 static int ans ; static int n ; static int [ ] C ; public static void main ( String [ ] args ) { Scanner sc = new Scanner ( System . in ) ; n = sc . nextInt ( ) ; C = new int [ n ] ; f ( 0 ) ; System . out . println ( ans ) ; } static void f ( int cur ) { if ( cur == n ) ans ++ ; else for ( int i = 0 ; i < n ; i ++ ) { int ok = 1 ; C [ cur ] = i ; for ( int j = 0 ; j < cur ; j ++ ) { //检查是否和前面的皇后冲突 //判断是否跟前面的皇后在同一列或者对角线 // 因为数组下标就是行号,所以不会在同一行 if ( C [ cur ] == C [ j ] || cur + C [ cur ] == j + C [ j

单例设计模式实现总结

三世轮回 提交于 2020-03-01 19:16:29
单例模式的总体概述 单例模式,属于创建型模式,《设计模式》一书对它做了定义:保证一个类仅有一个实例,并提供一个全局访问点。 单例模式适用于无状态的工具类、全局信息类等场景。例如日志工具类,在系统中记录日志;假设我们需要统计网站的访问次数,可以设置一个全局计数器。 单例模式的优势有 在内存里只有一个实例,减少了内存开销; 可以避免对资源的多重占用; 设置全局访问点,严格控制访问。 单例模式的研究重点大概有以下几个: 构造私有,提供静态输出接口 线程安全,确保全局唯一 延迟初始化 防止反射攻击 防止序列化破坏单例模式 多种实现方式与比较 线程安全的饿汉模式 public class HungrySingleton { private final static HungrySingleton instance = new HungrySingleton(); private HungrySingleton() { } public static HungrySingleton getInstance() { return instance; } } 也可以通过静态代码块的形式实现。实现与静态常量基本相同,只是把实例化过程放到了静态代码块中。 private final static HungrySingleton2 instance; static { instance = new

PHP5.3_延迟静态绑定_static

本小妞迷上赌 提交于 2020-03-01 17:41:54
基于PHP版本: 5.3.5 PHP5.3 以后引入了延迟静态绑定: static( 关键字) 类似于 self( 关键字 ) , 但它指向的是 被调用的类( Document ) 而不是 包含类( DomainObject ) , static 和 self 的区别: Code: <?php class DomainObject{ public static function createStatic(){ return new static(); } public static function createSelf(){ return new self(); } } class User extends DomainObject{ } class Document extends DomainObject{ } echo '<pre>'; var_dump( Document::createStatic()); var_dump( Document::createSelf()); Result: object(Document)[1] object(DomainObject)[1] 以前你这么写: abstract class DomainObject{ } class User extends DomainObject{ public static function

JAVA static、final、interface、abstract

◇◆丶佛笑我妖孽 提交于 2020-03-01 16:27:05
1、 static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块。 被static修饰的成员变量和成员方法独立于该类的任何对象 ; 使用公共内存空间。 用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类的对象时,不生成static变量的副本,而是类的所有实例共享同一个static变量。 在外部调用静态方法时,可使用“类名.方法名”也可以使用“对象名。方法名”的方式,即调用静态方法可以无需创建对象。 static变量前可以有private修饰,表示这个变量可以在类的静态代码块中,或者类的其他静态成员方法中使用(当然也可以在非静态成员方法中使用),但是不能在其他类中通过类名来直接引用,这一点很重要。实际上你需要搞明白,private是访问权限限定, static表示不要实例化就可以使用 ,这样就容易理解多了。static前面加上其它访问权限关键字的效果也以此类推。 static修饰的成员变量和成员方法习惯上称为静态变量和静态方法,可以直接通过类名来访问,访问语法为: 类名.静态方法名(参数列表...) 类名.静态变量名 用static修饰的代码块表示静态代码块,当Java虚拟机(JVM)加载类时,就会执行该代码块(用处非常大,呵呵)。 1、static变量 按照是否静态的对类成员变量进行分类可分两种

Java中static关键字的作用

安稳与你 提交于 2020-03-01 13:18:34
在Java中, static主要有4中使用情况:成员变量、成员方法、代码块和内部类。 static是与对象解绑的,和对象就没关系了,跟类建立了联系。为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关。 修饰成员变量 (属性)时,只要这个类被加载,静态成员变量就会分配到空间,这在内存中只能复制一次,对静态变量的引用有两种方式,分别是“ 类.静态变量"和”对象.静态变量 "。 而实例变量属于对象,只有对象被创建后,实例变量才会被分配内存空间,才能被使用,它在内存中存在多个复制,只有用“对象.实例变量”的方式来引用。 成员方法 ,static方法是类的方法,不需要创建对象就可以被调用, static方法中不能用this和super,不能调用非static方法,不能访问非static类型的属性和方法 , 不能对内部类进行实例化 , 非static方法是对象的方法,只有对象被创建出来后才可以被使用 static一个很重要的用途就是实现 单例设计模式 。单利模式的特点是该类只能有一个实例,为了实现这一功能,必须隐藏类的构造函数,即把构造函数声明为private,并提供一个创建对象的方法,由于构造对象被声明为private,外界无法直接创建这个类型的对象,只能通过该类提供的方法来获取类的对象,要达到这样的目的只能把创建对象的方法声明为static。 3. static代码块