java基础
文章平均质量分 92
java基础 简单性 面向对象 可移植性 高性能 分布式 动态性 多性能 安全性 健壮性
zhufei463738313
这个作者很懒,什么都没留下…
展开
-
Java基础(十九)反射机制
Reflection(反射)是被视为动态语言的关键,反射机制允许程序在运行期间借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射。原创 2023-05-05 17:40:35 · 1091 阅读 · 0 评论 -
Java基础(十八)网络编程
Java是 Internet 上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。Java提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在 Java 的本机安装系统里,由 JVM 进行控制。并且 Java 实现了一个跨平台的网络库,程序员面对的是一个统一的网络编程环境。原创 2023-05-05 16:33:56 · 1564 阅读 · 0 评论 -
Java基础(十七)File类与IO流
关于路径:举例:1.3 常用方法1、获取文件和目录基本信息public String getName() :获取名称public String getPath() :获取路径:获取绝对路径public File getAbsoluteFile():获取绝对路径表示的文件:获取上层文件目录路径。若无,返回nullpublic long length() :获取文件长度(即:字节数)。不能获取目录的长度。public long lastModified() :获取最后一次的修改时间,毫秒值原创 2023-05-05 14:29:20 · 1818 阅读 · 0 评论 -
Java基础(十六)泛型
举例1:中药店,每个抽屉外面贴着标签举例2:超市购物架上很多瓶子,每个瓶子装的是什么,有标签举例3:家庭厨房中:Java中的泛型,就类似于上述场景中的标签。1、这种语法形式就叫泛型。的形式我们称为类型参数,这里的"类型"习惯上使用T表示,是Type的缩写。即:。:代表未知的数据类型,我们可以指定为,,等。类比方法的参数的概念,我们把,称为类型形参,将称为类型实参,有助于我们理解泛型这里的T,可以替换成K,V等任意字母。2、在哪里可以声明类型变量原创 2023-05-05 10:09:53 · 937 阅读 · 0 评论 -
Java基础(十五)集合框架
一方面,面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。另一方面,使用数组存储对象方面具有一些弊端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容器中。数组在内存存储方面的特点数组初始化以后,长度就确定了。数组中的添加的元素是依次紧密排列的,有序的,可以重复的。数组声明的类型,就决定了进行元素初始化时的类型。不是此类型的变量,就不能添加。可以存储基本数据类型值,也可以存储引用数据类型的变量数组在存储数据方面的弊端。原创 2023-05-04 16:26:47 · 1646 阅读 · 0 评论 -
Java基础(十四)数学相关的类
返回下一个伪随机数,它是取自此随机数生成器序列的、呈高斯(“正态”)分布的 double 值,其平均值是 0.0,标准差是 1.0。:返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 double 值。:返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。:返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 float 值。原创 2023-04-24 17:38:05 · 456 阅读 · 0 评论 -
Java基础(十三)系统相关类
该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。该方法的作用是请求系统进行垃圾回收。至于系统是否立刻回收,则取决于系统中垃圾回收算法的实现以及系统执行时的情况。该方法的作用是获得系统中属性名为key的属性对应的值。从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。由于该类的构造器是private的,所以无法创建该类的对象。System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。原创 2023-04-24 17:30:00 · 445 阅读 · 0 评论 -
Java基础(十二)Java比较器
对于类 C 的每一个 e1 和 e2 来说,当且仅当 e1.compareTo(e2) == 0 与 e1.equals(e2) 具有相同的 boolean 值时,类 C 的自然排序才叫做与 equals 一致。实现此接口的对象可以用作有序映射中的键或有序集合中的元素,无需指定比较器。我们知道基本数据类型的数据(除boolean类型外)需要比较大小的话,直接使用比较运算符即可,但是引用数据类型是不能直接使用比较运算符来比较大小的。在Java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题。原创 2023-04-24 17:24:03 · 789 阅读 · 0 评论 -
Java基础(十一)日期时间API
由于地球自转的不均匀性和长期变慢性(主要由潮汐摩擦引起的),会使世界时(民用时)和原子时之间相差超过到±0.9秒时,就把协调世界时向前拨1秒(负闰秒,最后一分钟为59秒)或向后拨1秒(正闰秒,最后一分钟为61秒);”那么就再简单不过了。说明:新的 java.time 中包含了所有关于时钟(Clock),本地日期(LocalDate)、本地时间(LocalTime)、本地日期时间(LocalDateTime)、时区(ZonedDateTime)和持续时间(Duration)的类。(了解)本地化相关的格式。原创 2023-04-24 16:47:01 · 838 阅读 · 0 评论 -
Java基础(十)字符串相关类
字符串对象设计为不可变,那么所以字符串由常量池来保存很多常量对象。JDK6中,字符串常量池在方法区。JDK7开始,就移到堆空间,直到目前JDK17版本。原创 2023-04-24 09:13:34 · 653 阅读 · 0 评论 -
Java基础(九)多线程
Java语言的JVM允许程序运行多个线程,使用类代表线程,所有的线程对象都必须是Thread类或其子类的实例。Thread类的特性每个线程都是通过某个特定Thread对象的run()方法来完成操作的,因此把run()方法体称为线程执行体。通过该Thread对象的start()方法来启动这个线程,而非直接调用run()要想实现多线程,必须在主线程中创建新的线程对象。原创 2023-04-22 15:23:58 · 656 阅读 · 0 评论 -
Java基础(八)异常处理
Java中把不同的异常用不同的类表示,一旦发生某种异常,就`创建该异常类型的对象`,并且抛出(throw)。然后程序员可以捕获(catch)到这个异常对象,并处理;如果没有捕获(catch)这个异常对象,那么这个异常对象将会导致程序终止。原创 2023-04-14 11:34:21 · 653 阅读 · 0 评论 -
Java基础(七)面向对象编程(高级)
回顾类中的实例变量(即非static的成员变量)创建两个Circle对象:Circle类中的变量radius是一个实例变量(instance variable),它属于类的每一个对象,c1中的radius变化不会影响c2的radius,反之亦然。如果想让一个成员变量被类的所有实例所共享,就用static修饰即可,称为类变量(或类属性)!当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用。原创 2023-04-12 15:45:14 · 926 阅读 · 0 评论 -
Java基础(六)面向对象编程(进阶)
在Java中,this关键字不算难理解,它的作用和其词义很接近。this可以调用的结构:成员变量、方法和构造器在实例方法或构造器中,如果使用当前类的成员变量或成员方法可以在其前面添加this,增强程序的可读性。不过,通常我们都习惯省略this。但是,当形参与成员变量同名时,如果在方法内或构造器内需要使用成员变量,必须添加this来表明该变量是类的成员变量。即:我们可以用this来区分和。比如:另外,使用this访问属性和方法时,如果在本类中未找到,会从父类中查找。这个在继承中会讲到。举例1:举例2:原创 2023-04-11 10:19:52 · 569 阅读 · 0 评论 -
Java基础(四)数组
需要统计某公司50个员工的工资情况,例如计算平均工资、找到最高工资等。用之前知识,首先需要声明50个变量来分别记录每位员工的工资,这样会很麻烦。因此我们可以将所有的数据全部存储到一个容器中统一管理,并使用容器进行计算。生活中的容器:水杯(装水等液体),衣柜(装衣服等物品),集装箱(装货物等)。程序中的容器:将多个数据存储到一起,每个数据称为该容器的元素。因为第一个元素距离数组首地址间隔0个单元格。Java 语言里提供了支持多维数组的语法。如果说可以把一维数组当成几何中的线性图形。原创 2023-04-07 09:46:48 · 792 阅读 · 1 评论 -
Java基础(五)面向对象编程(基础)
面向对象,是软件开发中的一类编程风格、开发范式。除了面向对象,还有面向过程指令式编程和函数式编程。在所有的编程范式中,我们接触最多的还是面向过程和面向对象两种。类比:史书类型纪传体:以人物传记为中心,“本纪”叙述帝王,“世家”记叙王侯封国和特殊人物,“列传”记叙民间人物。编年体:按年、月、日顺序编写。国别体:是一部分国记事的历史散文,分载多国历史。早期先有面向过程思想,随着软件规模的扩大,问题复杂性的提高,面向过程的弊端越来越明显,出现了面向对象思想并成为目前主流的方式。原创 2023-04-07 11:38:45 · 1585 阅读 · 0 评论 -
Java基础(三)流程控制语句
顺序结构就是程序地执行。表达式语句都是顺序执行的。并且上一行对某个变量的修改对下一行会产生影响。Java中定义变量时采用合法的。如:错误形式:2 分支语句2.1 if-else条件判断结构2.1.1 基本语法结构1:单分支条件判断:if条件表达式必须是布尔表达式(关系表达式或逻辑表达式)或 布尔变量。结构2:双分支条件判断:if…else说明:一旦条件表达式为true,则进入执行相应的语句块。执行完对应的语句块之后,就跳出当前结构。1.首先判断关系表达式1看其结果是true还是f原创 2023-04-07 09:11:59 · 1059 阅读 · 0 评论 -
Java基础(二)关键字、标识符、变量、基本数据类型、运算符
Unicode在很长一段时间内无法推广,直到互联网的出现,为解决Unicode如何在网络上传输的问题,于是面向传输的众多 UTF(UCS Transfer Format)标准出现。二进制广泛应用于我们生活的方方面面。(1)当把存储范围大的值(常量值、变量的值、表达式计算的结果值)强制转换为存储范围小的变量时,可能会。逻辑运算符,操作的都是boolean类型的变量或常量,而且运算得结果也是boolean类型的值。(1)当把存储范围小的值(常量值、变量的值、表达式计算的结果值)赋值给了存储范围大的变量时。原创 2023-04-06 16:35:29 · 928 阅读 · 0 评论 -
Java基础(一)Java语言概述及入门
是SUN(Stanford University Network,斯坦福大学网络公司 )1995年推出的一门高级编程语言。是一种面向Internet的编程语言。Java一开始富有吸引力是因为Java程序可以在Web浏览器中运行。这些Java程序被称为Java小程序(applet),内嵌在HTML代码中。伴随着互联网的迅猛发展,以及Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。JDK(Java Development Kit):是Java程序开发工具包,包含JRE。原创 2023-04-06 15:11:25 · 1188 阅读 · 0 评论