`
狂奔DE蜗牛
  • 浏览: 15939 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

个人阶段知识总结(一) String三兄弟以及classpath

阅读更多

  以前每当提到关于一些java底层的问题的时候总是让我头疼,相信这是很多java初学者都经历过的,近段在网上看了一些关于java稍微底层的资料,下面给出一些个人阶段小总结

 1.  String  StringBuffer  StringBuilder区别联系

 

简单的说String是一个字符串常量,StringBuffer是线程安全的字符串变量,StringBuilder是线程不安全的字符串变量。

 

看了网上那么多的资料,也有一些简单的理解:String是一个不可变的对象,当每次改变他的内容的时候实际是创建的一个新的对象,然后这个String指向这个新的对象。所以说String是一个字符串常量。而StringBuffer指向的字符串长度内容可以改变,当频繁的改变一个的字符串的内容时候推荐使用StringBuffer,而如果要简单的得到一个字符串对象,使用String即可。

 

由于改变String的内容需要重新去创建一个对象,然后改变指向的对象,但是一个有趣的现象是:当在进行String Str=”abc”+”def”这样的字符串操作时候,选用String的运行速度要快于StringBuffer,使用StringBuffer添加一段字符串的方法有appendinsert两个append只能在末尾添加,insert是在一个指定的位置,当使用String来操作”a”+”b”的时候,默认的是直接将其作为ab一个字符串来看待,所以String的速度在这种情况下优于StringBuffer

 

下面说一下StringBuufferStringBuilder,后者是在JDK5.0新增的一个类,他与StringBuffer最大的区别在于他是单线程变量,主要在单线程时使用,他可以执行StringBuffer所有的操作,但是不执行同步,即不能在多线程情况下使用,所以一般使用StringBuffer,所以StringBuilder是线程不安全的。

 

2. Classpath

 

ClasspathJava虚拟机(JVM)借助类装载器装入应用程序使用的类,具体装入哪些类根据当时的需要决定。CLASSPATH环境变量告诉类装载器到哪里去寻找第三方提供的类和用户定义的类以及JVM要到哪里去寻找 .class文件。

 

一般我们将我们需要的第三方类的路径在系统环境变量中去设置,我们没运行一个java程序,就会生成相应的 .class文件,对于我们需要的String这些第三方类JVM去哪里找到呢,这时候就需要Classpath了,java会在Classpath中一个一个寻找,如果不在系统环境变量设置,每次都需要在运行前去设置Classpath,对于Java所需的.class文件,必须通过classpath来指定。下面要谈一下java中的package了。Sun公司最初使用package的原因是为了避免命名冲突,如果我们设计了一个很简单的Person类,如果某人开发了一个类库,其中恰巧也有一个Person类,当我们使用这个类库时,两个Person类出现了命名冲突,JDK不知道我们到底要使用哪个Person类。

 

Eclipse中的java文件都会有package ***这个代表我们当前的java文件存放的路径(不是文件绝对路径),如果我们引用了其他的类,就会在上面使用import java.*这样的字样,其实在编译的过程中,会自动的将这些路径添加到classpath中去,这样javac命令就会找到我们的java文件,当我们使用java命令去运行一个.class文件的时候就不必去指定文件的路径。

  对于classpath可以参考下面网址的资料    

http://www.exam8.com/computer/Java/zonghe/200707/659761.html

分享到:
评论

相关推荐

    浅析Spring配置中的classpath:与classpath*:的区别

    Spring 配置中的classpath:与classpath*:的区别是 Spring 框架中一个常见的问题。本文主要介绍了这两种路径的区别、使用场景及注意事项,以帮助读者更好地理解和使用 Spring 配置。 概念解释 classpath:是指 WEB-...

    关于classpath

    本文将深入探讨classpath的基本原理、配置方式以及如何确保`javac`正确编译运行Java文件。 ### 1. classpath概述 在Java中,每个`.class`文件都代表一个类。当运行Java程序时,JVM需要知道这些类文件的存放位置。...

    自学如何使用框架的工具classpath

    创建项目,尝试添加不同的依赖,观察`classpath`的变化,以及如何影响程序的运行。通过不断尝试和调试,你会逐渐掌握这一重要概念。同时,理解`classpath`也将帮助你更好地理解和使用各种框架,提升你的开发效率。

    一个自动生成CLASSPATH字符串的脚本

    "一个自动生成CLASSPATH字符串的脚本" 提供了一种自动化的方法来处理这个常见的编程任务,尤其适用于复杂的项目结构或多模块项目。这篇博客文章(链接:https://sheng.iteye.com/blog/954231)可能详细介绍了如何...

    Classpath Variable 解决办法

    在Java编程环境中,`Classpath`(类路径)是一个至关重要的概念,它是Java虚拟机(JVM)查找和加载.class文件的路径。当我们在开发和运行Java程序时,正确配置Classpath是确保程序能正常运行的关键步骤。这篇文档将...

    java classpath 理解

    #### 一、在命令行查看 Classpath 在 Java 开发环境中,了解如何查看当前环境下的 classpath 非常重要。这有助于开发者明确类库和其他依赖项的位置,从而更好地管理项目的运行环境。 1. **查看 Classpath 的方法**...

    .classpath

    .classpath

    java classpath 配置详细讲解

    在深入了解`classpath`的具体配置之前,首先需要明确`classpath`是什么以及它的重要性。 - **定义**:`classpath`是Java虚拟机(JVM)用来查找用户自定义类和资源的路径集合。 - **作用**:当Java程序运行时,JVM会...

    Path和classpath配置详解

    总结来说,Path和Classpath是Java开发者必须掌握的基本概念。理解它们的原理和配置方法,不仅可以帮助你编写出可移植的代码,还能提高问题排查的效率。通过阅读文档《path与classpath配置.doc》,你将能更深入地了解...

    如何安装java JDK以及正确设置CLASSPATH系统变量

    这是Java启动时加载的第一批类文件,主要包含了`rt.jar`以及其他位于`jre/lib`目录下的核心类库。Bootstrap类路径存储在`sun.boot.class.path`系统属性中。通过调用`System.out.println(System.getProperty("sun....

    IKVM.GNU.Classpath

    IKVM.GNU.Classpath是一个专为.NET Framework设计的开源项目,它使得Java应用程序可以在.NET平台上运行。这个项目的核心是IKVM.NET,一个实现了Java虚拟机(JVM)和大部分Java核心类库的.NET版本。IKVM这个名字是...

    在linux和windows下动态设置classpath调用java类方法脚本代码

    在编程世界中,Java是一种广泛使用的跨平台语言,它的运行依赖于类路径(Classpath),这是一个指示Java虚拟机(JVM)查找.class文件的环境变量。本文将详细讲解如何在Linux和Windows操作系统下动态设置classpath以...

    classpath备份

    classpath备份

    path与classpath区别

    下面,我们将详细介绍path和classpath的作用、区别以及它们在Java开发中的应用。 path的作用 path是系统用来指定可执行文件的完整路径,即使不在path中设置JDK的路径也可执行JAVA文件,但必须把完整的路径写出来,...

    jdk的classpath路径和环境配置

    对于Java开发者而言,最常用的环境变量包括`JAVA_HOME`、`CLASSPATH`以及`PATH`等。 - **JAVA_HOME**: 指定JDK的安装目录。此变量是编译和运行Java程序时所必需的。 - **CLASSPATH**: 类路径,用于指定Java虚拟机...

    GNU Classpath

    GNU Classpath 是一个开源项目,主要目标是提供一个符合Java标准平台规范的类库实现,以便支持Java应用程序的运行。这个项目与Java虚拟机(JVM)紧密协作,为Java程序提供必要的运行环境。在本案例中,提到的"Jamvm...

    classpath 和path

    3. **配置`CLASSPATH`**:将项目的类文件所在的目录以及所有依赖的jar包添加到`CLASSPATH`中。 通过以上步骤,可以确保Java程序能够正常编译和运行。 #### 四、常见问题及解决方法 在配置过程中可能会遇到一些...

    java基础知识总结(经典)

    Java 基础知识总结是 Java 程序员不可或缺的一部分,本总结将涵盖 Java 的基础知识,包括 Java 概述、Java 语法基础、变量、数据类型、运算符、控制语句、方法、数组、继承、多态、接口、异常、IO 流等。 一、Java ...

    java中path和classpath的设置

    ### Java中的Path与Classpath设置详解 在Java开发过程中,正确配置环境变量是十分重要的一步。其中,`path`和`classpath`是最为关键的两个环境变量,它们直接影响到Java程序能否正常编译和运行。 #### 一、Path 的...

Global site tag (gtag.js) - Google Analytics