摘要: 一、计算机->右键->属性。 二、高级系统设置。 三、选择环境变量。 四、【系统变量】为全局生效,在其下面添加JAVA_HOMR,执行bin文件夹的上一级,然后点击确定。 五、选择Path编辑。 六、在最前面添加代码如下,然后确定。 %JAVA_HOME%\bin; 七、将之前开着的所有窗口,全部确 阅读全文
posted @ 2021-09-10 14:57 饮木 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 一、自行下载jdk1.9安装包。 二、双击运行,下一步。 三、因为jdk中自带一个jre,所以公共的jre可以不用安装。安装的路径不推荐有空格和中文,可能造成乱码和转义等问题,可以安装到自己想安装的位置。 四、点击关闭。安装完成。 五、检验JDK是否安装成功。cmd中执行命令,执行刚安装jdk文件夹 阅读全文
posted @ 2021-09-10 14:13 饮木 阅读(944) 评论(0) 推荐(0) 编辑
摘要: 一、创建线程类。 public class RunnableImpl implements Runnable{ @Override public void run() { System.out.println("1"); } } 二、主方法。 public static void main(Stri 阅读全文
posted @ 2021-09-06 16:43 饮木 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 一、模拟线程不安全场景。 public class MyRunnable implements Runnable { private int a = 100; //共享的数据 @Override public void run() { while (true) { if (a > 0) { //多个 阅读全文
posted @ 2021-09-02 15:52 饮木 阅读(48) 评论(0) 推荐(0) 编辑
摘要: Thread类实现多线程。 一、创建多线程实现类。 public class MyThread extends Thread { //继承Thread类 public MyThread() { } public MyThread(String name) { //通过构造函数设置线程名称 super 阅读全文
posted @ 2021-09-02 10:37 饮木 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 可变参数 一、JDK1.5之后出现的新特性。 二、使用场景:方法的参数列表中,数据类型确定,但参数个数不确定时,使用可变参数。 三、底层实现:就是转换为了一个数组。 注意事项: 1、一个方法的参数列表只能有一个可变参数。 2、如果方法的参数有多个,那么可变参数必须写在参数列表的末尾。 简单使用 pu 阅读全文
posted @ 2021-09-01 15:56 饮木 阅读(214) 评论(0) 推荐(0) 编辑
摘要: HashSet 一、存储元素是无序的。注:无序指的是不按添加的顺序存储。 二、HashSet集合的数据结构是:哈希表 1、JDK1.8之前是:哈希表 = 数组 + 链表 2、JDK1.8之后是:哈希表 = 数组 + 链表 如果元素有哈希(值)冲突,导致根据哈希值分组之后的元素超过8个。链表就会变成红 阅读全文
posted @ 2021-09-01 15:07 饮木 阅读(934) 评论(0) 推荐(0) 编辑
摘要: 一、栈:先进后出 二、队列:先进先出 三、数组:查询快、增删慢。 1、查询快:数组在内存中是连续存放的,可以通过索引下标迅速定位元素。 2、增删慢:数组的长度是固定的,增删数组都会创建新的数组。 四、链表:查询慢、增删快。 1、单向链表(无序) 2、双向链表(有序) 五、红黑树:查询速度非常快。很类 阅读全文
posted @ 2021-09-01 13:51 饮木 阅读(35) 评论(0) 推荐(0) 编辑
摘要: Iterator Collection<String> coll = new ArrayList<>(); coll.add("a"); coll.add("b"); Iterator<String> it = coll.iterator();//指针指向集合的-1索引 while (it.hasN 阅读全文
posted @ 2021-09-01 09:40 饮木 阅读(100) 评论(0) 推荐(0) 编辑
摘要: IFUNLL(a,0) ISNULL(字段,0) 阅读全文
posted @ 2021-08-23 09:13 饮木 阅读(428) 评论(0) 推荐(0) 编辑