自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 File - 文件

Input — 读文件Output — 写文件路径绝对路径:1、 window — C:\xx\xx…(从盘符开始)2、 Linux — /xx/xx (从根目录开始)相对路径:会有一个参照对象例:参考值: /Users/bonnie/Desktop相对路径是: a.txta.txt的真实路径: /Users/bonnie/Desktop/a.txt. (当前目录) - 现在的参考值两点 (上一级目录) - 现在的参考值 往上一层 File file = new F

2020-07-31 19:27:23 199

原创 线程池

线程池什么是线程池线程池是一种多线程处理形式,处理过程中将任务提交到线程池,任务的执行交由线程池来管理**(执行多个线程的一个线程集合体)**线程的作用1、重用存在的线程,减少对象创建、消亡的开销,提升性能2、可有效控制最大并发线程数,提高系统资源的使用率,同时避免过多资源竞争,避免堵塞3、提供定时执行、定期执行、单线程、并发数控制等功能4、限制系统中执行线程的数量Executors提供的四种常见线程池线程池的顶级接口是Executor,但Executor并不是一个线程池,而只是一个执行线

2020-07-30 20:52:25 130

原创 JavaSE细碎知识(Lambda表达式、函数式接口、注解、可变长参数、JUnit)

Lambda表达式JDK1.8之后 - 函数式编程思想面向对象思想: 什么对象, 做什么, 结果是什么函数式编程思想: 强调做什么,而不是以什么形式做语法: (参数列表) -> {一些代码}(参数列表): 表示要重写的抽象方法的参数列表-> : 固定语法, 指向/传递的意思{一些代码}: 要重写的方法体使用Lambda前提:1.实现一个接口2.接口中只有一个抽象方法3.接口对象是作为方法参数使用的Lambda 取代匿名内部类匿名内部类: 本质还是类, 编译后

2020-07-30 20:03:04 282

原创 线程

线程线程的父类: Thread程序: 安装的软件, 例如: QQ、WeChat …进程: 在运行的程序线程: 进程中多个同时在执行的任务主方法程序运行就是打开了一个进程, 进程中至少存在一个线程 - 主线程多线程方法1、通过自定义线程类, 继承 Thread// 步骤1. 自定义的线程类, 继承 Threadpublic class MyThread extends Thread { // 步骤2: 重写run方法, 线程要执行的任务 public void run() {

2020-07-30 19:30:56 203

原创 HashMap、Hashtable、LinkedHashMap、TreeMap、ConcurrentHashMap区别

HashtMap底层实现: 数组+链表 ,即元素是链表的数组HashMap主干是一个Entry数组,Entry是HashMap的基本组成单元,每一个Entry包含一个key-value键值对HashMap 是基于散列表,并且用拉链法来解决哈希冲突的。不过当链表的元素个数超过一个阀值( static final int TREEIFY_THRESHOLD = 8; )的时候,会将链表转换为红黑树,所以如果哈希冲突多的话,数组的元素将会是红黑树。是无序的、效率高、允许null key和nul

2020-07-29 20:51:03 328

原创 异常

异常Error(错误)Exception(异常)1、RuntimeException(运行时异常 :可以不处理, 也可以处理, 也叫未检查异常)(常见的:ArrayIndexOutOfBoundsException、ClassCastException、NullPointerException)2、已检查异常(必须处理, 也叫编译时异常)(常见的:ParseException、IOException、UnsupportedEncodingException)异常基本知识1、遇到未处理

2020-07-28 22:32:04 233

原创 集合:Map

Map - 双列集合实现类:HashMap、TreeMap映射表: key — value常用APIput、remove、get Map<Integer, String> map = new HashMap<>(); // 1.向map集合中添加元素 key-value String s = map.put(3, "张三"); map.put(4, "张三"); map.put(1, "张三");

2020-07-28 21:51:31 81

原创 集合:Collection(List、Queue、Set)

Collection是接口常用APIadd、remove、contains、isEmpty、clear Collection<String> col = new ArrayList<>(); // 添加元素 col.add("haha"); col.add("xixi"); col.add("heihei"); System.out.println(col); // [haha, xi

2020-07-27 20:48:05 203

原创 Java数据结构(存储数据的方式)

数组数组和链表的优劣势比较:数组的物理空间连续, 碎片化空间使用不彻底链表物理空间不连续, 空间使用彻底链表只能从head开始访问, 访问效率低数组可以随机访问任意元素, 访问效率高链表插入/移除元素, 只需要操作1~2个元素, 效率高数组插入/移除元素, 涉及到大量元素的移动, 效率低链表单链表// 单向链表public class SingleLinked<T> { // 结点类型(成员内部类) private class Node {

2020-07-24 19:07:24 583

原创 泛型

泛型接口/类<泛型/类型>例: // 不加<> 代表的就是Object Collection col = new ArrayList(); col.add(1); col.add(1.1); col.add("hello"); col.add(new Date()); col.add(Calendar.getInstance()); Iterator

2020-07-23 20:07:11 93

原创 Api - 应用程序接口、常用类、 方法(Object、Date、Calendar、DateFormat、String、StringBuilder、包装类)

Object所有类的父类Class getClass()通过对象的该方法,可以获得对象对应的类的字节码对象Object clone() - 克隆、赋值调用方法的对象, 需要类实现Cloneable接口深克隆:复制一份全新的, 属性内容一致的对象浅克隆:复制的是引用wait() - 与线程有关(有三个)notify() / notifyAll() - 与线程有关void finalize()清理内存时自动调用GC: 垃圾回收机制, 定时清理内存也可以手动调用: Syste

2020-07-21 22:38:28 202

原创 Java(窗口显示 - JFrame、画板 - JPanel、定时器 - Timer、监听器、读取图片ImageIO、窗口布局)

窗口显示JFrame// 空参构造方法 -> 创建一个原始的很小的窗口JFrame window = new JFrame();// 设置窗口标题window.setTitle("飞机大战");// 有参构造方法 -> 参数:窗口标题//JFrame window = new JFrame("飞机大战");// 设置窗口大小window.setSize(400, 650);// 设置窗口的默认关闭选项 0~3window.setDefaultCloseOperation(JF

2020-07-18 23:44:10 832

原创 Java(访问控制符/权限修饰符 - public\protected\(default)\private))

访问控制符/权限修饰符修饰: 类、 [静态]成员变量、 [静态]成员方法、 构造方法同一类中:public、protected、(default)、private同一包中(子类与无关类):public、protected、(default)不同包的子类:public、protected不同包的无关类:public权限范围由大到小: public>protected>(default)>private(default):不常用, 练习时为了省略代码public: 想要提供

2020-07-16 22:30:28 136

原创 Java(内部类)

内部类成员内部类权限: public、protected、(default)、private内部类和外部类有同名成员变量外部类的成员变量: 外部类.this.变量内部类的成员变量: this.变量// 外部类public class Body { public void walk() { System.out.println("身体在行走"); // 外部类中, 直接创建内部类对象 Heart heart = new Heart();

2020-07-15 20:22:00 106

原创 Java(this、super)

this表示当前对象 — 这个对象this可以调用自己的成员变量, 当成员变量和临时变量重名时, this不能省this也可以调用自己的成员方法, this可以省略this也可以调用自己的构造方法, this(参数), this不能省只能放在构造方法的第一行【不能同时调用】this(“无名”, 100, null);this(); Student() {// this("无名", 100, null); } Student(String name

2020-07-13 20:52:51 76

原创 Java(static - 静态的、abstract - 抽象的、final - 最终的)

static修饰成员变量属于类的, 所有对象共用通过(类名.)调用只有一个修饰方法在静态方法中, 不能直接使用普通成员变量和成员方法在普通方法中, 可以直接使用静态变量和静态方法修饰代码块静态代码块 — 给类初始化在类加载时执行的作用: 用来执行消耗比较大的代码/** * 静态的成员变量: * 1.属于类 * 2.通过类名. 调用 例如 Child.money * 3.只有一个 * * 普通成员变量: * 1.属于对象 * 2.

2020-07-13 20:35:04 167

原创 Java(extends - 继承、implements - 接口、多态、方法重写\覆盖)

extends - 继承概念:子类/衍生类/扩展类父类/基类子类继承父类, 就继承了父类所有的成员变量和方法,不能继承构造方法,只能调用所有的类, 都有唯一的父类如果没有写父类, 说明父类就是 Object子类中还可以定义自己的独特的成员变量和方法子类的功能一定比父类要强大public static class A extends Object{} public static class B extends A {} public static class C extends A

2020-07-13 20:23:59 962

原创 Java(方法、 API [应用程序接口---类] )

类的学习方法构造方法 ----- 如何创建对象成员变量 ----- 基本可以忽略成员方法 ----- 功能Java程序中,默认import的软件包就是 java.lang常用类(一). Random: 构造方法 new Random()1、int nextInt()产生一个随机整数// 1.创建Random对象Random ran = new Random();// 2.使用方法int a = ran.nextInt();2、boolean nextBoolean

2020-07-10 22:13:27 309

原创 Java(面向对象oop、方法重载、构造方法/构造器、变量和成员变量的区别)

面向对象(oop)一切皆对象, Java操作的基本单位就是对象类/类型: 所有同种对象共同的特征和行为, 抽象出来成为类对象: 符合类的实例化个体类和对象的关系: 先定义/声明 类, 然后再创建对象**class: 类/类型 和int功能一样引用public class Student { // 成员变量 -> 可以不用初始化, 默认初始值 // 默认初始值: 基本数据类型:0 引用类型:null String name; int age; //

2020-07-09 19:38:15 168

原创 猜字母游戏(Java方法的简单使用)

猜字母游戏/* * 猜字母游戏: * 1.生成5个随机字母 -> 字符数组 * 2.猜字母 -> 控制台输入字符串, 转换成了字符数组 * 3.比较两个字符数组, 得到字符正确个数, 位置正确个数 * 4.如果没猜对, 继续重复2和3步 */import java.util.Arrays;import java.util.Scanner;public class Demo03GuessGame { public static void main(String[] ar

2020-07-08 19:42:09 1128

原创 Java基本知识(数组、数组扩容、引用类型的数组)

数组最基本的一种数据结构 — 数据的排列方式, 数组是第一种引用类型基本数据类型: byte\short\int\long\float\double\char\boolean数组的初始化数组的类型是固定的, 只能存相同类型的数据数组一旦确定, 数组的长度是不可变的:arr.length数组元素: 通过下标/索引 indexindex范围: 0 ~ length-1访问\赋值:arr[index]数组遍历/迭代: for循环 // 数组的声明 int[]

2020-07-08 19:39:44 211

原创 Java的逻辑控制语句(顺序、条件分支、循环)

一、顺序语句二、条件分支语句1、if2、if…elseif (sroce == 100) { System.out.println("1111"); System.out.println("2222");} else { System.out.println("3333");}3、if…else if…else if…elseif (score == 100) { System.out.println("A+");} else if (score &gt

2020-07-07 19:17:09 252

原创 Java基本知识(变量、运算符)

Java:服务器端开发 B/SHelloWorld程序/* 一个文件名中最多只能有一个public修饰的类 可以有多个类 public修饰的这个类,名字必须和文件名相同*///public:修饰词——修饰的是class//class:类——文件public class HelloWorld{ //程序入口——主方法main——固定写法 public static void main(String[] args) { //要执行的代码第一行

2020-07-07 00:08:19 186

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除