static

Where are static variables stored (data segment or heap or BSS)?

梦想的初衷 提交于 2020-01-15 08:30:50
问题 I obtained conflicting Opinions about static variable storage. Opinion 1 : "A stack static variable stores its value in the heap " Opinion 2 : "A stack static variable stores its value in the data segment". I am confused with these conflicting answers. Where exactly are static variables stored? I am expecting an answers with references (text books, authentic tutorials, etc.). Static variables have two types: static variables declared inside a function. global (declared outside function)

Django 1.6.2 will not serve static content

僤鯓⒐⒋嵵緔 提交于 2020-01-15 07:36:07
问题 I am unable to serve static content (for development purposes) using Django==1.6.2 There is no error message available to go with this. I just end up with a 404 message on my browser and a 404 message in the dev server [14/Apr/2014 16:50:29] "GET /static/resource/css/bootstrap.min.css HTTP/1.1" 404 1697 This is my set-up: INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib

final关键字介绍

这一生的挚爱 提交于 2020-01-15 05:51:01
  许多程序设计语言都有自己的办法告诉编译器某个数据是“常数”。常数主要应用于下述两个方面:   (1) 编译期常数,它永远不会改变   (2) 在运行期初始化的一个值,我们不希望它发生变化   对于编译期的常数,编译器(程序)可将常数值“封装”到需要的计算过程里。也就是说,计算可在编译期间提前执行,从而节省运行时的一些开销。在Java中,这些形式的常数必须属于基本数据类型(Primitives),而且要用final关键字进行表达。在对这样的一个常数进行定义的时候,必须给出一个值。 无论static还是final字段,都只能存储一个数据,而且不得改变。   若随同对象句柄使用final,而不是基本数据类型,它的含义就稍微让人有点儿迷糊了。对于基本数据类型,final会将值变成一个常数;但对于对象句柄,final会将句柄变成一个常数。进行声明时,必须将句柄初始化到一个具体的对象。而且永远不能将句柄变成指向另一个对象。然而,对象本身是可以修改的。Java对此未提供任何手段,可将一个对象直接变成一个常数(但是,我们可自己编写一个类,使其中的对象具有“常数”效果)。这一限制也适用于数组,它也属于对象。 下面是演示final字段用法的一个例子: // The effect of final on fields class Value { int i = 1; } public class

Final 关键字

一笑奈何 提交于 2020-01-15 05:50:09
1、概述 最一般的意思就是声明 “这个东西不能改变”。之所以要禁止改变,可能是考虑到两方面的因素:设计或效率。 final 关键字可以用来修饰变量、方法和类,修饰变量表示变量不能被修改,修饰方法表示方法不能被重写,修饰类表示类不能被继承。 由于以下两个原因,数据的恒定不变是很有用的。 它可以是一个永不改变的“编译期常量”(仅限基本数据类型,提高编译效率)。 它可以是一个在运行期间被初始化的值,而你不希望他改变。 2、修饰变量 当对对象引用而不是对原始类型运用 final 时,其含义会有一点令人迷惑。对于原始类型,final 使数值恒定不变,而对于对象引用,final 使引用恒定不变。一旦引用被初始化指向一个对象,就无法对他改变以指向另一个对象。然而,对象其本身却是可以修改的,Java并未提供使任何对象恒定不变的途径 。来个Demo 如下: public class Value { int i=1; } public class FinalData { final int i1 = 9; static final int I2 = 99; public static final int I3 = 39; final int i4 = (int)(Math.random()*20);//特别注意 static final int i5 = (int)(Math.random()*20)

Sending cf mail from a static page to single recipient

会有一股神秘感。 提交于 2020-01-15 05:16:28
问题 Trying to send <cfmail> from a contact us static page. It will have a single recipient and I don't want to save it on the back end. <cfcase value="contact"> <cfset caller.mainTitle = "Contact Us"> <div id="contact_form"> <cfform method="post" action="contact2" id="usrform"> First Name<br> <input class="textbox" type="text" name="firstName" value="First Name" onfocus="if (this.value=='First Name') this.value='';"> <br> Last Name<br> <input class="textbox" type="text" name="lastName" value=

Class对象和反射

瘦欲@ 提交于 2020-01-15 05:06:14
1.class对象 在java中一切都是对象,从某种意义上,java中的对象可以分为:实例对象和Class对象。实例对象通过new关键得到,那么Class对象呢?Class对象无法通过new关键字获取,在类加载的过程中,JVM生成一个与加载的字节码文件相关的class对象。通过类名可以获取对应Class对象。class对象主要用来对应类的所有对象。java程序在运行之前并未完全加载,各个类只在需要的时候才将该类加载进内存,生成对应的class对象。 所有的类都是在对其第一次使用的时候,动态加载到JVM中,当程序创建第一个对类静态成员的引用的时候,就会加载这个。使用new创建类的对象的也会被当做是对类静态成员的引用。因此java程序在它开始运行之前并非被完全加载,其各个部分是在必须的时候才加载。一旦某个类的Class对象被载入内存,它就用来创建这个类的所有的对象。如下面程序所示: 1 class Test1{ 2 static{ 3 System.out.println("loading1"); 4 } 5 6 } 7 class Test2{ 8 static{ 9 System.out.println("loading2"); 10 } 11 12 } 13 class Test3{ 14 static{ 15 System.out.println("loading3"); 16

EmbeddedMySql的使用

独自空忆成欢 提交于 2020-01-15 03:00:24
1.1 什么是 Embedded MySql ? Embedded MySql库提供了一种在集成测试中运行真实MySql的方法。我们可以通过集成该jar包,实现内嵌式MySQL,不需要安装Mysql,即可进行数据库增删改查等相关操作。 1.2 嵌入式MySql 的使用 首先引入maven依赖 < dependency > < groupId > com . wix < / groupId > < artifactId > wix - embedded - mysql < / artifactId > < version > 4.6 .1 < / version > < scope > test < / scope > < / dependency > 接下来就是Java代码的使用。配置内嵌数据库启动的相关参数。 import com . wix . mysql . config . MysqldConfig ; import com . wix . mysql . EmbeddedMysql ; import static com . wix . mysql . ScriptResolver ; import java . util . concurrent . TimeUnit ; import static com . wix . mysql . config .

06.避免创建不必要的对象

好久不见. 提交于 2020-01-15 00:41:01
前言 《Effective Java》中文第三版,是一本关于Java基础的书,这本书不止一次有人推荐我看。其中包括我很喜欢的博客园博主 五月的仓颉 ,他曾在自己的博文《给Java程序猿们推荐一些值得一看的好书》中也推荐过。加深自己的记忆,同时向优秀的人看齐,决定在看完每一章之后,都写一篇随笔。如果有写的不对的地方、表述的不清楚的地方、或者其他建议,希望您能够留言指正,谢谢。 《Effective Java》中文第三版在线阅读链接: https://github.com/sjsdfg/effective-java-3rd-chinese/tree/master/docs/notes 是什么 不必要的对象,指的是当我们需要一个对象的时候,它的功能与之前创建过的对象时相同的,那么我们可以重用之前的对象,而不是去创建一个新的。如果此时我们仍创建一个新的对象,那么它就是不必要的对象。 '对象是不可变的',在这样的前提条件下,那它总是可以被重用的。 哪里用 正则表达式 自动装箱 初始化配置 怎么实现 我们针对上方‘哪里用’中指的地方,一一列举实例,首先是 正则表达式中的实现 ,我们先来看看它每次都会创建不必要的对象的情况,代码如下: /** *使用正则表达式来判断字符串中是否包含有罗马数字 * * @Author GongGuoWei * @Email GongGuoWei01@yeah

Java基础——多态

て烟熏妆下的殇ゞ 提交于 2020-01-14 23:54:08
Java基础——多态 什么是多态? 从字面的意思上理解,多态就是多种形态。 同一个动作作用于不同的对象产生不同的行为 多态性指的是什么?多态性,可以理解为一个事物的多种表现形态。在Java中有两种体现: 方法的重载(overload)和重写(overwrite) 子类对象的多态性(可以直接应用在抽象类和接口上) 对象的多态性是什么?:一个对象多种形态;在Java中,子类的对象可以替代父类的对象使用 我们在之后的学习中会经常与多态打交道,比如:IO、集合、JDBC等等。 多态性有两种: 1.编译时多态性 对于多个同名方法,如果在编译时能够确定执行同名方法中的哪一个,则称为编译时多态性。 2.运行时多态性 如果在编译时不能确定,只能在运行时才能确定执行多个同名方法中的哪一个,则称为运行时多态性。 方法重写和重载的区别: 方法重写的规则 在继承关系的子类中 重写的方法名、参数、返回值类型必须与父类相同 私有方法不能继承因而也无法重写 对象转型分为: 1.向上转型 2.向下转型 instanceof运算符: 该运算符用来判断一个对象是否属于一个类或者实现了一个接口,结果为true或false 在强制类型转换之前通过instanceof运算符检查对象的真实类型,可以避免类型转换异常,从而提高代码健壮性 final关键字: final关键字:代表最终的意思, 可以修饰什么? 1.修饰类 2

How to return a static array pointer

ぃ、小莉子 提交于 2020-01-14 20:01:28
问题 I'm trying to create a function that creates a bidimensional array with default values. And then, the function should return the pointer for that static array. int* novoTabuleiro() { static int *novoTabuleiro[LINHAS][COLUNAS]; //Some changes return novoTabuleiro; } And then I want to do something like this: int *tabuleiroJogador = novoTabuleiro(); What is wrong in the function above. The error I receive is "return from incompatible pointer type". Thanks. 回答1: Your comments indicate that the