Java进阶
文章平均质量分 74
作者:BroRiver
BroRiver
你若盛开 清风自来
展开
-
设计模式之建造者模式(builder)
它是使用在创建复杂对象时,一个复杂对象可能含有多个部件,每个部件需要单独创建,然后组成在一起形成这个复杂对象。而部件组合的时候具有很大的灵活性,如:1、有些部件是必须的,而有些部件是可选的2、有些部件是要求有序的。原创 2023-03-01 07:00:00 · 98 阅读 · 0 评论 -
Java泛型
泛型是一种在编译时实现类型安全的特性,它使得我们可以编写通用的代码,以适用于不同类型的数据。原创 2023-03-26 22:12:09 · 1057 阅读 · 0 评论 -
【Java基础题】HashSet是如何判断新增元素是否重复的?
(由于先人不知道这些类的比较规则,所以需要我们去重写)(1)重写时,重写equals,也应该重写hashcode方法;原创 2023-02-21 09:42:19 · 444 阅读 · 0 评论 -
设计模式之单例模式(singleton)☆
导致了对instance的修改操作,失去了原子性,为了保证原子性,我们想到了加锁,从而实现线程安全问题,所以需要用同步方法(加synchronized关键字),以确保代码不可分割,但是这样的话,这个方法每次只能被一个线程调用,其他线程需要等待。用同步块,让线程来竞争锁,当拿到锁的线程进入到第二层if之后判断是否为空,不为空就是实例化对象,然后再释放锁,释放锁之后,instance已经不为空了,后面的线程就被阻挡在了第二层if这里了。无论使用者是否调用了方法,都会在加载类的时候,产生它的对象。原创 2023-02-28 17:16:57 · 75 阅读 · 0 评论 -
Java多线程
在异常的报错信息中,Exceptioninthread“main” 它告知了我们"main"线程发生了异常。在多个线程的情况下,哪个线程发生了异常,我们就可以直接到那个线程中去排查。多任务:早期的(命令行)操作系统不能一次性执行多个任务,引入“进程”的概念,实现多任务基于进程的多任务:可以把进程看作一个应用程序,运行一个应用程序时,操作系统会开启一个独立的进程,给这个进程划分独立的内存地址空间。除了我们开启的应用程序以外,操作系统自己的后台程序也都是一个个进程(包括病毒程序)原创 2023-02-21 09:40:20 · 399 阅读 · 0 评论 -
Java记录(Record)
一个专门用于描述它可以自动生成 对 定义数据 进行创建、设置、访问、比较等代码,所以也被称作“数据类”。记录类 专用于(有点像JavaBean),的。记录类的对象在初始化的时候就保存了数据,以后这里面的数据是不能修改的了。原创 2023-02-27 08:00:00 · 4182 阅读 · 0 评论 -
try-with-resource
try-with-resource是Java 7中引入的新特性,它可以方便地管理资源,自动关闭资源,从而避免了资源泄漏的问题。原创 2023-03-26 18:42:11 · 2616 阅读 · 0 评论 -
switch表达式新语法
switch表达式新语法原创 2023-03-10 07:00:00 · 223 阅读 · 0 评论 -
Java异常处理
就是指 程序在运行过程中所产生的不正常的情况。Java中它是狭义的概率:它是指程序编译器或运行期,出现了一种叫做Exception的类的错误信息的时候,我们需要对这种Exception类进行处理,我们才叫做“异常处理”。这里的关键就是,无论是在编译器还是运行期,报错信息里面出现了Exception类,需要我们进行处理,否则会让我们的程序无法通过编译或者运行中断的情况。那么这个时候,对Exception的处理才叫“异常处理"。原创 2023-01-03 23:05:18 · 173 阅读 · 0 评论 -
Java集合框架(JCF)
集合是什么?把一堆数据集中合并在一起进行统一的操作。框架是什么?为了解决某个问题,而预先设计的一系列具有继承或实现关系的类与接口。Java Collection Framework(集合框架)解决集合操作问题而预先设计好的一系列类与接口。1、装东西的容器 -- 集合类;2、为容器提供算法的操作类 -- 工具类。集合类Collection接口 是整个集合框架的核心接口。它衍生出集合框架的四大子接口(四种不同的容器)1、List接口 (直接从Collection接口衍生)原创 2023-01-29 15:26:12 · 299 阅读 · 0 评论 -
Java(GUI布局管理器及事件处理)
在实现GUI界面的过程中,我们有一个非常重要的代码,那就是每个组件在放入到容器之前,要给出该组件的大小以及位置(setBounds方法)。在Java的GUI中除了使用空布局以外,它还提供了多种自带的布局方式,其中最著名也是最常用的是: 1、流布局 2、边界布局 3、网格布局 4、卡片布局。1、BorderLayout的布局,它是按打麻将的方式,把整个容器划分成了“东西南北中”5个区域,如果在添加组件的时候不指定区域,那么就放到中间;(监听器是分职责的,不同的职责的监听器负责不同的事件)。原创 2023-01-29 10:25:27 · 1440 阅读 · 0 评论 -
对象的序列化和反序列化【操作流】
对象的序列化:将程序中的Java对象,以二进制的形式输出出去;对象的反序列化:将输入程序的二进制对象数据转换为内存中的一个对象;这两个操作由于是操作Java。原创 2023-02-18 09:31:24 · 127 阅读 · 0 评论 -
Java字符串类
字符串是我们程序员使用得最多的一种数据类型。因为在使用的角度来看,所有的数据都可以用字符串进行表达;用户层面其实也只有文本的概念。所以,在输入输出的过程中,我们基本都是采用的字符串的形式。在设计String这个类的时候,Java就对它进行了很多特殊设计。为了提升性能,让String的数据值得到一定程度的复用,专门在内存(数据段)中开辟了一个空间,“字符串常池我们在程序中所有书写的双引号的字符串常量,都会在加载期直接被放入到这个池当中,下次需要使用同一个字符串常量时,直接从池中取出,而。原创 2023-01-29 13:44:39 · 219 阅读 · 0 评论 -
Java包装类
Java的多态就受到影响,Object类型变量能指向任意对象,但是没办法放入基本数据的数据。所以,为了不让Java的丰富度受到影响,Java专门为8种基本数据类型各自设计了一个对应的应用数据,就是包装类。通过这些包装类的对象,那么里面既可以装封装的基本数据类型数据,还可以提供行为方法对这些数据进行操作。自动拆箱 -- 自动在底层把一个复杂的包装类对象中的value值取出来放到基本类型中。自动封箱 -- 自动在底层把简单的基本数据类型数据封装到一个复杂的包装类对象中。1、首先清楚API DOC文档的结构;原创 2023-01-08 22:19:49 · 368 阅读 · 0 评论 -
Java(图形用户界面)GUI
但是,awt的问题出在了带外观的容器和组件类上。它的外观容器和组件的实现方式是偷懒了的。所以出现了一个问题:不同操作系统下的图形库,同样的容器或组件在设计的时候标准是不同的。这就导致同样的一段JavaGUI的代码在不同的操作系统下可能会出现不同的展示效果。中间容器是它所属的外部容器的组件,但是它里面又可以放子容器或组件。在设计复杂界面的时候,这种容器嵌套关系,可以帮助我们把复杂问题划分为一个个的简单问题。所有的子容器和组件,与父容器的关系都应该是has-a关系;也就是说的子容器和组件都应该是父容器的属性。原创 2023-01-29 09:47:07 · 382 阅读 · 0 评论 -
Properties集合类
它操作的文件被称为"属性文件"或者Properties文件。这种文件的格式非常简单易用,所以它也是常用的配置文件之一。Properties对象可以直接从这种文件当中读取数据,同样用键值对的方式进行存放;Properties属于集合 ,它有个其他集合不具备的特殊能力,能够直接操作文件。值value可以重复 通过键 可以查找出值;也能把存放到Properties数据。key=value 对。原创 2023-01-08 23:05:54 · 259 阅读 · 0 评论 -
时间日期类
时间日期是每个程序都不可避免要操作到的数据类型。原创 2023-01-08 23:16:35 · 2293 阅读 · 0 评论 -
GUI(ATM界面练习)
【代码】GUI(ATM界面练习)原创 2023-01-29 10:48:14 · 161 阅读 · 0 评论 -
I/O操作【输入输出流】
输入与输出操作时所有程序都必须具备的功能,特别是输出。在算法的概念中,就有:一个算法至少要有一个输出。特征:1、所有的输入与输出操作 在性能上一定是瓶颈;因为它不再是内存中的操作了,而是把内存中的数据输出出去或输入进来,此时就一定会有时间上的损耗;2.、输入输出的操作环境具有复杂性。输入包括:键盘/鼠标/扫描仪输入...硬件环境的差异性;就算是同样的硬件也具有平台差异性。比如输出,同样是屏幕输出,也分控制台输出,图形化输出...原创 2023-01-11 18:09:27 · 161 阅读 · 0 评论