![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
JavaSE基础知识学习总结
lan_jianwen
这个作者很懒,什么都没留下…
展开
-
ReentrantLock源码
ReentrantLock源码。原创 2023-02-23 13:30:44 · 46 阅读 · 0 评论 -
快速排序
冒泡排序 算法思想:选择数组中一个数为基准数(通常选择第一个数)。从数组最后一个开始,将大于这个基准数的数移动到基准数左边,将大于基准数的数移到基准数右边。 算法过程举例: Java代码实现: public void quickSort(int[] arr, int left, int right){ if (left > right){ return; } int low = left; int high = r原创 2020-12-05 21:51:28 · 70 阅读 · 0 评论 -
Map的四种遍历方式
Map的四种遍历方式 获取所有的键值对集合,迭代器遍历 Map 的 values() 方法,单纯拿到所有值的 Collection 获取所有的键值对集合,for 循环遍历 keySet() 获取到 key 的 Set,遍历 Set 根据 key 找值(不推荐使用原因是多出了根据 key 找值的消耗) package maptest; import java.util.HashMap; import java.util.Iterator; import java.util.Map; publi原创 2020-11-17 10:46:58 · 76 阅读 · 0 评论 -
冒泡排序
冒泡排序 算法思想:遍历序列,相邻两个数比较,较大的数往后移,即前面的数大于后面的数就交换两个数的位置。 算法过程举例: 原数组 {6,2,5,1,4,3} 第一次排序后 {2,5,1,4,3,6} 第二次排序后 {2,1,4,3,5,6} 第三次排序后 {1,2,3,4,5,6} 第五次排序后 {1,2,3,4,5,6} 时间复杂度:O(n^2) 空间复杂度:O(n) 稳定性:稳定 Java代码实现: public class BubbleSort { public static void原创 2020-09-25 13:16:54 · 70 阅读 · 0 评论 -
单例模式
什么是单例 单例在整个过程中只能被创建一次。单例类自己创建自己的对象,并且只能被创建一次。 使用场景 全局使用 消耗大量系统资源:数据库连接池、工厂类、数据源等 单例的两种实现 实现限制条件 构造器私有 自己创建实例 静态方法对外提供实例 饿汉式 public class Singleton { public static final Singleton INSTANCE = new Singleton(); //私有化构造器 private Singleton(){原创 2020-08-29 01:15:10 · 81 阅读 · 0 评论 -
Java集合
Java集合 为什么要使用Java集合 数组弊端: 1.数组一旦初始化,长度就已经不可再改变 2.数组声明的类型初始化就决定数组类型,不可更改 3.数组数据有序,可重复 Collection父接口,对象的集合,单列集合 常用方法 add(Object obj)添加元素 addAll(Collection coll)添加一个集合 size()集合大小 isEmpty()判断集合是否为空 clear()清空集合 contains(Object obj)判断是否包含某元素,通过元素的equals方法来判断 c原创 2020-08-25 00:43:43 · 128 阅读 · 0 评论 -
枚举类的使用
枚举类的使用 自定义枚举类 class Season{ private final String name; private Season(String name) { this.name = name; } public static final Season SPRING = new Season("春天"); public static final Season SUMMER = new Season("夏天"); public static final Season FAL原创 2020-08-25 00:40:21 · 73 阅读 · 0 评论 -
多线程的使用
多线程的使用 四种多线程的创建,线程通信,同步 程序,进程,线程概念 程序 程序是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 进程 进程是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期。 线程 进程可进一步细化为线程,是一个程序内部的一条执行路径。 多线程 多线程就是多个线程同时运行或交替运行。单核CPU的话是顺序执行,也就是交替运行。多核CPU的话,因为每个CPU有自己的运算器,所以在多个CPU中可以同时运原创 2020-08-25 00:39:11 · 142 阅读 · 0 评论 -
包装类的使用
包装类的使用 基本数据类型+包装类+String类的相互转化 八种基本数据类型 byte,short,int,long,float,double,boolean,char 八种基本数据类型对应的包装类 Byte,Short,Integer,Long,Double,Boolean,Character 基本数据类型+包装类+String类的相互转化 public class Wrapper { public static void main(String[] args) { //JDK1.5以前 /原创 2020-08-25 00:37:01 · 88 阅读 · 0 评论 -
面向对象三个基本特征
面向对象三个基本特征 封装、继承、多态 封装 什么是封装 封装就是隐藏对象的属性和实现细节,仅向外界暴露该暴露的接口。 代码举例 public class Person { private String name; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public String ge原创 2020-08-25 00:34:38 · 753 阅读 · 0 评论 -
参数传递机制
基本数据类型和引用数据类型参数传递不同 基本数据类型 package com.jmu; public class PassValue { public static void main(String[] args) { int a = 10; int b = 20; PassValue pv = new PassValue(); System.out.println("初始: a=" + a + ", b="+b); pv.swap(a,b); System.out.print原创 2020-08-25 00:32:52 · 249 阅读 · 0 评论 -
算法
算法介绍 二分法 package com.jmu; public class ArrayTest4 { public static void main(String[] args) { int array[] = new int[] {1,2,3,4,5,6,7,8,9}; // 查询某元素的索引 int target = 7; int begin = 0; int end = array.length - 1; boolean flag = true; while原创 2020-08-25 00:30:53 · 83 阅读 · 0 评论 -
Java数组
数组介绍 数组概述 定义 数组(Array): 所谓数组,是有序的元素序列。例如 int[5] = {1,2,3,4,5}; 数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型(byte,short,int,long,char,float,double,boolean)和引用数据类型(类(class),接口(interface),数组(array))。 创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址。 组成 组成部分: 数组名、下标(索引)、原创 2020-08-25 00:27:46 · 87 阅读 · 0 评论 -
JVM学习
什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 JVM体系结构图 多数的 ...原创 2020-08-24 23:56:04 · 89 阅读 · 0 评论 -
redis安装
安装Redis 下载地址 https://github.com/MicrosoftArchive/redis/releases 注意选择安装路径,然后一路next 安装完成后双击打开 redis-server.exe 正常情况如下图 如果报错 Creating Server TCP listening socket 127.0.0.1:6379: bind: No error 配置redis.windows.conf文件 cmd到redis目录下,执行 redis-cli.ex原创 2020-08-19 18:54:52 · 82 阅读 · 0 评论 -
jdk环境配置
JDK环境配置 官网下载JDK(现在需要账号下载,自行百度可以获取账号) 将下载好的JDK安装 打开环境变量配置 新建变量 变量名 JAVA_HOME 变量值(JDK安装路径) D:\develop\JDK 再新建一个变量 变量名 CLASSPATH 变量值(JDK安装路径) .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar 编辑PATH 变量1: %JAVA_HOME%\bin 变量2: %JAVA_HOME%\jr原创 2020-08-19 18:30:43 · 69 阅读 · 0 评论