JavaSE
文章平均质量分 82
JavaSE
一头·秀发
这个作者很懒,什么都没留下…
展开
-
JavaSE-多线程(二)
JavaSE-多线程(二)线程控制get/setPriority() 优先级别设置join() 插入线程sleep() 阻塞线程yield() 线程就绪(唤醒)setDaemon() 伴随线程stop() 停止线程多线程如何安全?虚拟机级别加锁方式一:synchronized(排它锁)synchronized锁重入synchronized 底层、锁升级Monitor(管程)API 级别加锁方式二:LockReentrantLock(可重入锁)扩展Sync(FairSync公平锁、NonFairSync非公平原创 2022-05-31 23:09:35 · 243 阅读 · 0 评论 -
JavaSE-多线程(一)
JavaSE-多线程(一)多线程创建线程继承Thread 类创建线程实现Runnable接口创建线程使用lambda表达式实现Callable接口创建线程多线程不安全对高并发的理解线程的调度与生命周期并发编程三大核心问题?原子性可见性有序性多线程基本概念什么是程序编写的代码就是程序什么是进程程序一旦运行起来,就要在内存中分配空间,产生一个进程。是系统资源分配的单位。任务管理器中可以查看进程。什么是线程进程中相对独立的执行单元,线程启动顺序具有不确定性。是CPU 执行调度的单位原创 2022-05-31 23:07:09 · 138 阅读 · 0 评论 -
JavaSE-集合(Map)
JavaSE-集合(Map)MapHashMap 实现类Hashtable 实现类LinkedHashMap 实现类TreeMap 实现类ConcurrentHashMap实现类Map特点:key 唯一,无序基本APIimport java.util.Collection;import java.util.HashMap;import java.util.Map;import java.util.Set;public class MyMap { public static voi原创 2022-05-31 23:06:38 · 155 阅读 · 0 评论 -
JavaSE-集合(Set)
JavaSE-集合(Set)SetHashSet 实现类LinkHashSetTreeSetSet基本APIpublic class Demo6 { public static void main(String[] args) { /** * API * 增加: add() addAll() * 删除: clear() remove() removeAll() * 修改: * 查询:原创 2022-05-31 23:06:19 · 115 阅读 · 0 评论 -
JavaSE-集合(List)
JavaSE-集合(List)CollectionList接口ArrayList 实现类Vector 实现类泛型扩展返回泛型类型的值LinkedList 实现类Collection集合与数组的区别数组只能放一种数据类型,可以是基本数据类型也可以是引用数据类型。集合可以放多种数据类型,但是一般使用泛型,让他只能放置一种数据类型就是【引用数据类型】或者叫【包装类】。所以集合是能放基本数据类型的,但是需要对数据进行自动装箱。为什么要使用集合传统使用数组对数据进行储存,但是一旦添加或者删原创 2022-05-27 00:25:27 · 499 阅读 · 0 评论 -
JavaSE-数据结构
JavaSE-数据结构数据结构1. 什么是数据结构2. 数据结构的分类3. 逻辑结构4. 物理结构(存储结构)5. 逻辑结构对应的存储结构实现6. 线性表逻辑结构物理结构顺序表链表7. 栈和队列8. 树树的基本概念二叉树9. 图数据结构1. 什么是数据结构数据结构含义数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,进行选择的数据结构可以带来更加高效的运行或储存效率。数据结构往往同高效的检索算法和索引技术有关。简单来说就是在程序设定中,为了方便,把数据按照某种形式组织起来,原创 2022-05-27 00:25:10 · 142 阅读 · 0 评论 -
JavaSE-常用类、Stream 流式计算
JavaSE-常用类、Stream 流式计算常用类内置包装类IntegerString类型转换StringBuilder(JDK1.5)StringBuffer(JDK1.0)Date(JDK1.0)拓展:System.currentTimeMillsDateFormatCalendar(JDK1.1)LocalDate、LocalTime、LocalDateTime(JKD1.8)DateTimeFormatter(JDK1.8)MathRandom枚举Stream 流式计算常用类内置包装类基本数据原创 2022-05-27 00:24:00 · 85 阅读 · 0 评论 -
JavaSE-IO
JavaSE-IOFile 类引入IO 流FileInputStream 类FileOuputStream 类文件内容的复制其他复制方法FileReader,FileWriter 字符流BufferedReader,BufferedWriter 缓冲流System 类对IO的支持,转换流DataOutput[Input]Stream 数据流ObjectOutput[Input]Stream 对象流复制整一个文件夹File 类File 可以帮助我们快速获取文件或者文件夹的属性等信息。查找文件或者文件夹原创 2022-05-27 00:23:36 · 77 阅读 · 0 评论 -
JavaSE-函数式接口、lambda表达式
JavaSE-函数式接口、lambda表达式函数式接口FunctionPredicateConsumerSupplierlambda 表达式实现接口作用域问题、使用说明玩法函数式接口函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。函数式接口可以被隐式转换为 lambda 表达式。Lambda 表达式和方法引用(实际上也可认为是Lambda表达式)上。 // 定义一个函数型接口,特点传入参数,调用一个方法 @Funct原创 2022-05-27 00:23:17 · 116 阅读 · 0 评论 -
JavaSE-反射
JavaSE-反射类加载反射的意义、原理、作用反射信息(字节码信息)类的动态加载类加载器Classloader使用反射信息权限问题(非public)访问类属性访问类方法访问类构造器访问类继承关系访问泛型访问注解信息访问 ClassLoader类关于反射的面试题什么是反射?反射就是Reflection,Java的反射是指程序在运行期可以拿到一个类的所有信息。类加载除了int等基本类型外,Java的其他类型全部都是class(包括interface)。例如:StringObjectRunnab原创 2022-05-27 00:23:05 · 55 阅读 · 0 评论 -
JavaSE-内存分析、内存控制、异常机制、注解
JavaSE-内存分析、异常机制、注解内存分析异常机制注解内置注解元注解自定义注解内存分析// Student.javapublic class Pet{ String name; int age; public static void shout(){ System.out.print("它叫"+this.name+',年龄:'+this.age); }}// Main.javapublic class Main{ public static void main(String[原创 2022-05-26 19:25:24 · 50 阅读 · 0 评论 -
JavaSE-面向对象编程(oop)
JavaSE-面向对象编程(oop)类与实例化对象构造器封装单继承重写多态instanceof 语法类型转换抽象类接口类(多继承)内部类成员内部类静态内部类局部内部类匿名内部类Object 类序列化、反序列化面向对象编程的本质就是:以类的方式组织代码,以对象的方式组织(封装)数据。面向对象的三大特性:封装继承多态类与实例化对象实例化对象的方式调用new语句创建对象// Student.javapublic class Student{ String studentName;原创 2022-05-26 19:24:23 · 160 阅读 · 0 评论 -
JavaSE-方法、this 指向、(非)静态代码块
JavaSE-方法、this 指向、(非)静态代码块方法定义静态方法与非静态方法方法调用方法重载形参与实参可变参数递归方法值传递与引用传递main 方法this 指向静态代码块方法定义修饰符 返回值类型 方法名(参数类型,参数名){ ... 方法体 ... return 返回值;}修饰符:可选常用public / static。返回值类型:方法可能会存在返回值。returnValueType是方法的返回值的类型。有返回至请根据返回类型进行设置(基本数据类型),无返回值则void。原创 2022-05-26 19:23:30 · 95 阅读 · 0 评论 -
JavaSE-数组
JavaSE-数组数组声明与使用数组常用方法Arrays工具类合并数组数组Java提供了一种叫作数组的数据结构,它是一种用来存储相同类型元素的固定大小顺序集合。 数组用于存储数据集合,但也可以将数组视为相同类型的变量集合。可以是一维甚至多维。数组变量本身属于引用类型,数组也可以看成对象(同样可以通过 new 实例化对象),数组中每一个元素相当于对象成员本身,存放于内存的堆空间中。数组声明与使用数组的声明声明数组变量语法:dataType[] arrayRefVa原创 2022-05-26 19:19:42 · 38 阅读 · 0 评论 -
JavaSE-数组八大排序
JavaSE-数组八大排序冒泡排序选择排序直接插入排序希尔排序快速排序归并排序基数排序堆排序冒泡排序原理数组元素两两比较,交换位置,大元素往后放。每比较一轮少一次两两比较。public class Main{ public static void main(String[] args){ int[] arr = {24, 69, 80, 57, 13}; int temp = 0; for(int i = 0; i < arr.length-1; i++){ /原创 2022-05-26 19:22:38 · 66 阅读 · 0 评论 -
JavaSE-流程控制
JavaSE-流程控制Scanner 包装类顺序结构选择结构循环结构break continueScanner 包装类Scanner 类的基本使用创建实例对象public class Demo{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); }}判断是否输入public class Demo{ public static void main(String原创 2022-05-26 19:21:29 · 50 阅读 · 0 评论 -
JavaSE-基础语法(三)
JavaSE-基础语法(三)运算符包机制运算符运算符说明:算数运算符:+,-,*,/,%,++,–赋值运算符:=关系运算符:>,<,>=,<=,==,!=,instanceof逻辑运算符:&&,||,!位运算符:&,|,^,~,>>,<<,>>>条件运算符:? :扩展运算符:+=,-=,*=,/=i++ 与 ++i 的区别public class Demo { public stat原创 2022-05-26 19:18:44 · 50 阅读 · 0 评论 -
JavaSE-基础语法(二)
JavaSE-基础语法(二)变量,常量成员变量、局部变量作用域问题关键字变量,常量静态变量、常量与类一起加载,在方法中可以直接进行调用。public class Main{ public static String name = "hello"; public static final String NAME = "world"; public static void main(String[] args){ System.out.println(name); //=> hel原创 2022-05-26 19:16:53 · 43 阅读 · 0 评论 -
JavaSE-基础语法(一)
JavaSE-基础语法(一)helloworld注释注解数据类型基本数据类型引用数据类型类型转换helloworldpublic class HelloWorld{ public static void main(String[] args) { System.out.println("HelloWorld") }}注释行内注释 //块注释/****/文档注释/*** @author 作者* @version 版本* @since jdk* @param原创 2022-05-26 19:16:01 · 659 阅读 · 0 评论 -
JavaSE-安装与环境配置
JavaSE(一)环境配置基础语法HelloWorld注释数据类型基本数据类型数值类型布尔类型引用数据类型类接口数组枚举类型转换环境配置安装 JDKhttp://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html配置电脑环境打开电脑环境配置系统变量中添加变量名:Java_Home变量值:javaSDK 安装路径配置系统变量中的 Path 变量编辑文本在最前面添加 %Java原创 2022-05-26 19:13:44 · 141 阅读 · 0 评论