变量

Java基础知识复习一

为君一笑 提交于 2020-03-10 11:46:40
1、JDK,JRE,JVM三者之间的联系和区别 ①、JVM,即Java Virtual Machine,Java虚拟机 JVM并不能识别.java文件,只能识别.class文件,JVM能识别.class文件中的字节码指令并调用操作系统完成指定的个动作,所以JVM是Java跨平台的核心。 ②、JRE,Java Runtime Environment,Java运行时环境 JRE主要包含2个部分,JVM的标准实现和Java的一些基本类库。相比于JVM,多出来的是一部分Java类库。 ③、JDK,Java Development Kit,开发工具包 JDK是整个Java开发的核心,它集成了JRE和一些好用的小工具,例如:javac.exe,java.exe,jar.exe等。 因此,如果只是部署和运行Java程序,只需安装JRE即可;如果要开发Java程序则需要安装JDK。 2、Java跨平台的原因 跨平台的含义是不依赖于操作系统和硬件环境。Java编译器将Java编译成与平台无关的class字节码文件,然后由JVM执行class字节码文件,该字节码是与平台无关的,是介于源代码和机器指令之间的一种状态,在后续的执行中,JVM将class字节码文件解释成与平台相对应的机器指令,这样既减少了编译次数,又增强了程序的可移植性,因此被称为“一次编译,多处运行!” 3、接口和抽象类的区别 ①、接口

{php 编程技巧}

泪湿孤枕 提交于 2020-03-10 11:40:32
每种开发语言都有自己的特有的东西,PHP也不例外,虽然我只是刚刚开始学习PHP,但2年的Java经验,一年的.NET经验对于我来说,PHP一点也不难,关键是于积累,收集了一些PHP的编程技巧,记录下,以后备用。 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。 1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。 2、$row[’id’] 的速度是$row[id]的7倍。 3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。 4、在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。 5、注销那些不用的变量尤其是大数组,以便释放内存。 6、尽量避免使用__get,__set,__autoload。 7、require_once()代价昂贵。 8、include文件时尽量使用绝对路径,因为它避免了PHP去include_path里查找文件的速度,解析操作系统路径所需的时间会更少。 9、如果你想知道脚本开始执行

php技巧

爷,独闯天下 提交于 2020-03-10 10:27:48
· 在类中,如果希望类是用参数构造的,可以在类中用一个与类同名的function即可,如下代码 class Point2D { var $x, $y; function Point2D($x, $y) { $this->x = $x; $this->y = $y; } } $p1 = new Point2D(1.233, 3.445); · php中&的用法和技巧 php引用(&)详解 2009-05-13 14:30 php的引用(就是在变量或者函数、对象等前面加上&符号) 在PHP 中引用的意思是:不同的名字访问同一个变量内容. 与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址 变量的引用 PHP 的引用允许你用两个变量来指向同一个内容 [php] <? $a="ABC"; $b =&$a; echo $a;//这里输出:ABC echo $b;//这里输出:ABC $b="EFG"; echo $a;//这里$a的值变为EFG 所以输出EFG echo $b;//这里输出EFG ?> [/php] 函数的传址调用 传址调用我就不多说了 下面直接给出代码 [php] function test(&$a) { $a=$a+100; } $b=1; echo $b;//输出1 test($b); //这里$b传递给函数的其实是

javascript图解之变量提升

Deadly 提交于 2020-03-10 09:46:16
变量提升是每个JS开发人员都听说过的那些术语之一,因为您在Google上搜索了令人讨厌的错误并最终定位到StackOverflow,这个人此错误是由于 变量提升 引起的🙃那么,变量提升是什么?(仅供参考- 范围 将在另一篇文章中介绍,我希望使文章小而集中) 如果您不熟悉JavaScript,则可能会遇到“怪异”的行为,其中某些变量显示 undefined ,抛出 ReferenceError 错误等等。变量提升通常被解释为 将变量声明和函数声明放在JS文件的顶部, 但是又不是这样,这不是正在发生的事情,尽管行为看起来像这样。 😃 当JS引擎获取我们的脚本时,它要做的第一件事就是为代码中的数据分配设置内存。此时不执行任何代码,它只是为执行做好准备。函数声明和变量的存储方式是不同的。函数与对整个函数的引用一起存储。 对于变量,则有所不同。ES6引入了两个新的关键字来声明变量:let和const。用let或者 const关键字声明的变量 未初始化存储。 使用var关键字声明的变量以默认值undefined存储。 现在创建阶段已经完成,我们可以实际执行代码了。在声明函数或任何变量之前,让我们看看如果文件顶部有3个console.log语句会发生什么。 由于函数是与对整个函数代码的引用一起存储的,所以我们甚至可以在创建它们的行之前调用它们!🔥

[原译]11个高效的VS调试技巧

泪湿孤枕 提交于 2020-03-10 09:14:57
介绍 调试是软件开发周期中的一个很重要的部分,有时很有挑战性,有时候则让程序员迷惑,有时候让程序员发疯,但是。可以肯定的是,对于任何不是太那个微不足道的程序来说,调试是不可避免的。近年来,调试工具的发展已经使得很多调试任务简单省时了。 本文总结了十个调试技巧,当你使用VS的时候可以节省你很多时间。 1.悬停鼠标查看表达式 调试有时候很有挑战性,当你步入一个函数想看看哪块出错的时候,查看调用栈来想想值是从哪来的。另一些情况下,则需要添加一些监视表达式,或者查看局部变量列表,这通常还是花费一些时间的,但是。如果你把你鼠标指向你感兴趣的一个变量。你会发现事情简单多了。而且,类和结构体可以通过单击展开。这样。你就可以方便快捷的找到你想查看的变量了。 2实时改变值 调试器不仅仅是一个分析程序崩溃或是异常结果的工具了,许多bug都可以通过步入新写的函数,检查函数是否如期望的那样运行来预防。有时候你可能会好奇“如果条件为真函数会正确运行吗”大多数情况下,根本不需要改变代码重启挑起,仅仅把鼠标悬停到一个变量上,双击值然后输入一个新值就可以了。。 3.设置下一条语句 一个典型的调试情况就是通过单步跟踪分析为什么一个函数调用失败了。当你发现一个函数调用的另一个函数返回错误的时候你会怎么做?重启调试?有更好的方法。拖动这个黄色的语句标识到你想下一步执行的语句前就可以了。比如你刚才失败的那块,然后步入

优化PHP代码的40条建议

心已入冬 提交于 2020-03-10 08:21:59
优化PHP代码的40条建议 40 Tips for optimizing your php Code 原文地址: http://reinholdweber.com/?p=3 英文版权归Reinhold Weber所有,中译文作者yangyang(aka davidkoree)。双语版可用于非商业传播,但须注明英文版作者、版权信息,以及中译文作者。翻译水平有限,请广大PHPer指正。 1. If a method can be static, declare it static. Speed improvement is by a factor of 4. 如果一个方法可静态化,就对它做静态声明。速率可提升至4倍。 2. echo is faster than print. echo 比 print 快。 3. Use echo’s multiple parameters instead of string concatenation. 使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接。 4. Set the maxvalue for your for-loops before and not in the loop. 在执行for循环之前确定最大循环数,不要每循环一次都计算最大值。 5. Unset your variables to free memory,

提高PHP性能的实用方法+40个技巧优化您的PHP代码

荒凉一梦 提交于 2020-03-10 08:21:13
1、用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的"函数"(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。 2、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。 3、$row['id'] 的速度是$row[id]的7倍。 4、echo 比 print 快,并且使用echo输出时用逗号而不是句点代替字符串连接效率更高,比如 echo $str1,$str2。 5、在执行for循环之前确定最大循环数,不要把 count/strlen/sizeof 等每次都要重复做的但结果都一样的事情放到 for 循环的条件语句中,另外最好运用foreach代替for循环。 6、及时注销那些不用的变量,尤其是大数组,对象之类的,以便释放内存。 7、require_once()代价昂贵,据测试数据来看,使用require_once比require慢3-4倍,具体的解决办法可先检查是否存在引用然后决定是都需要require。 8、include和require文件时尽量不要使用相对路径,因为使用相对路径的时候它会首先查找指定的php包含路径,然后查找当前目录,因此会检查过多路径,所以最佳选择是使用绝对路径。 9

shell配置java环境变量和批处理配置环境变量

若如初见. 提交于 2020-03-10 08:19:51
linux配置java环境只需在/etc/profile中添加以下 前提是把jdk解压到/usr/local路径,当然路径可以随便改 export JAVA_HOME=/usr/local/jdk1.7.0_79export JAVA_BIN=$JAVA_HOME/binexport PATH=$PATH:$JAVA_BINexport CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 添加完毕后,执行 source /etc/profile 重新运行,使配置生效 以下是配置java环境的shell和window上的批处理 运行shell的前提是,shell必须跟jdk在同一目录下 1、shell里面配置的环境变量,并且export变量,则新建每一个shell都能利用这些变量。(环境变量定义在/etc/profile中,则每次开机后,环境变量都export一次,即可用于系统任意地方) 在shell脚本程序中定义了一个变量,当该脚本程序运行时,这个定义的变量只是该脚本程序内的一个局部变量,其他的shell不能引用它,要使某个变量的值可以在其他shell中被改变,可以使用 export 命令对已定义的变量进行输出。 export 命令将使系统在创建每一个新的shell时定义这个变量的一个拷贝。这个过程称之为变量输出。 #!

关键字面试题参考

邮差的信 提交于 2020-03-10 08:00:52
● 请你讲讲Java里面的final关键字是怎么用的? 考察点:关键字 参考回答:当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法。“使用final方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率。在早期的Java实现版本中,会将final方法转为内嵌调用。但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升。在最近的Java版本中,不需要使用final方法进行这些优化了。“对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。 ● 请你谈谈关于Synchronized和lock 考察点:java关键字 参考回答:synchronized是Java的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。JDK1.5以后引入了自旋锁、锁粗化、轻量级锁,偏向锁来有优化关键字的性能。Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现