感谢sikiedu.com的siki老师.几年前就开始看siki的课程,最近突然想写这个笔记系列,顺便回顾一下这些基础的知识,同时也希望能帮助到一些人,有问题一起交流哈. 全文共十章,大约1.5万字,适合清扫知识点盲区之用.知识点覆盖全面,涵盖绝大多数基础内容. 第一章 基础知识 1-1 DOS命令(Windows) 操作计算机的两种方式 图形化界面 DOS(磁盘操作系统)DOS就是人给计算机下达命令的 打开DOS cmd window+R 1-2 常用DOS命令(输入命令后按下回车) ----…
学习路径20-27的所有源代码都可以在此下载 https://www.aliyundrive.com/s/cg8jTRbg6vy HashSet.TreeSet中,Set表示集合,特性在于:无序的.不重复的. 我们通过一个实例快速学习HashSet的内容 import java.util.HashSet; import java.util.Iterator; public class HashSetDemo { public static void main(String[] aa){ Hash…
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------…
import java.util.Timer; import java.util.TimerTask; public class TimerClass { public static void main(String[] args) { Timer t = new Timer(); //延迟2000ms后执行 t.schedule(new MyTimerTask(),2000); //延迟2000ms后执行,然后每间隔2000ms重复执行 t.schedule(new MyTimerTask()…
与上一章学习的线程锁synchronized类似,都是为了解决线程安全的问题. 使用方法: 新建一个ReentrantLock对象.(如果使用Thread多线程,则需要声明static静态) 然后在需要加锁的代码块前面加如语句: lock.lock();//加锁 然后加上try catch语句.原因是如果加锁的语句出现异常,就会导致后面的解锁语句无法执行! 在finally中写解锁的语句: lock.unlock(); 全部代码如下: import java.util.concurrent.lo…
线程安全问题: 简单来说,就是多个线程在操作同一个变量时引起的问题. 这里是用一个简单的例子说明一下: 以Runnable创建的线程为例:一个售票系统,count代表当前票数,卖出一张count--. Runnable线程类: public class Runnable_Exp implements Runnable{ private int count = 50; @Override public void run() { while(true) if(count >= 0){ System.…
这一章,我们学习线程的创建.线程的启动.线程的名字设置.线程的休眠.线程的加入.守护线程. 一个线程是一个单独的类的对象. 想让一个普通的类变成多线程,那么这个类需要继承Thread. 创建多线程的步骤: 1.创建一个类 2.使这个类继承自Thread 3.在类中重写run方法 4.在主线程main中调用这个类的start()方法 注意:我们调用这个多线程的类是使用start()方法,而不是run()方法. 这个是我们多线程类: public class MyThread extends Thr…
总结 说白了,字节流就是处理类似图片文件.视频文件这些不能直接用记事本打开看的明白的文件. 字符流就是处理可以用记事本直接看的文件. 无论是字节流还是字符流,都有有输入输出两类.(废话) 如果要读取字节流,我们一般使用FileInputStream就可以了,如果需要设置缓冲区大小,那就用BufferedInputStream.   读取的时候,我们一般使用数组读取.这样能有效减少程序与硬盘交互的时间,提高效率.(或者使用缓冲区,但是无论是否使用缓冲区,我们都最好使用数组读取) 一般我会这样读取:…
获取文件路径的时候,我们发现有两个方法,getAbsolutePath和getPath两个方法. 前者是获取绝对路径,后者是相对路径. 绝对路径指的是完整路径,从盘符开始. 相对路径指的是从java当前项目的文件夹开始. 上一节我们创建的文件都是绝对路径创建的,因为我们指定了完整的路径(macOS系统和Windows系统可能稍微有不同,但是原理是一样的). 我们可以直接创建 //相对路径 File relativePath = new File("RelativePath"); rel…
1. 自定义异常: 考试成绩必须在0-100之间 很明显java没有对应的异常,需要我们自己来做一个异常 自定义异常 继承自Exception 继承自RuntimeException 下面是一个代码示例: package cn.itcast_08; /* * java不可能对所有的情况都考虑到,所以,在实际的开发中,我们可能需要自己定义异常. * 而我们自己随意的写一个类,是不能作为异常类来看的,要想你的类是一个异常类,就必须继承自Exception或者RuntimeException * *…