java编程开发语言一直以来都是学习人数和使用范围非常广泛的一种编程开发语言,而今天我们就给大家简单介绍一下,java编程入门需要掌握哪些基础知识。
一、java基础
1、Java有哪些特点
并发性的:你可以在其中执行许多语句,而不必一次执行它
面向对象的:基于类和面向对象的编程语言。
独立性的:支持一次编写,到处运行的独立编程语言,即编译后的代码可以在支持Java的所有平台上运行。
2、Java的特性
简单,Java会让你的工作变得更加轻松,使你把关注点放在主要业务逻辑上,而不必关心指针、运算符重载、内存回收等与主要业务无关的功能。
便携性,Java是平台无关性的,这意味着在一个平台上编写的任何应用程序都可以轻松移植到另一个平台上。
安全性,编译后会将所有的代码转换为字节码,人类无法读取。它使开发无病毒,无篡改的系统/应用成为可能。
动态性,它具有适应不断变化的环境的能力,它能够支持动态内存分配,从而减少了内存浪费,提高了应用程序的性能。
分布式,Java提供的功能有助于创建分布式应用。使用远程方法调用(RMI),程序可以通过网络调用另一个程序的方法并获取输出。您可以通过从互联网上的任何计算机上调用方法来访问文件。这是革命性的一个特点,对于当今的互联网来说太重要了。
健壮性,Java有强大的内存管理功能,在编译和运行时检查代码,它有助于消除错误。
高性能,Java黑的科技就是字节码编程,Java代码编译成的字节码可以轻松转换为本地机器代码。通过JIT即时编译器来实现高性能。
解释性,Java被编译成字节码,由Java运行时环境解释。
多线程性,Java支持多个执行线程(也称为轻量级进程),包括一组同步原语。这使得使用线程编程更加容易,Java通过管程模型来实现线程安全性。
3、String的不可变原因
String为什么是不可变的、jdk源码中的String如何定义的、为什么这么设计。
先了解一下什么是不可变对象,不可变对象就是一经创建后,其对象的内部状态不能被修改,啥意思呢?也就是说不可变对象需要遵守下面几条原则
不可变对象的内部属性都是final的
不可变对象的内部属性都是private的
不可变对象不能提供任何可以修改内部状态的方法、setter方法也不行
不可变对象不能被继承和扩展
与其说问String为什么是不可变的,不如说如何把String设计成不可变的。
String类是一种对象,它是独立于Java基本数据类型而存在的,String你可以把它理解为字符串的集合,String被设计为final的,表示String对象一经创建后,它的值就不能再被修改,任何对String值进行修改的方法就是重新创建一个字符串。String对象创建后会存在于运行时常量池中,运行时常量池是属于方法区的一部分,JDK1.7后把它移到了堆中。
不可变对象不是真的不可变,可以通过反射来对其内部的属性和值进行修改,不过一般我们不这样做。