JavaSE
文章平均质量分 85
搭环境,学Java基础知识;查API
程序奇男子
面向毕业,学习JavaEE,分享自己的编程学习和经验。
将JavaEE技术内容学习以文档、项目代码、图像等多种呈现形式,以帮助读者理解和应用这些知识。
持续更进最新内容。
展开
-
软件开发基础、Java开发环境搭建、编写第一个Java程序--学习JavaEE的day01
什么是JavaEE:接收到客户端的请求,并通过响应返回给客户端数据的技术 常有的开发语言写Java代码工具:JDK(Java开发工具包)环境:JRE(Java运行时环境)软件基础,初步学习有一定的认知搭建环境(JDK、JRE、环境变量)编写Java代码(工作空间的概念,写代码,编译运行的过程)编写第一个Java程序代码 笔记 学习经验原创 2024-02-25 17:00:29 · 870 阅读 · 0 评论 -
反编译工具、Hello程序的扩展、Java编码规范、Path的作用、Java、编写代码的工具、编码问题、关键字、标识符、变量、基本数据类型及转型--学习JavaEE的day02
学会md文档的编写Hello的细节Java编码规范IDE及编码问题关键字、标识符 --重点变量 – 重点基本数据类型(使用、深入) – 重点基本数据类型的转型notenotepa++安装与使用学习资料见文章绑定资源。原创 2024-02-25 18:22:09 · 752 阅读 · 0 评论 -
运算符、Scanner--学习JavaEE的day03
1.运算符(理解、使用、特殊点、经典面试题)算术运算符:+、-、、/、%、++、–赋值运算符:=、+=、-=、=、/=、%=关系运算符:==、!2.Scanner – 重要3. 学习资料见文章绑定资源。原创 2024-02-26 14:56:13 · 302 阅读 · 0 评论 -
运算符、字符串拼接符--学习JavaEE的day04
1.逻辑运算符 – 结果都是boolean类型2.字符串拼接符3.三目运算符 – 注意:返回值规则、需求、面试题4.位运算符 – 注意:理解运算过程。原创 2024-02-26 15:15:52 · 580 阅读 · 0 评论 -
深入乱码、字节码文件解析、位运算符的面试题、转义字符、常量、Java的执行语句(顺序语句、分支语句、循环语句、特殊的流程控制语句)--学习JavaEE的day05
1.转义字符:具有特殊意义的字符本身2.常量:程序在执行过程中不可发生改变的量2.1 数字字面量2.2 字面值常量2.3 final修饰的变量扩展:驼峰命名法3.分支语句3.1 if分支3.2 switch分支(注重底层)3.3 if vs switch(表达式的区别、应用场景的区别)4.for循环4.1 使用4.2 for循环嵌套。原创 2024-02-26 15:43:00 · 1235 阅读 · 1 评论 -
续Java的执行语句--学习JavaEE的day06
1.for循环嵌套 – 重要!!!2.while和do-while4.特殊的流程控制语句 – break。原创 2024-02-27 16:29:42 · 528 阅读 · 0 评论 -
续Java的执行语句、方法--学习JavaEE的day07
1.特殊的流程控制语句continuereturnlabel – 面试题2.方法概念分类(如何去理解参数和返回值)无参数无返回值的方法带参数的方法带返回值的方法。原创 2024-02-27 16:30:42 · 452 阅读 · 0 评论 -
方法的重载、方法的递归、万年历--学习JavaEE的day08
1.方法的重载理解条件(记清楚)好处应用场景2.方法的递归概念经验:找规律、找出口递归画图案例(重要):阶乘、不死神兔-斐波拉切数列(黄金分割数列)3.万年历 – 流程、思路4.方法版本的万年历 – 何时封装成方法。原创 2024-02-28 18:46:05 · 410 阅读 · 1 评论 -
一维数组、内存理解图--学习JavaEE的day9
一维数组概念数组的声明数组的初始化:静态初始化、动态初始化。原创 2024-02-28 18:47:44 · 599 阅读 · 1 评论 -
eclipse的安装与使用、一维数组(排序,查找,复制,扩容,删除 )、数组作为参数,返回值、可变参数、Arrays工具类、二维数组、五子棋--学习JavaEE的day10
1.数组的排序和查找 – 了解2.数组的复制、扩容、删除 – 重要3.数组作为参数、返回值4.可变参数 – 重要5.Arrays工具类 – 理解工具类的概念6.二维数组 – 注重理解7.五子棋。原创 2024-02-28 18:51:35 · 581 阅读 · 1 评论 -
Java语言基础、Java的执行语句、方法、数组--回顾概要(day01-10)
注意:字面值常量和final修饰的变量存储在内存-常量池中,并且项目结束才会回收常量池中的数据。ps:public(公有的)、static(静态的)、void(无返回值)含义:给类、变量、方法、接口取名字的时候使用到的字符序列。分类:无参数无返回值的方法、带参数的方法、带返回值的方法。赋值运算符:=、+=、-=、*=、=、%=关系运算符:==、!=、>、>=、<、<=算术运算符:+、-、*、/、%、++、–位运算符:&、|、^、<<、>>、>>>组成:大小写字母 、数字、$、_、中文。原创 2024-02-29 16:23:12 · 251 阅读 · 0 评论 -
二维数组的练习题、初识面向对象--学习JavaEE的day11
1.二维数组的练习题 – 二维数组扩容2.根据回顾文档复习 – (1~10day的内容)3.初识面向对象 – 根据面向对象文档开始一系列面向对象知识的学习。原创 2024-02-29 16:25:29 · 963 阅读 · 0 评论 -
面向对象学习概要、后面会总结此知识点学习全内容(day11-20)
现实生活: 类:抽象的概念,把具有相同特征和操作的事物归为一类 先有实体,再有类的概念代码世界: 类:抽象的概念,把具有相同属性和方法的对象归为一类 编写顺序:先有类,再创建对象 类的作用:类相当于一个模板,刻画出具有相同属性和方法的对象。原创 2024-02-29 16:24:17 · 900 阅读 · 0 评论 -
初识面相对象深入理解、构造方法--学习JavaEE的day12
1.练习题 – 编写动物园类2.初始面向对象深入理解 class文件只加载一次 每个对象的成员变量独享一份,对象存成员变量 方法要调用时才在栈内存开辟空间3.构造方法 – 重要4.this – 哪个对象调用该方法,该方法中的this就表示该对象。原创 2024-02-29 16:30:48 · 628 阅读 · 0 评论 -
private、封装、面向对象五子棋、this - 本对象、分包、static(工具类,jar包导出,导出API、eclipse注释快捷键)、类加载机制--学习JavaEE的day13
1.private关键字 – 私有化修饰属性:属性不能被外界访问修饰方法:方法不能被外界访问2.封装步骤:1.私有化属性2.get/set方法注意:理解封装的概念3.面相对象版本的五子棋a.私有化属性的业务场景b.私有化方法的业务场景c.状态码 – play方法的返回值4.statica.修饰属性b.修饰方法(注重MyArrays,导出Jar包、导入Jar包、导出API)c.静态代码块5.类加载机制(注重加载过程和面试题)原创 2024-03-01 16:36:30 · 686 阅读 · 0 评论 -
继承(使用及深入、super、重写/复写)--学习JavaEE的day14
1.继承的使用2.继承的深入 — 重要3.super4.重写。原创 2024-03-01 16:36:44 · 571 阅读 · 0 评论 -
访问修饰符、Object(方法,使用、equals)、查看equals底层、final--学习JavaEE的day15
1.访问修饰符 – 一定要去做实验2.Object的概念equalsgetClasshashCodetoString3.Object的使用子类重写equals和toString4.MyString – 重要!!!5.final - 最终的修饰类,类不能被继承修饰方法,方法不能被重写修饰变量,变为常量。原创 2024-03-02 17:26:01 · 921 阅读 · 0 评论 -
抽象类及抽象方法、多态(类,接口)、对象转型(自动,强转)、内部类(成员,静态,接口,局部,匿名内部类)、eclipse里查看class文件(class反编译可查看底)--学习JavaEE的day16
关键字,用来修饰类和方法不能与final,static,private一起修饰,不能被重写1.抽象类及抽象方法2.接口3.思考题:抽象类与接口的区别4.多态 – 重要!!!5.对象转型(向上转型、向下转型)6.内部类(成员内部类,静态内部类,接口内部类,局部内部类,匿名内部类)1.注重使用2.注重局部内部类的面试题3.注重匿名内部类的内存图。原创 2024-03-02 17:26:15 · 833 阅读 · 0 评论 -
面向对象简单学生管理系统--day17
学生管理系统1.需求分析2.项目搭建3.添加功能4.删除功能思考题:删除功能可以省略第一步吗??提升题:考虑如何实现查询功能。原创 2024-03-03 15:38:52 · 838 阅读 · 0 评论 -
续简单学生管理系统、包装类--day18
1.学生管理系统 – 删除的思考题2.学生管理系统 – 查询功能3.包装类概念出现原因手动装箱、手动拆箱自动装箱、自动拆行深入Integer的底层原理 – 重要!!!!4.学生管理系统 – 修改功能。原创 2024-03-03 15:39:31 · 903 阅读 · 0 评论 -
常用类(包装类、字符串相关类、正则表达式( PM)、日期时间类、Math类、 Random类、System类、Runtime类、大数值运算类( BigInteger,BigDecemal))
java常用类.docjava常用类总结:1.包装类(day18)注意:1.装箱、拆箱2.Integer的底层原理2.字符串的类注意:字符串类的深入3.正则表达式 - 了解4.日期时间类5.Math注意:静态导入的概念6.Random注意:种子数7.System注意:理解System.out和System.err多线程抢资源8.Runtime9.大数值运算类。原创 2024-03-04 15:24:17 · 1037 阅读 · 0 评论 -
面向对象知识点--全学习内容(day20)阶段测试题见资料
学习过的面向对象内容梳理原创 2024-03-04 15:26:39 · 1044 阅读 · 0 评论 -
枚举使用及深入、枚举案例(对以前写过的学生管理系统中状态码是使用for嵌套,使用枚举进行优化)--学习JavaEE的day21-22
枚举(受限制的类)1.引入、概念、语法、本质、特点、优势枚举的方法2.深入 手撕枚举底层源码–重要 switch判断枚举底层源码–枚举编号从0开始,个数编号从1开始;底层会创建一个枚举个数的数组 – ai[1,2,3,4] switch判断String底层源码–先判断hash值,然后再判断两个字符串是否相同(equals)【字符串哈希值可能相同】3.枚举案例:状态机、错误码、组织枚举、策略枚举–难点4.枚举工具类 - EnumSet 和 EnumMap(集合学完后再进行)原创 2024-03-05 17:24:34 · 1134 阅读 · 0 评论 -
集合【Collection家族、Map家族(待学习补充)、泛型、迭代器及其底层原理(*)、比较器接口】,极小部分代码在day22--学习JavaEE的day23
1.集合2.泛型3.手撕迭代器底层4.Collection家族(1)List接口和ArrayList使用一致栈模式、队列模式Vector:和ArrayList的数据结构一致(一维数组),但是Vector是线程安全的(加锁)Vector有老的方法Stack:Vector的子类栈模式(2)Set接口HashSet:数据结构:一维数组+单向链表特点:无序+去重注意:理解为什么无序,为什么去重数据结构:一维数组+单向链表+双向链表特点:有序+去重。原创 2024-03-06 18:21:50 · 1185 阅读 · 0 评论 -
TreeSet(继Collection家族Set接口下)、内置比较器:Comparable - compareTo()、 外置比较器:Comparator - compare()、Map家族下Hash
1.TreeSet使用特点(TreeSet的排序规则是怎样实现的 – 思想)内置比较器外置比较器2.HashMap使用、注意事项、面试题、特点。原创 2024-03-07 23:19:08 · 429 阅读 · 0 评论 -
LinkedHashMap、Hashtable、ConcurrentHashMap、(Map家族下的几个比较)、TreeMap(内置比较器、外置比较器)、Properties、Collections
存入null键:应用场景:HashMap:无序 + 去重LinkedHashMap:有序+去重Hashtable:无序 + 去重 + 线程安全(方法里加锁,效率低,已弃用)ConcurrentHashMap:无序+去重+线程安全(局部加锁+CAS,效率高,推荐使用)5.TreeMap(内置比较器、外置比较器;比较器接口day24介绍全)6.Properties – 配置文件类7.Collections – 集合的工具类。原创 2024-03-08 14:33:33 · 737 阅读 · 0 评论 -
集合实现类研究底层(部分):手撕ArrayList底层源码、手撕LinkedList底层源码、手写单向链表和双向链表
手撕实现类1.手撕ArrayList底层源码2.手撕LinkedList底层源码ArrayList 和 LinkedList的效率区别手写单向链表手写双向链表。原创 2024-03-09 22:34:31 · 719 阅读 · 0 评论 -
集合实现类研究底层(部分):手撕Vector、Stack、HashSet、TreeSet底层源码,涉及红黑树
3.手撕Vector底层源码扩容机制4.手撕Stack底层源码5.手撕HasSet底层源码 – 了解底层由HashMap实现6.手撕TreeSet底层源码底层由TreeMap实现重点关注构造方法7.手撕TreeMap底层源码理解红黑树添加元素的过程。原创 2024-03-10 19:09:28 · 818 阅读 · 0 评论 -
红黑树画图理解
红黑树红黑树(Red Black Tree) 是一种自平衡, 即一种特化的AVL树(与平衡二叉树不同的是,红黑树是弱平衡二叉树,即它的左右子树高度差有可能大于1,但不超过一倍。平衡二叉树:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树节点的平衡因子,它指的是该节点的两个子树,即左子树和右子树的高度差,即用左子树的高度减去右子树的高度,如果该节点的某个子树不存在,则该子树的高度为0,如果高度差的绝对值超过1就要根据情况进行调整。二叉树。原创 2024-03-11 23:13:53 · 502 阅读 · 0 评论 -
手撕HashMap底层源码 (JDK1.7版本的HashMap)
手撕HashMap底层源码JDK1.7版本的HashMap,切换版本原因:jdk1.7和jdk1.8的HashMap不同(头插法/尾插法)HashMap理解图init();的作用;面试题原创 2024-03-14 23:39:53 · 424 阅读 · 0 评论 -
手撕HashMap底层源码(学习内容全)
注重面试题原创 2024-03-16 21:04:24 · 655 阅读 · 0 评论 -
异常机制(概念、出现原因 、处理的机制 、处理的能力)
2.异常异常的概念异常的分类异常处理机制 – 面试题异常处理的能力:1.try…catch…2.throws3.throw原创 2024-03-17 16:28:32 · 1255 阅读 · 0 评论 -
多线程【线程与进程、线程的优先级别、自定义名称、休眠】(部分)
3.多线程进程的概念线程的概念创建线程的方式(线程类、任务类)线程的优先级别给线程命名线程的休眠原创 2024-03-18 20:35:44 · 960 阅读 · 0 评论 -
多线程【线程的礼让、合并、中断、守护线程、局部变量共享、线程生命周期】(剩余部分)
1.线程的礼让 – yield2.线程的合并 – join3.线程的中断4.守护线程5.线程局部变量共享 – 重要理解ThreadLocal底层原理6.线程生命周期 — 重要线程生命周期图原创 2024-03-20 18:04:08 · 978 阅读 · 0 评论 -
多线程合并练习题,线程安全(售票任务引入)--学习JavaEE的day30
1.练习1线程合并(线程类、任务类)2.买票的案例 – 线程安全 (重要)3.理解对象内存结构原创 2024-03-25 17:41:45 · 1096 阅读 · 1 评论 -
线程安全(买票案例):加锁方式(synchronized、Lock锁)【同步代码块、同步方法】--学习JavaEE的day31上
1.线程安全 — 买票案例synchronized代码块synchronized方法(成员同步方法、静态同步方法)Lock锁注意:1.加锁的方式2.锁对象(多个线程去操作同一把锁才能互斥住)原创 2024-03-26 18:33:11 · 1104 阅读 · 0 评论 -
线程安全 :(单例模式:懒汉式、饿汉式、枚举饿汉式、双重检测单例模式(volatile))、ArrayList、可重入锁、死锁--学习JavaEE的day31中
2.线程安全 — 单例模式懒汉式饿汉式枚举饿汉式双重检测单例模式 — (项目中使用,注意volatile的含义)3.线程安全 — ArrayListVector — synchronizedCollections.synchronizedList() — synchronizedCopyOnWriteArrayList — Lock4.可重入锁5.死锁原创 2024-03-27 10:08:45 · 651 阅读 · 0 评论 -
生产者消费者模型、仓储模型--学习JavaEE的day31下
6.生产者消费者模型 – wait()/notify()/notifyAll()7.仓储模型 – wait()/notify()/notifyAll()原创 2024-03-28 15:28:50 · 874 阅读 · 0 评论 -
Java自带的线程池及调用、ThreadPoolExecutor类(线程池的7大参数)、任务队列及底层原理
1.Java自带的线程池单个线程的线程池指定线程个数的线程池可缓存的线程池延迟任务的线程池2.线程池的7大参数核心线程数最大线程数任务队列(有界、无界、同步、优先队列)拒绝策略闲置时间时间单位线程工厂3.线程池的调用步骤(核心线程、任务队列、普通线程、拒绝策略)4.任务队列及底层原理(有界、无界、同步、优先队列)原创 2024-03-29 23:47:52 · 1248 阅读 · 0 评论 -
自定义线程池(线程工厂、拒绝策略)、带有返回值的任务类、File类(引入)
1.自定义线程池自定义线程工厂自定义拒绝策略2.带有返回值的任务类 --Callable3.File关注文件信息,而非文件内容相对路径和绝对路径的区别原创 2024-03-30 20:16:08 · 1119 阅读 · 0 评论