`
bobostudio
  • 浏览: 1614 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

菜鸟级J2SE总结

阅读更多
   知识重在积累 经验在于总结
   喜欢java,也喜欢到网上找些文章梳理一下知识。可是网上往往都是“大拿”之作。寒假到了,我来整理下放到网上,也算是给所钟爱的网络的一种回报吧。O(∩_∩)O~
   以下是我学习Java的过程中所遇到的重点问题。分几部分来总结,然后有时间我就发一篇。大家多多指点奥~~
   首先是J2SE部分,我重点总结一些概念的东西。没什么难点,大家看看就过了~~
   谈到Java,我们总是要说说它的历史,1995年5月23日Java诞生。 它的三个版本 Java SE 标准版,Java EE 企业级,Java ME 用在资源受限的平台。这里我先总结一下Java SE 的一些知识。
    作为一个初学者,环境变量的设置都会是我们首先遇到的问题。在windows平台下,我们会遇到两种变量环境,一个是用户变量针对的是当前的用户。一个是系统变量针对的是所有的用户。在这两个变量环境中我们只配一个。JAVA_HOME指的是jdk的安装目录(例如:JAVA_HOME=C:\Program Files\Java\jdk1.6.0_10)。 path指的是可执行文件的路径(例如:path=%JAVA_HOME%\bin)。classpath指的是类路径(CLASSPATH=.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar)。在cmd后,输入javac,我们的环境就配置成功了。
    java的特点,大家都知道java是一种纯面向对象的语言,这样就使得编程变得容易。跨平台,主要是依赖于JVM做了各个底层系统的桥梁。使用与平台无关的字节码(.class)与系统打交道从而实现了跨平台。
    java中包的概念,其实就是用来管理的一种目录结构。关键字package。我们通常用到的提供的包:java.lang 存放了核心类。java.awt/javax.swing/java.awt.event存放的是 GUI所用到的类。java.applet 动态网页所需要的包。java.io 输入输出流所用的包。java.net 网络编程所用的包。java.util 工具包。java.sql 操作数据库的包。
    java中的标示符,有这么些规则要我们记住。只能包括字母,下划线,$,数字。但是数字不能开头。区分大小写,关键字不能做标示符。命名习惯:包名全部小写,类名,接口名每个单词的首字母大写,其他的都是小写。变量名,方法名第一个单词都是小写,第一个单词以后的单词首字母都要大写。(按规范来 习惯成自然)
    java中的数据类型,跟其他语言一样分整型,浮点型,布尔型,字符型,对象类型(引用类型)。注意 byte a=1;byte b=2;byte c=a+b;会产生错误,因为a+b后自动把类型转为了int。还有把高字节数值赋值给低字节变量时要强制类型转换。float f=1.3会产生错误 因为1.3会默认为double型,应改为float f=1.3f;还有一点区分其他的语言java中布尔值和整数是不能转换的。在目标类型的取值范围大于源类型时可进行自动转型。下面我们重点说一下对象类型。
    字符串,字符串是我们使用频度最多的类型之一。在java中我们用“==”比较字符串间的地址。而内容则是调用String的equal()方法。在java中我们有这么几个概念。String常量池,是java为了更高效的使用内存,在jvm中留出的一块特殊区域。我们看一个经典的问题,"abc"与new String("abc")的区别?首先,String s1="abc" String s2="abc" JVM会把abc作为编译时常量,在内存中只会分配一次,abc便进入常量池中。然后重复使用。s1,s2都指向相同的地址。而,String s1=new String("abc");  String s2=new String("abc"); 每个new 都会在堆栈中创建一个新的对象。
    到这里我们总结一下,内存分配问题。从类型上讲,简单类型的放到栈(后进先出)中。还有就是引用类型的地址也要放到栈中。但是引用类型的内容会放到堆空间中。从流程上讲,当一个方法执行时,每个方法都会建立自己的内存栈,在方法内定义的变量会逐个放入栈内存里,随方法结束,内存栈也结束。当创建一个对象时,对象会被保存到堆内存中,只有当一个对象没有任何引用变量引用它时,系统自动回收它。与成员变量不同,局部变量不属于任何类或实例,因此它总是保存在其所在方法的栈内存中的。栈内存无方法回收。只能等到方法结束来释放内存。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics