
Java
文章平均质量分 57
Z2Min_
所有的努力,都只为遇见更好的自己
展开
-
启动两个线程,交替工作的实现
问题描述:启动两个线程,线程A打印数组{“A”,“B”,“C”,“D”,“E”,“F”,“G”};线程B打印数组{“1”,“2”,“3”,“4”,“5”,“6”,“7”};要求,打印出来的结果是A 1 B 2 C 3 D 4 E 5 F 6 G 7分析用到的知识点:synchronized、notify、wait代码public class Demo { private static String array1[] = {"A","B","C","D","E","F",原创 2021-04-15 22:05:20 · 392 阅读 · 0 评论 -
Java面试常问知识
ArrayList为啥是线程不安全的?ArrayList的 add() 方法写操作的时候为了保证并发性和效率,没有加synchronize 关键字。 public boolean add(E e) { ensureCapacityInternal(size + 1); // Increments modCount!! elementData[size++] = e; return true; }ArrayList 在多线程环境下会出现原创 2020-06-23 12:17:51 · 232 阅读 · 0 评论 -
面试必备基础知识 —并发
进程 线程进程 对应一个程序,每个程序对应一定的内存地址空间,并且只能使用它自己的内存空间,各个进程间互不干扰。并且进程保存了程序每个时刻的运行状态,这样就为进程切换提供了可能。当进程暂停时,它会保存当前进程的状态,在下一次重新切换回来时,便根据之前保存的状态进行恢复,然后继续执行。(这就是并发)虽然 并发 在宏观上有多个任务在执行,但事实上,任何一个具体的时刻,只有一个任务在占用CPU资源(对于单核CPU来说)。一个进程包含多 线程 ,每个线程负责一个独立的子任务,这些线程是共同享有进程占有的资源和原创 2020-05-27 21:30:30 · 216 阅读 · 0 评论 -
面试必备基础知识 — JVM
文章目录概述运行时数据区程序计数器Java 虚拟机栈本地方法栈堆方法区运行时常量池直接内存概述JVM (Java Virtual Machine)Java虚拟机,是一种用于计算机设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地原创 2020-05-22 18:09:33 · 249 阅读 · 0 评论 -
面试必备基础知识 — NIO
概述NIO 新的输入/输出库,是在 JDK1.4 中引入的。NIO 弥补了原来的 I/O 的不足,它在标准的Java代码中提供了 高速的、面向块的I/O。NIO的创建目的 是为了让Java程序员可以实现高速I/O而无需编译自定义的本机代码。NIO将最耗时的 I/O 操作(填充和提取缓冲区)转移回操作系统,因而可以极大的提高速度。...原创 2020-05-20 11:32:02 · 288 阅读 · 0 评论 -
面试必备基础知识 — I/O
磁盘操作File 类可用于表示 文件 和 目录 的信息,但不表示文件的内容。字节操作InputStream Java标准库中提供的一个最基本的 输入流 ,是一个抽象类,而不是接口。FileInputStream 是InputStream的一个子类。FileInputStream就是从文件流中读取数据。outputStream Java标准库中提供的一个最基本的 输出流 ,也是一个抽象类。FileOutputStream 可以从文件获取输出流。实现文件复制public class CopyDe原创 2020-05-17 15:10:05 · 409 阅读 · 0 评论 -
IO流
File类IO流操作中大部分都是对文件的操作,我们想要实现IO的操作,就必须知道硬盘上文件的表现形式,所以Java就提供了File类供我们来操作文件。File 类可以用于表示文件和目录的信息,但是它不表示文件的内容。在计算机系统中,文件是非常重要的存储方式。Java的标准库java.io提供了File对象来操作文件和目录。要构造一个File对象,需要传入文件路径:impo...原创 2019-11-03 18:35:59 · 128 阅读 · 0 评论 -
面试必备基础知识 — 反射、异常、泛型、注解
反射反射(Reflection)它允许运行状态中的Java程序获取自身的信息,并且可以操作类 或对象的内部属性。Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。— 来自百度百科每个类都有一个Class对象 ,包含了与类有关的信息。Class对象 的由来是,当编译一个类时,会产生一个 .原创 2020-05-16 11:54:20 · 495 阅读 · 0 评论 -
用java写一个简单计算器
通过Java编写这个计算器,主要是用来学习JFrame容器和网格布局的。学习JFrame的博客,感谢博主分享。 java计算器实例中,本博客共有两个版本。1.0版本:import java.awt.BorderLayout;import java.awt.Color;import java.awt.GridLayout;import java.awt.event.Act...原创 2019-07-16 18:21:27 · 926 阅读 · 1 评论 -
Java一级菜单和多级菜单的创建
一级菜单:package GUI_test2;import java.awt.FlowLayout;import java.awt.Frame;import java.awt.Menu;import java.awt.MenuBar;import java.awt.MenuItem;import java.awt.event.ActionEvent;import java....原创 2019-07-15 16:40:51 · 1266 阅读 · 0 评论 -
Java创建界面、按钮、文本框、文本域及其相关操作
1.创建及关闭一个窗体:package GUI_test;import java.awt.Frame;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;public class FrameDemo2 { public static void main(String[] args) { ...原创 2019-07-15 15:34:28 · 4675 阅读 · 0 评论 -
内部类(成员内部类,局部内部类,匿名内部类)
1.定义:把类定义在其他类的内部,这个类就被称为内部类。class Outer{ class Inter{ }}2.内部类的访问特点(1)内部类可以直接访问外部类的成员,包括私有的;(2)外部类要想访问内部类的成员,必须先创建对象。3.内部类的位置* 成员位置:在成员位置定义类,被称为成员内部类;* 局部位置:在局部位置定义类,被成为局部内部类。cl...原创 2019-07-13 18:21:31 · 149 阅读 · 0 评论 -
【引用型】形式参数是类名、抽象类名或接口名时的调用方法
1.类名作为形式参数:需要的是该类的对象//类名做为形式参数class Studentt{ public void study() { System.out.println("Good Good Study,Day Day Up!"); }}class StudyDemo { public void studyDemo(Studentt ss) { ss.study()...原创 2019-07-13 11:25:11 · 298 阅读 · 0 评论 -
面试必备基础知识 — 容器
介绍容器主要包括 Collection 和 Map 两种,Collection 存储着对象的集合,而Map 存储着键值对的映射表。集合类中存储的仅仅是对象的引用,并不存储对象本身。CollectionSetSet是不允许元素重复的。判断元素的重复需要根据对象的hash方法和equals方法来决定。这也是我们通常要为集合中的元素类重写hashCode方法和equals方法的原因。TreeSet :基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作。但是查找效率不如HashSe原创 2020-05-15 15:52:17 · 215 阅读 · 0 评论 -
面试必备基础知识 — Java基础(二)
文章目录关键字finalstatic关键字final修饰类当用final 修饰一个类的时候,表明这个类不能被继承修饰方法被final 修饰的方法不能被子类重写(可以重载)如果父类中final修饰的方法同时访问控制权限为private,将会导致子类中不能直接继承到此方法,因此,此时可以在子类中定义相同的方法名和参数,此时子类的方法不是重写了基类的方法,而是在子类中重新定义了新的方法。修饰变量被final修饰的成员变量 表示常量,只能被赋值一次,赋值后,值不再改变。对于基本类型原创 2020-05-14 10:52:13 · 273 阅读 · 0 评论 -
面试必备基础知识 — Java基础(一)
数据类型基本数据类型数据类型二进制位数默认值byte8位0short16位0int32位0long64位0Lfloat32位0.0fdouble64位0.0dchar16位‘u0000’boolean~falseboolean只有两个值 true 和false,可以使用1bit 来存储,但是具体大小没有规定。JVM在编译时期,将boolean类型的数据转换为int类型,使用1来表示true,0表示fa原创 2020-05-11 17:07:07 · 255 阅读 · 0 评论 -
反射
反射 ReflectionJava的反射是指程序在运行期可以拿到一个对象的所有信息。除了 int 等基本类型外,Java的其他类型全部都是class(包括interface)。而class是由JVM在执行过程中动态加载的。JVM在第一次读取到一种class类型时,将其加载进内存。每加载一种class,JVM就为其创建一个Class类型的实例,并关联起来。(注意:这里的Class类型是一...原创 2020-03-17 17:54:39 · 273 阅读 · 0 评论 -
Java中的异常处理
在计算机程序运行的过程中,总是会出现各种各样的错误。有一些错误是用户造成的,比如,希望用户输入一个int类型的年龄,但是用户的输入是abc:String s = "abc";int n = Integer.parseInt(s);//Number Format Exception!Integer.parseInt():Integer代表整型对象,parseInt就是一个转换方法。...原创 2019-07-13 15:35:48 · 187 阅读 · 0 评论 -
Java的特性 --- 封装、继承、多态
初学者,经常听到JDK、JRE这些名词,简单地说,JRE就是运行java字节码的虚拟机。但是,如果只有java源码,要编译成java字节码,就需要JDK,因为JDK包含了JRE,还提供了编译器、调试器等开发工具。java三个不同的版本:java SE、java EE、java ME。简单来说,Java SE就是标准版,包含标准的JVM和标准库,而Java EE是企业版,它只是在Jav...原创 2019-07-11 09:55:16 · 224 阅读 · 0 评论 -
Java基础知识之常见面试题
目录1.面向过程性能比面向对象高2.Java和C++的区别3.Java每种基本类型所占存储空间的大小4.重载和重写的区别5.String、StringBuffer和StringBuilder的区别,String为什么是不可变的6.在Java中定义一个无参构造方法的作用7.接口和抽象类的区别8.成员变量和局部变量的区别、成员变量和静态变量的区别9.== 与 equ...原创 2019-12-25 15:45:18 · 328 阅读 · 2 评论