- 浏览: 284494 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
CodeLove:
如果包含<,(,)...等特殊字符呢
Python变量名检测 -
zlxzlxzlxzlxzlx:
这不能算是任意进制之间的转换,只能算是 2、8、10、16 几 ...
java实现的任意进制转换 -
mychaoyue2011:
在本地执行了几遍,结果都是:s2开始休眠s1开始休眠s2休眠结 ...
Java线程学习笔记(四)线程join -
chxiaowu:
不错!
Java版的树 -
TenAclock:
这个例子 做不到“学生都交完” 考试结束,只能做到等到考试时间 ...
Java线程学习笔记(十一) DelayQueue的应用
这两天复习java的基础知识,把一些自己认为比较有用的点记录下来。
1)合法标识符是以"$","_",和字母为开始的字符串。
2)'\r'表示回车符,'\n'表示换行符
3)不是所有的Unicode的字符都可以直接用做char类型常量,比如'\r','\n'需要用反斜杠做转义才可以。
4)一个整形的数据达到整型能表示的最大数值后,再加1,则机器产生上溢,结果为整型的最小值。如果该数据达到了整形能表示的最小数值后,再减一,这机器产生下溢,结果为整形的最大值。实型变量如果下溢,者计算机设置为0.0;如果上溢这机器设为+-Infinity(正负无穷大)
5)char为16为的Unicode字符
6)byte类型的范围是 -128~127,char类型的范围是0~65535,short 类型的范围是-32768~32767
7)double类型的数据占64位的存储空间。
8)char类型数据可以自动转换为除了boolean类型数据之外的任何简单数据类型
9)浮点数做除法是,如果分母为0.0则不会出现溢出,系统默认的结果为NaN特殊值
10)short类型的数据在计算机中存储时是按照高位数据在前,低位数据在后进行的
11)boolean只有true和false两个值,不能做类型转换,包括自动和强制
12)接口属于复合类型
13)数组时最简单的复合数据类型,是一系列数据的集合
14)java语言中的方法的参数传递时传值调用,而不是地址调用
15)出static内部类外,不能再类内声明static成员
16)抽象方法不一定在抽象类中,也可以在接口中。
17)单处理机的计算机上,2个线程实际上不能并发执行
18)线程是程序的一个单个执行流
19)线程可以通过调用sleep()方法使比当前线程低优先级的线程运行
线程可以通过调用yield()方法使和当前线程优先级一样的线程运行,若没有相同优先级的线程处于可运行状态,线程用yield()方法时,当前线程将继续执行
20)进程是有代码,数据,内核状态,以及一组寄存器组成的。java线程模型就是一个虚拟的cpu,程序代码和数据的封装体
21)final修饰的变量一旦被初始化后就不可改变了,对于基本类型来说是其值不可改变,对于对象变量来说是其引用不可改变。其初始化可以在两个地方,一是其定义出,二是在构造函数中,两者只能选其一
22)HashMap允许一个null的键和多个null值,Hashtable不允许。HashMap把Hashtable的contains方法去掉了,改成了containsvalue 和containsKey.
Hashtable方法是同步的,而HashMap不是
23)判断一块内存空间是否符合垃圾收集的标准:
*给对象赋予了空值null,以下在没有调用过。
*给对象赋予了新值,及重新分配了内存空间
24)*抽象类不可以初始化,
*如果一个类里有一个以上的抽象方法,则该类必须声明为抽象类,该方法必须声明为抽象的,此时抽象方法是不可以有body的
*抽象类中也可以有非抽象方法,非抽象方法与一般类相同
*抽象类中如果全是抽象方法,那么抽象类就是一个纯抽象类,整个抽象类也就变成了接口。
25)对于一个static的方法而言,无法访问泛型的类型参数,所以static方法需要使用泛型能力,就必须使其成为泛型方法。
26)在泛型代码内部,无法获得任何有关泛型参数类型的信息
27)无论何时对同一个对象调用hashCode()都应该生成同样的值。散列码不比是独一无二的,但是通过hashCode()和equals()必须能够完全确定对象的身份
28)如果一个后台线程,那么它创建的任何线程将被自动设置成后台线程。
29)Math.round() 返回与参数最接近的长整数
30)abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized (不能)
31)传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich
评论
<div class="quote_div">
<p>这两天复习java的基础知识,把一些自己认为比较有用的点记录下来。</p>
<p> </p>
<p>1)合法标识符是以"$","_",和字母为开始的字符串。</p>
<p>2)'\r'表示回车符,'\n'表示换行符</p>
<p>3)不是所有的Unicode的字符都可以直接用做char类型常量,比如'\r','\n'需要用反斜杠做转义才可以。</p>
<p>4)一个整形的数据达到整型能表示的最大数值后,再加1,则机器产生上溢,结果为整型的最小值。如果该数据达到了整形能表示的最小数值后,再减一,这机器产生下溢,结果为整形的最大值。实型变量如果下溢,者计算机设置为0.0;如果上溢这机器设为+-Infinity(正负无穷大)</p>
<p>5)char为16为的Unicode字符</p>
<p>6)byte类型的范围是 -128~127,char类型的范围是0~65535,short 类型的范围是-32768~32767</p>
<p>7)double类型的数据占64位的存储空间。</p>
<p>8)char类型数据可以自动转换为除了boolean类型数据之外的任何简单数据类型</p>
<p>9)浮点数做除法是,如果分母为0.0则不会出现溢出,系统默认的结果为NaN特殊值</p>
<p>10)short类型的数据在计算机中存储时是按照高位数据在前,低位数据在后进行的</p>
<p>11)boolean只有true和false两个值,不能做类型转换,包括自动和强制</p>
<p>12)接口属于复合类型</p>
<p>13)数组时最简单的复合数据类型,是一系列数据的集合</p>
<p>14)java语言中的方法的参数传递时传值调用,而不是地址调用</p>
<p>15)出static内部类外,不能再类内声明static成员</p>
<p>16)抽象方法不一定在抽象类中,也可以在接口中。</p>
<p>17)单处理机的计算机上,2个线程实际上不能并发执行</p>
<p>18)线程是程序的一个单个执行流</p>
<p>19)线程可以通过调用sleep()方法使比当前线程低优先级的线程运行</p>
<p> 线程可以通过调用yield()方法使和当前线程优先级一样的线程运行,若没有相同优先级的线程处于可运行状态,线程用yield()方法时,当前线程将继续执行</p>
<p>20)进程是有代码,数据,内核状态,以及一组寄存器组成的。java线程模型就是一个虚拟的cpu,程序代码和数据的封装体</p>
<p>21)final修饰的变量一旦被初始化后就不可改变了,对于基本类型来说是其值不可改变,对于对象变量来说是其引用不可改变。其初始化可以在两个地方,一是其定义出,二是在构造函数中,两者只能选其一</p>
<p>22)HashMap允许一个null的键和多个null值,Hashtable不允许。HashMap把Hashtable的contains方法去掉了,改成了containsvalue 和containsKey.</p>
<p> Hashtable方法是同步的,而HashMap不是</p>
<p>23)判断一块内存空间是否符合垃圾收集的标准:</p>
<p> *给对象赋予了空值null,以下在没有调用过。</p>
<p> *给对象赋予了新值,及重新分配了内存空间</p>
<p>24)*抽象类不可以初始化,</p>
<p> *如果一个类里有一个以上的抽象方法,则该类必须声明为抽象类,该方法必须声明为抽象的,此时抽象方法是不可以有body的</p>
<p> *抽象类中也可以有非抽象方法,非抽象方法与一般类相同</p>
<p> *抽象类中如果全是抽象方法,那么抽象类就是一个纯抽象类,整个抽象类也就变成了接口。</p>
<p>25)对于一个static的方法而言,无法访问泛型的类型参数,所以static方法需要使用泛型能力,就必须使其成为泛型方法。</p>
<p>26)在泛型代码内部,无法获得任何有关泛型参数类型的信息</p>
<p>27)无论何时对同一个对象调用hashCode()都应该生成同样的值。散列码不比是独一无二的,但是通过hashCode()和equals()必须能够完全确定对象的身份</p>
<p>28)如果一个后台线程,那么它创建的任何线程将被自动设置成后台线程。</p>
<p>29)Math.round() 返回与参数最接近的长整数</p>
<p>30)abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized (不能)</p>
<p>31)传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich</p>
</div>
<p> </p>
<p>感觉楼主对java里面很多概念都比较混乱和模糊,为免误人子弟,挑几个说说吧:</p>
<p> </p>
<p>13)数组时最简单的复合数据类型,是一系列数据的集合</p>
<p>数组和集合是两个不同的数据结构。数组不仅仅是一系列数据的集合。。。。。</p>
<p> </p>
<p>14)java语言中的方法的参数传递时传值调用,而不是地址调用。</p>
<p>我不太明白你的定义中的“值调用” “地址调用”分别是什么,什么叫 值调用?????都是值了,还调用?啥叫调用?</p>
<p>如果我分别理解为 值传递 和 地址传递 ,那你这句话就是错的。</p>
<p>如果我分别理解为 值传递 和 引用传递 ,那可以理解为是正确的。准确的表述应该是</p>
<p><strong>java中只有值传递,没有引用传递。</strong></p>
<p><strong></strong><span style="white-space: pre;"> </span>绝大多数的人认为 对于java中的对象在方法参数传递时,也是传递的值,这个值就是对象的引用(地址)。包过java之父在内的绝大多数人支持这个观点,我学Bruce Eckel,保持中立。</p>
<p> </p>
<p>15)出static内部类外,不能再类内声明static成员。</p>
<p>明白你的意思,感觉应该是笔误了吧。修正笔误。</p>
<p><strong>不能在非static的内部类中声明static成员。</strong></p>
<p> </p>
<p>21)final修饰的变量一旦被初始化后就不可改变了,对于基本类型来说是其值不可改变,对于对象变量来说是其引用不可改变。<span style="text-decoration: underline;">其初始化可以在两个地方,一是其定义出,二是在构造函数中,两者只能选其一。</span></p>
<p> </p>
<p>画线部分有问题,final的变量除了在定义的时候 和 构造函数中初始化外,还有2个地方也可以用来初始化final变量:初始化块 和 静态初始化块,但是具体的是有区别的,准确的应该这样描述:</p>
<p>1。 对于final的非静态变量(非static),可以在其定义时,<strong>初始化块</strong>,或者构造函数等三个地方初始化,三者选其一。</p>
<p>2。 对于final的静态变量(static),可以在其定义时,<strong>静态初始化块</strong>等两个地方初始化,二者选其一。</p>
<p>特别说明,<strong>static的常量不可以在构造函数中初始化。</strong></p>
<p> </p>
<p>
</p>
<p style="margin: 0px;">23)判断一块内存空间是否符合垃圾收集的标准:</p>
<p style="margin: 0px;"> *给对象赋予了空值null,以下在没有调用过。</p>
<p style="margin: 0px;"> *给对象赋予了新值,及重新分配了内存空间</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">感觉你在这里的描述还是有大问题,建议彻底忘掉你的两种判断方法,唯一判断是否符合垃圾收集标准的是:<strong>对象从根进程是否可达。</strong>(软链接的情况暂不和你考虑)</p>
<p> </p>
<p>按你的判断标准,</p>
<p>List<Object> list = new ArrayList<Object>();</p>
<p>Object o = new Object();</p>
<p>list.add(o);</p>
<p>o = null; 或者 o = new Object();</p>
<p> </p>
<p>按你的标准,o所指向的原来的对象就已经符合垃圾收集的标准了。相信你也知道,实际是不符合的,因为这个对象在虚拟机的有向图中是可达。</p>
<p>说白点,还可以通过list.get(0)来获取这个对象的引用。</p>
<p> </p>
<p>另外,从你的描述中感觉你对 对象 的概念不是很理解。</p>
<p>Object o = new Object(); 这句话中,o是一个对象吗?NO。</p>
<p>这句话的含义是,在堆中新建一个对象空间,并把这个对象的引用传递给变量o。变量o本身并不是一个对象。</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>还有一些描述,水平有限,没看懂。不予评论。以上言论也仅供参考,纳百家之言吧。希望新手谨慎对待楼主的这篇文章。</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
顶!
???
???你不明白吗?人家的意思是这样的帖子竟然也能出现在首页!
???
发表评论
-
Consider the following code: What will be printed?
2010-09-24 20:30 985Consider the following code: Wh ... -
Java 转义字符
2010-06-03 21:21 1022\n 回车(\u000a) \t 水平制表符(\u0009) ... -
生产消费者的模拟
2010-05-27 23:16 1719采用Java 多线程技术,设计实现一个符合生产者和消费者问题的 ... -
Java 控制台下显示文件结构
2010-05-27 00:10 3283题目: 编写一个Java ... -
Java得到类目录
2010-05-26 23:22 1197String path = MainTest.class.ge ... -
Java文件压缩
2010-05-23 21:54 1241package com.woxiaoe.study.io ... -
UDP传输图片的尝试
2010-05-22 18:05 9862UDP是不可靠的,发送的数据不一定会到达,且顺序不一定 ... -
【转载】Java String.Format() 方法及参数说明
2010-05-15 22:18 1345JDK1.5中,String类新增了一个很有用的静态方法S ... -
【转载】String.format函数使用方法介绍
2010-05-15 22:17 1220http://edu.codepub.com/2009/111 ... -
Java线程学习笔记(十一) DelayQueue的应用
2010-05-01 00:34 15735DelayQueue 是一个无界的BlockingQueue ... -
Java线程学习笔记(十)CountDownLatch 和CyclicBarrier
2010-04-30 21:04 2877CountDownLatch : 一个同步辅助类,在完成一组 ... -
Java线程学习笔记(九)生产者消费者问题
2010-04-29 22:27 1752用多线程来模拟生产者消费者问题。用到BlockingQueue ... -
Java线程学习笔记(八)线程之间的协作
2010-04-26 23:13 1865wait()与notifyAll() 调用sleep ... -
Java线程学习笔记(七)java中递增不是原子性
2010-04-24 23:00 2940以下为测试代码,通过一个自增函数得到最新的值,玩Set你存,看 ... -
Java线程学习笔记(六)在其他对象上同步
2010-04-24 22:47 1380package com.woxiaoe.study.threa ... -
Java线程学习笔记(五)资源共享问题
2010-04-24 21:04 1296IncreaseClient 中持有一个base,每次调用起i ... -
Java线程学习笔记(四)线程join
2010-04-24 20:06 1317《Java编程思想》的一个例子,如果某个线程在另一个线程t上调 ... -
基于java的图(四) 强连通组件
2010-04-22 21:06 1564有向图中, u可达v不一定意味着v可达u. 相互可达则属于同一 ... -
基于java的图(三) 图的拓扑排序
2010-04-21 16:14 1902相关: 基于java的图的实现 基于java ... -
基于java的图的实现(二) 图的两种遍历
2010-04-20 21:51 2130图的实现见http://www.iteye.com/topic ...
相关推荐
Java基础每日复习笔记-JavaSE高级阶段.edf
Java基础每日复习笔记-JavaSE高级阶段.2020-10-13-211312.edf
Java基础每日复习笔记-JavaSE基础阶段.edf
本学习笔记主要涵盖了Java的基础知识,包括面向对象、集合、IO流、多线程、反射与动态代理以及Java 8的新特性等方面,旨在帮助初学者或有经验的开发者巩固和提升Java编程技能。 1. 面向对象(OOP):Java的核心是...
Java EE的复习笔记是学习这个复杂框架的重要参考资料,尤其对于开发者来说,深入理解其核心概念和技术是必不可少的。 首先,Struts是Java EE中的一个MVC(Model-View-Controller)框架,它的主要任务是分离业务逻辑...
Java期末复习笔记.md
这份《Java基础复习笔记.docx》提供了全面的复习材料,涵盖了Java编程的基础至进阶概念,对于那些希望提升Java技能的学习者来说是宝贵的资源。 首先,笔记详细介绍了Java的基本数据类型,包括整型(如int)、浮点型...
Java基础复习笔记06数据结构-队列,详细介绍了队列的知识
Java基础复习笔记05数据结构-栈,详细介绍了栈的相关知识
Java基础复习笔记02对象状态、引用种类、垃圾回收形式.pdf
1. **语法基础**:Java的语法与C++类似,但更简洁。它包括变量声明、数据类型(如整型、浮点型、字符型、布尔型等)、运算符(算术、关系、逻辑、位等)、流程控制(如if语句、switch语句、for循环、while循环等)。...
Java基础复习笔记(第一阶段)涵盖了Java编程语言的核心概念,为初学者或复习者提供了全面的知识框架。在这一阶段的学习中,我们将深入探讨以下几个关键领域: 1. **Java基本语法**:这是学习Java的基石,包括变量...
### JavaSE基础复习知识点 #### 1. 数组在内存中的存储状态 ...综上所述,Java的基础复习不仅仅是对语言特性的简单回顾,更重要的是深入理解其背后的实现原理和技术细节,从而更好地掌握Java编程的核心技能。
下面是 Java 基础知识的汇总和学习笔记。 Java 概述 Java 是由 Sun Microsystems 公司开发的高级编程语言,于 1995 年首次发布。Java 的主要特点包括平台独立、面向对象、简单易学等。Java 可以应用于桌面应用程序...
【JAVA Web复习笔记】 在JAVA Web开发中,我们首先要理解几个关键的概念。Web技术主要分为两种架构模式:C/S(客户端/服务器端)和B/S(浏览器/服务器)。C/S架构通常涉及到专用的客户端应用程序与服务器进行交互,...
### Java基础复习笔记09数据结构-哈夫曼树 #### 1. 哈夫曼树概述 哈夫曼树是一种特殊的二叉树,它在计算机科学领域有着广泛的应用,尤其是在数据压缩方面。哈夫曼树也被称为最优二叉树,其构建原则是使得带权路径...
### Java基础复习笔记04数据结构-线性表:深入解析与应用 #### 线性表的概念 线性表是计算机科学中最基础的数据结构之一,它由一系列相同类型的元素组成,这些元素按照一定的顺序排列,形成一个有序的序列。在逻辑...