Java基础
文章平均质量分 76
eligible-zzw
这个作者很懒,什么都没留下…
展开
-
17.Java的反射机制
Java的反射机制原创 2022-08-10 22:14:06 · 600 阅读 · 0 评论 -
16.多线程详解
多线程详解原创 2022-06-16 19:50:48 · 184 阅读 · 0 评论 -
15.并发工具类(解析hashtable,ConcurrentHashMap1.7与1.8的区别以及Semaphore)
3. 并发工具类3.1 并发工具类-HashtableHashtable出现的原因:在集合类中HashMaori是比较常用的集合对象,但是HashMap在多线程环境下可能会出现线程不安全的情况,为了保证数据的安全性我们可以使用Hashtable,但是Hashtable由于底层使用synchronized(悲观锁)修饰,使得每次有一个线程操作表的时候会将整张表锁起来,导致效率低下。代码实现 :package com.itheima.mymap;import java.util.HashMap;原创 2021-07-14 16:51:19 · 196 阅读 · 0 评论 -
14.关于原子性的相关介绍
2. 原子性2.1 volatile-问题代码分析 :package com.itheima.myvolatile;public class Demo { public static void main(String[] args) { MyThread1 t1 = new MyThread1(); t1.setName("小路同学"); t1.start(); MyThread2 t2 = new MyThread2();转载 2021-07-12 21:55:06 · 114 阅读 · 0 评论 -
13.线程池的介绍
1.线程池1.1 线程状态介绍当线程被创建并启动后,它既不是一启动就进入执行状态,也不是一直处于执行状态。线程对象在不同的时期有不同的状态。那么Java中的线程存在哪几种状态呢?Java中的线程状态被定义java.lang.Thread.State枚举类中,State枚举类的源码如下:public class Thread { public enum State { /* 新建 */ NEW , /* 可运行状态 */原创 2021-07-12 21:31:56 · 202 阅读 · 1 评论 -
12.多线程的实现方式、线程安全问题的产生与解决以及生产者与消费者问题
一、实现多线程1.1 了解多线程多线程是指从软件或者硬件上实现多个线程并发执行的技术,具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程,从而提升性能。1.2 并发与并行并行是指同一时刻,有多个指令在多个CPU上同时执行。并发是指同一时刻,有多个指令在单个CPU上交替执行。1.3 进程和线程**进程:**是指正在运行的程序,比如说360杀毒软件这个程序**独立性:**进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位。**动态性:**进程的实质是程序的一原创 2021-07-10 20:53:13 · 203 阅读 · 0 评论 -
11.Map集合之实现类HashMap&Hashtable&TreeMap&LinkedHashMap&Properties浅析
在我们生活中,集合的概念就已经不陌生,比如身份证号对应的就一个人、电脑IP地址对应的就是主机名、学号对应就是一个学生等,其实就是一种一一对应的关系,我们可以认为这就是映射.在Java中就提供了专门的集合类用来存放这种对象(映射)关系的对象,即java.util...转载 2021-07-09 11:09:21 · 190 阅读 · 0 评论 -
10.Stream流
一、Stream流1.案例实现按照下面的要求完成集合的创建和遍历创建一个集合,存储多个字符串元素把集合中所有以"张"开头的元素存储到一个新的集合把"张"开头的集合中的长度为3的元素存储到一个新的集合遍历上一步得到的集合public class StreamDemo { public static void main(String[] args) { //创建一个集合,存储多个字符串元素 ArrayList<String> li原创 2021-07-01 18:06:35 · 247 阅读 · 2 评论 -
9.可变参数&&创建不可变集合
一、可变参数1.可变参数介绍可变参数又称参数个数可变,用做方法的形参出现,那么方法参数个数就是可变的了。方法的参数类型已经确定,个数不确定,我们可以使用可变参数。2.可变参数定义格式修饰符 返回值类型 方法名(数据类型… 变量名) { }3.可变参数的注意事项这里的变量其实是一个数组如果一个方法有多个参数,包含可变参数,可变参数要放在最后4.可变参数的基本使用public class ArgsDemo01 { public static void main(String[]原创 2021-07-01 10:40:02 · 189 阅读 · 0 评论 -
8.Map集合(HashMap&&TreeMap)
一、Map集合概述和使用1.Map集合概述Interface Map<K,V> K:键的类型 V:值的类型将键映射到值的对象;不能包含重复的键;每个键可以映射到最多一个值创建Map集合的对象,采用的是多态的方式,具体的实现类HashMap集合2.Map集合的基本功能3.Map集合的获取功能4.Map集合的两种遍历方式package com.company;import java.util.Collection;import java.util.HashMap原创 2021-07-01 10:23:19 · 186 阅读 · 1 评论 -
7.Set集合总结(TreeSet集合和HashSet集合)
一、Set集合1.Set集合特点可以去除重复存取顺序不一致没有带索引的方法,所以不能使用普通的for循环遍历,也不能通过索引来获取、删除Set集合里面的元素。2.Set集合中元素的遍历二、TreeSet集合1.TreeSet集合概述和特点不可以存储重复元素没有索引以及带索引的方法可以将元素按照规则进行排序(如果需要对其他Student类型进行排序,必须指定排序规则 )TreeSet():根据元素的自然顺序进行排序TreeSet(Comparator comparator):根据指原创 2021-06-30 11:41:16 · 363 阅读 · 1 评论 -
6.红黑树
一、红黑树1.红黑树是一种自平衡的二叉查找树,是计算机科学中用到的一种数据结构,在以前被称为平衡二叉B树。它是一种特殊的二叉查找树,红黑树的每一个结点上都有存储位表示结点的颜色,每一个结点可以是红或者黑;红黑树不是高度平衡的(平衡而二叉树是高度平衡的),它的平衡是通过“红黑规则”进行实现的。...原创 2021-06-30 10:02:14 · 174 阅读 · 0 评论 -
5.Collection集合 && List集合 && 泛型
一、Collection集合1.1 数组和集合的区别相同点:都是容器,可以存储多个数据。不同点:数组的长度是不可变的,集合的长度是可变的。数组可以存基本数据类型和引用数据类型;集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类。1.2 集合类体系结构1.3 Collection 集合概述和使用Collection集合概述:是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素。JDK不提供此接口的任何直接实现,它提供更具体的子接口(如Set和原创 2021-05-25 19:40:54 · 180 阅读 · 0 评论 -
4.Java面向对象相关知识总结
一、static关键字1. static修饰的特点1.1 被类的所有对象共享,是我们判断是否使用静态关键字的条件。1.2 随着类的加载而加载,优先于对象存在,对象需要被类加载后才能创建。1.3 可以通过类名调用,也可以通过对象名调用。2. static关键字注意事项2.1 静态方法只能访问静态成员2.2 非静态方法可以访问静态的成员,也可以访问非静态的成员2.3 静态方法中没有this关键字...原创 2021-05-23 19:14:20 · 228 阅读 · 2 评论 -
3.Git的基本操作
一、Git的基本工作流程(本地仓库)二、Git命令行操作(应用)三、历史版本切换(理解)1.准备工作(1) 查看my_project 文件夹的log日志git reflog :可以查看所有分支的所有操作记录(包括已经被删除的commit记录的操作)(2) 增加一次新的修改记录需求:将代码切换到第二次修改的版本指令:git reset --hard 版本唯一索引值四、分支管理介绍1.分支(1) 由每次提交的代码,串成一条时间线(2) 使用分支意味着你可以把你工作从开发的主线上分原创 2021-05-08 21:26:39 · 132 阅读 · 0 评论 -
1.String && StringBuilder基础
一、String概述1.String 类在 java.lang 包下,所以使用的时候不需要导包。2.String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。3.字符串不可变,它们的值在创建后不能被更改。4.虽然String的值是不可变的,但是它们可以被共享字符串常量池:当使用双引号创建字符串对象的时候,系统就会检查该字符串是否在字符串常量池中存在。若不存在就会创建,若存在不会重新创原创 2021-05-03 09:36:56 · 189 阅读 · 2 评论 -
2.Java中String,StringBuilder以及StringBuffer的关系与区别
String StringBuffer StringBuilderString的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且浪费大量优先的内存空间 StringBuffer是可变类,和线程安全的字符串操作类,任何对它指向的字符串的操作都不会产生新的对象。每个String...转载 2021-05-03 09:51:55 · 247 阅读 · 0 评论