因此,java中的字符串引用存放在栈中,如果在编译期已经定义好,则存放在常量池中,如果在运行期间出来的对象则存储在堆中,对于通过equals方法比较相等的字符串在字符常量池中只有一个,在堆中可能有多个。 this.value=Arrays.copyOf(values, values.length); ...
分类:
编程语言 时间:
2018-07-26 15:03:50
阅读次数:
242
由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数。 函数对象有一个__name__属性,可以拿到函数的名字: 现在,假设我们要增强now()函数的功能,比如,在函数调用前后自动打印日志,但又不希望修改now()函数的定义,这种在代码运行期间动态增加功能的方式,称之为“ ...
分类:
编程语言 时间:
2018-07-23 14:44:29
阅读次数:
182
编译:相当于“翻译”;优化充分,运行速度快 解释:相当于“同声传译”。执行哪里,就翻译哪里,没有到执行的地方,就不会翻译。 若重新执行某个地方,也得重新翻译。维护灵活,跨操作平台 动态语言:是指动态类型语言,在程序运行期间进行类型检查,也就是说,在编程时,不用给任何变量指定数据类型。 静态语言:是指 ...
分类:
其他好文 时间:
2018-07-22 17:06:30
阅读次数:
142
概述 在我们进行故障定位和性能分析时, 可以使用Java Dump(也叫Dump文件)来帮助排查问题, 它记录了JVM运行期间的内存占用和线程执行等情况。其中Heap Dump文件是二进制格式, 它保存了某一时刻的系统信息、虚拟机属性、完整的线程Dump、所有类和对象的状态等, 是指定时刻的java ...
分类:
Web程序 时间:
2018-07-15 23:23:15
阅读次数:
293
概述: AOP(Aspect-Oriented Programming,面向切面的编程),它是可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。它是一种新的方法论,它是对传统OOP编程的一种补充。AOP是希望能够将通用需求功能从不相关的类当中分离出来,能够 ...
分类:
编程语言 时间:
2018-07-14 20:38:33
阅读次数:
182
阅读《C++ primer plus》可知 C++的static关键字跟Java几乎完全不同 例子,文件A内容如下 文件B 输出 倘若文件B里去掉static关键字,将出现重复定义。B文件里static的意思是告诉编译器, 1.该language作用域为B文件; 2.在程序运行期间持续驻留内存 3. ...
分类:
其他好文 时间:
2018-07-14 19:59:54
阅读次数:
152
总结:1 栈:为编译器自动分配和释放,如函数参数、局部变量、临时变量等等2 堆:为成员分配和释放,由程序员自己申请、自己释放。否则发生内存泄露。典型为使用new申请的堆内容。除了这两部分,还有一部分是:3 静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静 ...
分类:
其他好文 时间:
2018-07-14 16:26:15
阅读次数:
174
1.什么是JPA? JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/ ...
分类:
编程语言 时间:
2018-07-13 12:15:17
阅读次数:
165
异常 异常指的是运行期出现的错误,也就是当程序开始执行以后执行期出现的错误 1检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。 2运行时异常: 运行时异常是可能被程序员避免的异常。与检查 ...
分类:
编程语言 时间:
2018-07-12 16:28:40
阅读次数:
154
assert assert 是运行期断言,它用来发现运行期间的错误,不能提前到编译期发现错误,也不具有强制性,也谈不上改善编译信息的可读性,既然是运行期检查,对性能当然是有影响的,所以经常在发行版本中,assert 都会被关掉。assert 的关键在于判断 expression 的逻辑真假,如果为 ...
分类:
编程语言 时间:
2018-07-11 23:30:36
阅读次数:
177