1.增强for循环只能取数组或集合中的数据,要修改数据还是需要使用原始的(for)循环
原因:
Iterator非线程安全的原因(猜测)
2.
接口中的所有方法必须是公用和抽象的,数据成员必须是公用静态的常量,并且没有构造方法
方法都是公用和抽象的,数据成员都是公用静态的常量,但都不需要这样修饰与声明,这是默认的(也可以显示这样声明)
与类不同。一个接口可以同时继承多个接口(接口是一种特殊的类)
interface A extends B,C
3.子类的不能覆盖父类的静态方法,只能隐藏父类的静态方法
覆盖则出错,但可以隐藏,如:
public class A {
public static void main(String[] args) {
B b = new C();
b.print();
}
}
class B{
public static void print(){
System.out.println("B");
}
}
class C extends B{
public static void print(){
System.out.println("C");
}
}
4.java没有了指针,但Object a = new Object();a其实就是一个受到限制的指针。
(当然严格的将a不是指针)
java把这叫做引用,但C++中也有引用。这2个引用是不一样。
java的引用就是"指针",C++的引用(翻书吧)
java限制了指针的操作(根据类的继承结构,即类型,这个还是一样的,如char* int*不能=)
且java对指针的操作进行了保护,检查等
所以在大多时候Java中不用关心如何操作这个"指针",
只有局部的引用,没有局部的对象。因为基本类型数据存放在Stack中,存放的是数据。而产生对象时,只把对象的reference存放在stack中,用于指向某个对象,对象本身存放在Heap中。
调用方法时传递的参数以及在调用中创建的临时变量都保存在栈(Stack)中,速度较快。其他变量,如静态变量、实例变量等,都在堆(Heap)中创建,速度较慢。另外,依赖于具体的编译器/JVM,局部变量还可能得到进一步优化。
从实现上来讲,引用可以理解为一种受限的指针,引用底层可以采用指针来实现,也可以采用句柄的方式实现。早期jvm一般采用句柄的方式,现在的jvm,比如sun的,IBM的,一般就是用指针来实现。
不过从语言的角度来将,没有必要把java的引用和C的指针来比较。
指针是可以进行与整数做加减运算的,两个指针之间也可以进行大小比较运算和相减运算。
引用不行,只能进行赋值运算
发表评论
-
test
2015-11-02 13:16 535testestsetet -
java thread : select poll epoll
2015-02-16 16:42 1242Select/Poll函数 Selec()的3 ... -
java thread : IO模型
2015-02-16 15:33 922IO复用:select和poll函数 ... -
ssoYY: sso的跨域问题
2015-02-06 10:52 0dsfdsfsd -
交互的YY: 交互 解耦 关系 规则
2015-01-25 15:58 1201交互需要什么:对象,对象之间是怎么交互的(直接new 注入还 ... -
java thread : NIO -概念
2015-01-22 16:04 692通道-流:代表一种功能,能操作数据的方法(策略) 数据来 ... -
ThreadLocal 简单分析
2015-01-09 15:21 767ThreadLocal<T> 是一 ... -
java 多核理解
2014-11-18 13:10 845多核、超线程CPU时代 ... -
java_thread 隐藏的迭代器 java并发编程实践
2014-04-28 10:06 10665.1.3 隐藏迭代器 看容器源代码更清楚些 ... -
笔记1 java并发编程实践
2014-04-25 16:19 567同步 共享(shared)(多个线程访问)和可变(mutabl ... -
java_thread interrupt 理解
2014-04-25 13:18 925package com.java.util.con ... -
超越java-此书笔记
2012-12-24 15:23 906前言: SSH所带来的烦恼:重复的事情太多、XML配 ... -
字符集和字符编码
2012-12-20 19:58 8180. 字符 :大家平时看 ... -
为什么heap分配和清理内存可能会比栈的存储分配慢?
2012-06-12 12:49 0。。。。。。。。 -
泛型PS
2012-05-13 19:24 9551.使用泛型的时候,如果2边都使用了泛型,则2边必须一样// ... -
在java switch中使用String作为分支条件 (转)
2012-05-13 16:26 2288在java中明确规定switch里面只允许使用int,ch ... -
论java字符串池 (转)
2012-04-09 18:49 1161java运行环境有一个字符串池。比如String str= ...
相关推荐
具体来说,应掌握以下几点: - **微服务基础知识**:理解微服务的概念、优势与挑战,学会如何设计合理的微服务架构。 - **Docker与Kubernetes**:这两个工具在容器化和编排领域非常流行,掌握它们能够帮助开发者更...
根据给定的文件信息,我们可以总结出以下关于如何使用Java从MySQL数据库中获取数据并在JTable中显示的相关知识点: ### 一、导入必要的库 在Java程序中操作MySQL数据库及Swing组件,需要导入以下几个包: 1. `java...
以上是对 Java 开发岗面试中常见知识点的详细解析,希望对你的面试准备有所帮助。在面试过程中,不仅要掌握理论知识,还要注重实际问题解决能力和项目经验的积累,这样才能在竞争激烈的 IT 行业中脱颖而出。
本文将从给定文件的标题和部分内容中提取出与Java命令相关的知识点。 首先,Java的可执行文件通常位于Java开发工具包(JDK)的bin目录中。这个目录下包含了多个重要的命令行工具,其中一些我们可以在给定文件的部分...
### 关于Java数据库基本操作 ...以上是关于Java数据库基本操作的一些关键知识点,对于初学者来说非常重要。掌握这些基本操作可以帮助开发者更加高效地进行数据库相关的开发工作,并且能够有效地处理常见的问题。
但要注意以下几点: 1. 使用SSH连接ECS:通过阿里云控制台获取ECS实例的公网IP,然后使用SSH客户端连接。 2. 选择合适的基础镜像:创建ECS实例时,可以选择预装了Java环境的镜像,或者选择基础Linux镜像,然后手动...
根据给定文件的信息,我们可以总结出以下几个关键的知识点: ### 1. 使用`StringBuffer`进行文件读取 #### 知识点说明: 在Java中,`StringBuffer`类是线程安全的字符串操作类,它允许我们高效地对字符串进行修改...
在Java中实现MPEG播放器,主要涉及以下几个关键知识点: 1. **多媒体处理库**:Java本身并不直接支持MPEG解码,因此开发者通常会依赖第三方库,如JMF(Java Media Framework)或Xuggler等。JMF是Oracle提供的一个...
在实际开发中,为了优化性能和用户体验,应注意以下几点: - 使用内存效率高的图像格式,如WebP。 - 在处理大图时,避免一次性加载整个图像,可以使用分块处理或缩放原图。 - 尽可能在后台线程进行图像处理,防止UI...
鉴别照片是否为原图,主要依据以下几个关键知识点: 1. **元数据检查**:原始图片通常会保留拍摄时的元数据,如相机型号、拍摄时间、ISO值等。如果图片被编辑,这些信息可能被篡改或删除。工具如JPEGsnoop.exe可以...
在Java编程语言中,实现这样的取色器涉及到以下几个关键知识点: 1. **屏幕捕获**:Java的`java.awt.Robot`类提供了一种方式来模拟用户输入,包括键盘和鼠标操作。在这个取色器中,`Robot`类被用来获取屏幕上的像素...
本文将深入解析《JAVA数据库技巧一览》中提及的关键知识点,包括数据库操作的基本流程、几个实用的高级技巧,如可滚动、更新的记录集、批量更新以及事务处理。 ### 一、Java数据库操作基本流程 #### 1. 取得数据库...
Java中的字符串处理主要涉及以下几个方面: - **String**:不可变的字符序列。 - **StringBuffer/StringBuilder**:可变的字符序列,StringBuilder 在单线程环境中比 StringBuffer 性能更好。 #### 四、泛型 泛型...
这里有几个关键点需要注意: - **URL**:`jdbc:mysql://localhost/bbs`指定了数据库的类型(MySQL)、主机地址(本地主机)和数据库名(bbs)。 - **参数**:`useUnicode=true&characterEncoding=GBK`指明了字符编码...
根据给定的文件标题、描述、标签以及部分内容,我们可以总结并深入探讨关于Java读取文件的相关知识点。在Java中,读取文件是一项基础且重要的功能,适用于多种应用场景,包括但不限于数据处理、日志记录、配置读取等...
除了上述基本配置外,还需要注意以下几点: 1. **Tomcat 用户权限**: - 确保 Tomcat 以正确的用户身份运行。可以创建一个专门用于运行 Tomcat 的用户,例如 `tomcat` 用户。 - 修改 Tomcat 的属主和属组为该用户...
在这个“Java程序员眼中的Linux”主题中,我们将深入探讨以下几个关键知识点: 1. **Java与Linux兼容性**:Java是一种跨平台的语言,这意味着Java程序可以在任何支持Java虚拟机(JVM)的系统上运行,包括各种Linux...
综合这个资源包,我们可以学习到以下几个关键知识点: 1. **人脸识别技术**:从orl_faces数据集中理解和实现人脸识别算法,了解不同的特征提取和匹配方法。 2. **眼睛定位算法**:理解如何在图像中检测眼睛位置,如...
在开发Java存储过程时,需要注意以下几点: - **错误处理和事务管理**:Java存储过程应该包含适当的异常处理和事务控制,以确保数据的一致性和完整性。 - **性能优化**:避免不必要的网络通信,尽可能地在数据库...