1、Java数组声明
曾经一直以为数组声明只有String[] s1;这种格式,但还有另一种格式:String s2[],这两种格式效果是一样的,只是java语法糖的作用效果。如下两种数组声明格式:
String[] s1 = { "1", "2" };
String s2[] = { "1", "2" };
使用javap查看生成的字节码是一样的:
public static void main(java.lang.String[]) throws java.lang.Exception;
Code:
Stack=4, Locals=3, Args_size=1
0: iconst_2
1: anewarray #2; //class java/lang/String
4: dup
5: iconst_0
6: ldc #3; //String 1
8: aastore
9: dup
10: iconst_1
11: ldc #4; //String 2
13: aastore
14: astore_1
15: iconst_2
16: anewarray #2; //class java/lang/String
19: dup
20: iconst_0
21: ldc #3; //String 1
23: aastore
24: dup
25: iconst_1
26: ldc #4; //String 2
28: aastore
29: astore_2
30: return
LineNumberTable:
line 20: 0
line 21: 15
line 22: 30
Exceptions:
throws java.lang.Exception
}
2、Java泛型的本质
曾经以为Java泛型跟C#泛型一样...
C#泛型在类在编译时,先生成中间代码IL,通用类型T只是一个占位符。在实例化类时,根据用户指定的数据类
型代替T并由即时编译器(JIT)生成本地代码,这个本地代码中已经使用了实际的数据类型,等同于用实际类型写的类。C#里面的泛型无论是在程序的源代码
中、编译后的IL中、还是运行时的CLR中都是切实存在的,List<Integer>与List<String>就是两个不同的泛型,它们在系统运行期生成,有自己的虚方法表和类型数据,这种实现称为类型膨胀,是真实的泛型。
但Java中的泛型不一样,它只在程序源代码中存在,编译后的字节码文件中已经已经被替换为原生类型,并且根据需要在相应的地方加入的强制类型转换,因此对
于Java来说,List<Integer>与List<String>实现上是同一个类型,经过编译后都成为List类型,所
以说Java语言的泛型就是种语法糖,Java的泛型实现为类型擦除,为伪泛型。
3、SQL_NO_CACHE
之前一直以为SQL_NO_CACHE是查询不走缓存,但并非如此,不是查询结果不从缓存里取,
而是查询的结果不放到缓存里,下面是MySQL文档(5.0,5.1,5.5都一样):
8.6.3.2. Query Cache SELECT Options
Two query cache-related options may be specified in SELECT statements:
SQL_CACHE
The query result is cached if it is cacheable and the value of the query_cache_type system variable is ON or DEMAND.
SQL_NO_CACHE
The query result is not cached.
Examples:
SELECT SQL_CACHE id, name FROM customer;
SELECT SQL_NO_CACHE id, name FROM customer;
分享到:
相关推荐
写此文使我很为难,一是担心读者误以为我轻浮得现在就开始写自传,二是担心朋友们误以为我得了绝症而早早留下遗作。 不论是落俗套还是不落俗套地评价,我在大学十年里都是出类拔萃的好学生。并且一直以来我对朋友们...
原来一直以为没有呢,最近找到资源,就下载看看,我在用,请放心使用
GDPS-Bot 我一直在研究的GDPS机器人,计划在不久的将来实现更多功能这个GDPS Bot是做什么的? 该GDPS Bot当前有2个主要命令轮廓等级这些命令从GDPS中获取信息,并以不和谐的形式显示它们,如下例所示设置首先,您...
写此文使我很为难,一是担心读者误以为我轻浮得现在就开始写自传,二是担心朋友们误以为我得了绝症而早早留下遗作。 不论是落俗套还是不落俗套地评价,我在大学十年里都是出类拔萃的好学生。并且一直以来我对朋友们...
有些时候你精通一门语言,但是会发现你其实整天在和其它语言打交道,也许你以为这些微不足道,不至于影响你的开发进度,但恰恰是这些你不重视的东西会浪费你很多时间,我一直以为我早在几年前就已经精通JavaScript了...
有些时候你精通一门语言,但是会发现你其实整天在和其它语言打交道,也许你以为这些微不足道,不至于影响你的开发进度,但恰恰是这些你不重视的东西会浪费你很多时间,我一直以为我早在几年前就已经精通JavaScript了...
一直以为大家都已经知道了,直到一位读者问我这个问题。我给了这位Ubuntu用户以下建议:在Ubuntu的终端中,使用Ctrl+Shift+C进行复制,Ctrl+Shift+V进行文本粘贴。右键单击并从上下文菜单中选择“复制/粘贴”选项也...
以前看到IAR可以做 linux内核也可以做,一直以为是一个未解之谜,比如一个数组ARR[10]注意的话,你以后在每个模块.C.H用的时候用ARR[1] ARR[4]是不能在空白地方作为全局变量的 必须在函数内部 而 我们需要的是在空白...
一直以为是我后台程序有问题,晚上回到家才想起来ajax的问题,把ajax的异步处理改为同步,就出来效果了,具体的原因请看下文详解。 jquery中ajax方法有个属性async用于控制同步和异步,默认是true,即ajax请求默认是...
关键是有很多人一直以为只要投放了广告就会有流量的,甚至还有的人认为只要把热门关键词填写好就会获得精准流量的,却忽略了很多潜在的实际问题。终究一点就是大家并不了解客户消费的心理,从而导致点击费用高、转化...
前几天偶然看见一个人脸识别的...其次,我在最开始一直没弄懂这个”name”到底应该填什么,上传功能不好用我一直觉得是”name”的原因,官方对于name给的解释很迷,这里我就给个结论,大家不要纠结这个属性,直接写file
我原来一直以为《代码大全》是以分析代码为内容,所以虽然以前数次看到了这本书,均没有理睬,直到前2个月我翻开了这本书略读了一下,结果让我后悔不已,我该早读这本书的。如果这本书名不是“代码大全”,而是...
解压后有170多M,太大了,一直以为压缩后也少不了多少,所以一直没有上传,结果今天压缩了一下只有40多M,分割成每个18M,生成了三个文件,把三个都下载完后,放在同一个目录下解压其中的一就可以了。 好东西当然要...
Git教程,基本上是我最近收集的全部资料了,我个人觉得看了还是挺有帮助的,前段时间一直找WOW服务端ANT的源代码,以为用SVN,结果搞了半天才发现最醒目的那个GIT是版本控制。。。无语中,刚接触感觉无从下手,好在...
解压后有170多M,太大了,一直以为压缩后也少不了多少,所以一直没有上传,结果今天压缩了一下只有40多M,分割成每个18M,生成了三个文件,把三个都下载完后,放在同一个目录下解压其中的一就可以了。 好东西当然要...
关键是有很多人一直以为只要投放了广告就会有流量,甚至还有的人认为只要把热门关键词填写好就会获得精准流量,然而却忽略了很多潜在的实际问题。终究一点就是大家并不了解客户消费的心理,从而导致点击费用高、转化...
解压后有170多M,太大了,一直以为压缩后也少不了多少,所以一直没有上传,结果今天压缩了一下只有40多M,分割成每个18M,生成了三个文件,把三个都下载完后,放在同一个目录下解压其中的一就可以了。 好东西当然要...
基于Linux2.6下的按键驱动开发步骤 基于Linux2.6下的按键驱动开发步骤 基于Linux2.6下的按键驱动开发步骤
几年来,我一直在研究这个领域并且关注贵公司,一直希望能有这样的面试机会。我拥有必备的技能(简单讲述一个故事来加以说明),我非常适合这一职位,也确实能做好这份工作。 评论:这是一个很有说服力的回答,因为...
因为之前在我心中一直以为只能使用grub引导Ubuntu与Win7双系统。当然,这里使用Mbr引导双系统,也是使用的一种变通的方法。另外,这里还提供了关于安装完Ubuntu后,Grub引导菜单默认不显示的解决方案,以及如何找回...