随笔分类 -  基础+进阶

摘要:Thread中的常用方法_获取线程名称的方法 获取线程名称: 1.使用Thread类中的方法getName(); String getname()返回该线程的名称 2.可以先获取当前正在执行的线程,使用线程getName()获取线程的名称 staic Thread currentThread() 返 阅读全文
posted @ 2022-07-09 16:52 一位程序袁 阅读(216) 评论(0) 推荐(0)
摘要:多线程原咯_随机性打印 多线程的执行原理 图解: 阅读全文
posted @ 2022-07-09 16:23 一位程序袁 阅读(21) 评论(0) 推荐(0)
摘要:主线程 首先我们来举个例子 : 先创建一个Student类 public class Student { private String name; public void run(){ for (int i = 0; i < 20; i++) { System.out.println(name+i) 阅读全文
posted @ 2022-07-09 15:16 一位程序袁 阅读(45) 评论(0) 推荐(0)
摘要:多线程并发与并行 并发:指两个或多个事件在同一个时间段发生 并行:指两个或者多个事件在同一时发生(同时发生) 图解: 线程与进程 进行:是指一个内存中运行的应用程序,每个进行都是有一个独立的内存空间,一个运行程序可以运行多个进程;进行也是程序的一次执行过程,是系统运行的基本单位 线程:线程是进程中的 阅读全文
posted @ 2022-07-08 16:32 一位程序袁 阅读(89) 评论(0) 推荐(0)
摘要:自定义的异常 自定义异常:java提供的异常类,不够我们使用,需要自定一些异常类 格式:public class xxxExcepiton extends Exeption / RuntimeExcetion 添加一个空参数的构造方法 添加一个带异常信息的构造方法 注意:自定义异常类一般都是Exce 阅读全文
posted @ 2022-07-08 15:16 一位程序袁 阅读(71) 评论(0) 推荐(0)
摘要:异常注意事项 finally有retum语句 如果finally有return语句,永远返回finally中的结果,避免该情况 案例: public static void main(String[] args) { int aa = aa(); System.out.println(aa); } 阅读全文
posted @ 2022-07-08 14:40 一位程序袁 阅读(119) 评论(0) 推荐(0)
摘要:异常的处理 异常:异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的。 异常处理的关键字:try、catch、finally、throw、throws * try:里面是可能出现异常的语句或者代码块。后面可以跟一个或多个catch代码段。出现异常,终止try代码段的执 阅读全文
posted @ 2022-07-08 13:52 一位程序袁 阅读(88) 评论(0) 推荐(0)
摘要:异常产生过程解析 public class Ex1 { public static void main(String[] args) throws ParseException { int [] arr={1,2,3}; getElement(arr,3); } public static int 阅读全文
posted @ 2022-07-08 13:20 一位程序袁 阅读(26) 评论(0) 推荐(0)
摘要:异常分类 Exception:编译异常,进行编译(写代码java程序出现的问题) RuntimeException:运行期异常,java程序过程出现的问题 Error:错误,相当于不能自愈的病,必须修改源代码才能运行 案例: 首先我们先来看第一个 编译异常 public class Ex1 { pu 阅读全文
posted @ 2022-07-08 11:30 一位程序袁 阅读(29) 评论(0) 推荐(0)
摘要:练习—计算一个字符串每个字符出现的次数 先来写一下思路: 我们画个图来看: 分析: 使用Scnner获取用户输入的字符 创建Map集合,key是字符串的字符,value是字符的个数 遍历字符串,获取每一个字符 使用获取字符串,去Map集合判断key是否存在 key存在: 通过字符ket获取key,获 阅读全文
posted @ 2022-07-08 10:55 一位程序袁 阅读(59) 评论(0) 推荐(0)
摘要:LinledHashMap Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现与 HashMap 的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序通常就是将键插入到映射中的顺序(插入顺序)。 底层:哈希表+链表(记录元素顺序) 打印输出一 阅读全文
posted @ 2022-07-08 10:02 一位程序袁 阅读(49) 评论(0) 推荐(0)
摘要:Entry键值对象 映射项(键-值对)。Map.entrySet 方法返回映射的 collection 视图,其中的元素属于此类。获得映射项引用的惟一 方法是通过此 collection 视图的迭代器来实现。这些 Map.Entry 对象仅 在迭代期间有效;更正式地说,如果在迭代器返回项之后修改了底 阅读全文
posted @ 2022-07-08 09:24 一位程序袁 阅读(60) 评论(0) 推荐(0)
摘要:Map集合中的常用方法 常用方法: /* put :把指定的键与指定的值添加到Map集合中*/ /*remove:把指定的键,键值在Map集合中删除*/ /* get:根据指定的键,在集合中获取对应的值*/ /* containKey:判断集合中是否包含指定的键*/ /* Set KeySet:获取 阅读全文
posted @ 2022-07-08 08:46 一位程序袁 阅读(296) 评论(0) 推荐(0)
摘要:Map集合概述 Map集合是一双列集合,一个元素包含两个值(一个key 一个calue) map集合中的元素mey和value的数据类型可以相同,也可以不同 map集合中的元素,key是不允许重复的 value是可以重复 map集合中的元素,key和value是一一对应 Map常用子类 HashMa 阅读全文
posted @ 2022-07-06 16:38 一位程序袁 阅读(97) 评论(0) 推荐(0)
摘要:Collections集合工具类的方法 常用方法addAll,Shuffle,sort,sort。 案例: public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<>();// list.add 阅读全文
posted @ 2022-07-06 16:17 一位程序袁 阅读(59) 评论(0) 推荐(0)
摘要:LinkedHashSet集合 具有可预知迭代顺序的 Set 接口的哈希表和链接列表实现。此实现与 HashSet 的不同之外在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,即按照将元素插入到集合中的顺序(插入顺序)进行迭代 LinkedHashSet集合的特点: 底层是 阅读全文
posted @ 2022-07-06 15:44 一位程序袁 阅读(54) 评论(0) 推荐(0)
摘要:HashSet集合数据的结构 我们来画一张图来解释: Set集合存储元素不重复的原理 public class HashSet2 { public static void main(String[] args) { HashSet<Integer> set = new HashSet<>();// 阅读全文
posted @ 2022-07-06 15:01 一位程序袁 阅读(82) 评论(0) 推荐(0)
摘要:HashSet集合 此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。它不保证集合的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null 元素。 HashSet集合继承了C ollection接口 set接口的特点: 不允许重复元素, 没有索引,没有带索引的方法, 阅读全文
posted @ 2022-07-06 13:30 一位程序袁 阅读(62) 评论(0) 推荐(0)
摘要:Linkedlist集合 Linkedlist集合的特点: 1.底层是一个链表结构:查询慢,增删快 2.里面包含了大量的首位操作元素的方法 注意: 使用Linkedlist的集合特点的方法,不能使用多态 addFirst(E o) 将给定元素插入此列表的开头 addLast(E o) 将给定元素追加 阅读全文
posted @ 2022-07-06 13:04 一位程序袁 阅读(38) 评论(0) 推荐(0)
摘要:list集合 list集合的特点: 1.有序的集合,存储的元素和取出的元素都是一致的 2.有索引,包含了一些带索引的方法 3.运行存储重复的元素 list集合中特有的方法: add,get,remove,set 注意: 操作索引的时候,一定要防止索引越界异常 案例: public class aa 阅读全文
posted @ 2022-07-06 11:25 一位程序袁 阅读(85) 评论(0) 推荐(0)