![](https://img-blog.csdnimg.cn/60ee9d0281d2425b9b76bf0a6812cd46.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JAVA黑马程序员笔记分享
文章平均质量分 82
该笔记适用于有Java些许基础的同学用来巩固哦
准大三,在大二暑假学校实训时发现有很多爪哇基础知识没有打牢固。所以在这个暑假在b站看黑马程序员亡羊补牢一下。在做笔记的同时顺便巩固一下知识。如果这些笔记能够对您有帮助,那将是我莫大的荣幸。
幻想Coya
大三信息院学生,目前在学习黑马算法与数据结构。希望我的博客能帮助到您查找知识点与复习。
闲话:
1.学完一百以内的加减乘除之后,好像不需要把所有情况都例举一遍。
2.以我目前的思想境界来看,我倒是更喜欢以【问题+解决办法】的方式去书写,解决问题的详细程度又需要斟酌呢……
3.倒是也很喜欢友人口中的:“做完了***就作数”,我想及格就行。先完成,再完美。
4.在github上能免费搭建网站,也或许是写博客有点费时间,想赶一赶学习进度,目前不再更新了。
5.希望能够充满热情对待世界。
展开
-
[JavaWeb学习日记]Vue工程,springboot工程整合Mybatis,数据库索引
Autowired。(文章内容一键提取只提取出来个autowired,好像...也行)原创 2024-03-12 20:03:17 · 999 阅读 · 1 评论 -
[JavaWeb学习日记]Ajax、Axios、Vue、Element与其案例
建立web工程。原创 2024-03-07 17:10:03 · 1124 阅读 · 1 评论 -
[JavaWeb学习日记]JSP+Cookie+Filter与登录+CRUD案例
如今JSP已不再是热门的前端工具,不建议深入学习,而Cookie与Filter可以了解了解通过maven建立web工程,工程目录如下,学习的内容为java代码以及两个jsp文件。原创 2024-03-05 14:04:03 · 901 阅读 · 0 评论 -
[JavaWeb玩耍日记]HTML+CSS+JS快速使用
目录一.标签二.指定css三.css选择器四.超链接五.视频与排版六.布局测试七.布局居中八.表格九.表单十.表单项实验项目目录: 必要文件new.css:原创 2024-02-29 13:12:24 · 967 阅读 · 0 评论 -
[JavaWeb玩耍日记]Mybatis快速入门与增删改查
实体类的属性与表的列名冲突不一样时,mybatis不能自动封装数据,导致查询结果某列为null 比如mysql表的列名为brand_name,java类中变量名为brandName。这个文件相当于为指定的mapper接口写具体实现,主要内容是写sql语句,还需要指定对应的接口(是哪一个mapper)与返回数据的类型(是哪一个pojo)目标:查询USER表中的所有数据与查询id为1的数据(以下内容有部分操作为非必要操作,有其余更多的解决方案,提出的问题仅用于加深记忆)原创 2024-02-26 11:29:28 · 998 阅读 · 0 评论 -
[JavaWeb玩耍日记]Web工程中使用HttpServlet请求数据与响应数据
4.对于重定向到Servlet的路径需要加项目名称(虚拟目录)在请求转发中不需要加项目名称。重定向,可先设置状态码302,再设置响应头Header为新地址,这里使用简化写法。2.访问该路径后,用不同的方式(post与get)发送请求分别用到什么方法?响应行(有响应状态码,200表示响应成功,404表示找不到资源)GET请求的请求参数在请求行中,POST请求参数在请求体中。案例有严重的缺陷(如输入为空也可注册),正常操作可注册登录。能偶获得请求行,请求头,请求传递的参数,请求的路径等信息。原创 2024-02-28 16:14:35 · 957 阅读 · 0 评论 -
[JavaWeb玩耍日记]Maven的安装与使用
maven安装目录-conf-settings.xml文件中内容全删了放下面这些(配置了jdk17)2.提供标准项目流程(编译-测试-打包-安装一条龙一键服务)package: 打包(产生jar包在target目录下)install:把当前项目安装到maven的本地仓库。1.创建新的Maven项目(选择快速开始的项目)同一生命周期内,执行后面命令,前面的命令也会执行。如果执行安装命令,会先执行编译-测试-打包命令。会把项目编译到新文件到target里面去。在项目结构处导入项目的pom文件即可。原创 2024-02-12 21:54:09 · 731 阅读 · 0 评论 -
[JavaWeb玩耍日记]JDBC(不常用)
项目结构。原创 2024-01-07 15:36:23 · 911 阅读 · 0 评论 -
[转生到Python世界就得拿出真本事!] Python速通:基础与容器
1.变量命名规范?print("1.变量命名最好是:全小写+下划线")# 2.常用的数字有哪些?print("2.常用的数字有小数,整数,真假")# 3.如何连接输出多个输出内容?print("3.输出内容之间用逗号隔开即可,输出数字abc:", a, b, c)# 4.True与False有值吗?是多少呢?print("4.True 值为1,False值为0", True == 1, False == 0)# 1.函数使用什么关键字定义?print("1.函数使用def关键字定义")原创 2023-10-21 16:25:50 · 83 阅读 · 0 评论 -
[Java算法日记]二分法
二分法大专题:七种表达方式与实战训练!原创 2023-10-08 16:44:50 · 194 阅读 · 0 评论 -
[JavaWeb玩耍日记] 数据库
mysql版本:5.7.24使用Navicat for MySQL辅助学习(2015年版),这个在粘贴本博客的快引用内容时会有额外的内容导致sql运行出问题,不过有影响的地方笔者已排除。原创 2024-01-06 11:28:28 · 1408 阅读 · 0 评论 -
[Java学习日记]日志、类加载器、XML、DTD与schema、XML解析、XPath、单元测试、Assert、BeforeAfter、注解、自定义注解、注解案例
自定义注解:结合反射使用能在变量上使用,也能在方法中使用//可以不写默认值??//如果注解中只有一个属性,就可以只写值,如压制警告@MyAnno(name = "啊?String bbb;@MyAnno(name = "啊?",age=20)System.out.println("方法一");System.out.println("方法二");原创 2023-12-09 00:09:22 · 960 阅读 · 0 评论 -
[java学习日记]反射、动态代理
反射:允许对封装类的成员变量、构造方法、成员方法获取出来然后进行操作,或者获取到如修饰符,名字等更加详细的信息。想要找某个核心人物做事情,需要先找它的代理人去说要做的事情,代理人里面也要有核心任务的方法。从字节码文件里面获取数据对象的内容:本类测试获取构造方法对象Constructor。传入的参数与返回的参数有什么特点?对于任意一个对象:把对象所有信息保存到文件当中,对于不同的对象都可以如此操作。为了程序的健壮性,不改变原有代码的功能,使用动态代理完成一些额外的事情。4.如何获取构造方法内的权限修饰符?原创 2023-12-08 11:39:31 · 859 阅读 · 0 评论 -
[Java学习日记] 网络编程拓展
1.多次使用对同一个套接字使用socket.getInputStream()获得的是同一个对象吗?这里需要注意这样获得的对象不是同一个对象,所以我这里就只用了一个输入流,一个输出流。使用文本块"""文本内容"""即可换行(JDK15引入)不用一个个加换行辣!问题:关掉由socket获取的io流时也会关闭socket,如何解决?使用的套接字对象与io流只用创建一次就行,通过循环进行多发多收。1.如果想要接受多个用户的上传的文件,应该怎么办呢?循环是不行的:只能一个个的处理用户,这里使用了多线程。原创 2023-12-07 21:52:34 · 342 阅读 · 0 评论 -
[Java学习日记]网络编程
如果电脑要发送消息:假如自己的Ip是192.168.1.100,如果发消息给自己这个IP,要先发送到路由器,再由路由器分配消息。比如在网吧中,不是每一台电脑都有一个公网的IP,一般是共享同一个公网IP,再由路由器给每台电脑分配局域网IP,由此节约IP。如果中间有很多0:就可以使用0位压缩表示法:FF01:0:0:0:0:0:0:1101->FF01::1101。(3).确定网络传输的规则:协议(数据在网络中的传输规则:如UDP,TCP,http,https,ftp)6.什么是IPv4,地址长度为多少位?原创 2023-12-01 11:10:59 · 1085 阅读 · 0 评论 -
[Java学习日记]多线程练习、线程池
自定义线程池 参数如下:1.核心线程数量(核心员工)2.线程中最大线程数量(包括临时员工)3.4.临时线程空闲时间与单位(临时员工存活时间)5.阻塞队列6.创建线程的方式7.要执行任务过多的解决方案创建临时线程的时机是在什么时候?阻塞队列满了之后才能创建,不是核心线程被占满了才创建,创建临时线程处理队伍之外的任务!3,6,60,TimeUnit.SECONDS,//时间单位。原创 2023-12-01 08:36:09 · 811 阅读 · 0 评论 -
[Java学习日记]多线程
2.一旦执行sleep()方法->就会变成计时等待状态,没有执行资格与执行权,停止计时等待状态之后->就绪状态,故睡眠状态结束之后还需要抢执行权。由Thread的子类实现的多线程使用的是不同的thread对象,调用run方法时来到了不同的类当中,需要写静态的同步方法。由runnable实现的多线程使用的是同一个runnable对象,调用run方法时都是调用的同一个对象中的变量和方法。新建:(创建线程对象):start()->就绪(有执行资格,没有执行权),抢到CPU执行权->运行。原创 2023-11-30 19:07:35 · 883 阅读 · 0 评论 -
[Java学习日记]IO流练习
15.存档需要存储数据:把数据序列化:需要路径,步数,空白位置,图片位置,包装成一个类:并实现Serializable接口。里面有特有方法store()可以把数据按照键值对的形式写到配置文件中,load()能够读取数据转换成集合。16.完成存档读档功能,需要注意存档文件的名字,修改界面上的存读档文字。5.如何在截取字符串中符合正则表达式的字串的时候只截取分组?2.在Java中,Properties是一个什么样的类呢?6.如何把集合中的部分数据取出删除(快速方法)?4.又有哪些方法表示只取前面的那部分?原创 2023-11-30 10:49:35 · 380 阅读 · 0 评论 -
[Java学习日记]高级IO流
Java会根据类里面的所有内容去生成一个序列号,如果修改的类的代码,版本号会变化,序列化和反序列化的版本号需要保持一致。如果在底层一次只读取一个字节,有缓冲区的字节流的速度依旧会慢于传递比较大的数组的无缓冲区的字节流的速度。创建对象需要关联基本流,读写数据的依然是基本流,缓冲流的读取效率更高,操作与基本流相似。字节缓冲流底层自带8KB的缓冲区:注意,缓冲流是高级流的一种,对基本流做了数据的包装。4.使用字节流创建转换流,再使用转换流创建字符缓冲流,需要close的流是哪一个呢?读到空行会返回什么?原创 2023-11-23 11:12:33 · 29 阅读 · 0 评论 -
[Java学习日记]基本IO流
每次读取都会判断缓冲区是否有数据可以读,没有数据读了就在文件中继续找数据放进去,新的数据替代老的数据(多出来的老数据不会清空)在字符流输入流底层,在-内存区-创建了一个8KB的缓冲区来存储数据,在第一次读数据的时候尽量装满,每次读取都从缓冲区中读取。4.UTF-数字,后面的数字代表什么意思,在UTF-8中,中日韩文一般用多少个字节存储?UTF-8:用1-4字节保存,使用的最多,英文一个字节,中日韩三个字节。一般以0开头还是1开头?5.在UTF-8中,1-4位字节的数据的每个字节的开头有什么特点?原创 2023-11-23 10:07:43 · 26 阅读 · 0 评论 -
[Java学习日记]异常处理、文件操作
1.异常对象输出信息(默认报错方式)?2.如何获取异常的简短信息?3.如何输出错误信息(红色字体)?try {System.out.println("1.使用printStackTrace方法是控制台输出错误信息,能跟踪报错位置");System.out.println("2.返回详细信息与返回简短信息");System.err.println("3.打印错误信息(红色字与黑色字所处顺序会变化,与多线程有关)");1.自定异常类的步骤?原创 2023-11-23 08:45:35 · 58 阅读 · 0 评论 -
[Java学习日记]不可变集合、stream流,引用方法
5.再获取数组的stream流时,如果数组中的数据是基本数据类型,获取的stream流是什么?4.当Map中的键值对元素大于10个时,应该如何创建不可变集合呢(具体步骤)?3.双列集合如何获取键的stream流与entrySet的stream流?这个方法里面的接口中返回的数据代表什么意思?1.如何创建不可变的List类型的集合?创建的集合是什么类型的?3.如何创建不可变的Map类型的集合?3.如何留下stream流的前几个数据与跳过前几个数据?把已经有的方法当作函数式接口中抽象方法的方法体。原创 2023-11-15 13:44:29 · 61 阅读 · 0 评论 -
[Java学习日记]可变参数、集合帮助类、集合嵌套、斗地主准、洗、发、看牌
使用hashmap存储牌的牌面与其价值,使用arraylist存储牌面,使用arraylist的sort方法排序。使用hashMap存储牌的序号与牌,使用arraylist存储牌的序号,使用treeSet给牌排序。1.创建App与PokerGame,在PokerGame完场准备牌,洗牌,发牌,看牌操作。3.洗牌调用集合帮助类的方法即可,发牌定义四个集合存储三个人的初始拍以及地主的额外三张牌。2.准备牌:初始化变量写在静态代码块里面,调用牌的变量写在成员变量,并用静态修饰。7.交换集合中的元素使用什么方法?原创 2023-11-15 13:32:35 · 47 阅读 · 0 评论 -
[Java学习日记]双列集合与Map源码阅读
第一个参数是hash(key)是键的hash值,具体如何运算不看(最终目的还是为了让哈希后的结果更均匀的分部,减少哈希碰撞,提升hashmap的运行效率)//如果在遍历链表的时候被相同哈希值,并且也是相同对象的逮到了,也会停下来,别遍历了。//数组中的键值对的键与要加入的这个键值对相等(一种是等于,另一种是equals方法)//叔叔节点黑色,父亲节点红色,先看自己是不是右节点,如果是,那就左旋父亲。//这里就是还没有遍历,第一个节点就被逮到是相同的键了,直接跳到后面的if判断。原创 2023-11-15 13:17:32 · 25 阅读 · 0 评论 -
[Java学习日记]泛型、树、Set系列集合
(2)如果这个时候晋升的节点有左子树,丢掉。(2)如果叔叔是黑色,自己是左孩子,就需要把父亲变为黑色(和叔叔一样),再把祖父设置为红色,再把祖父右旋。如果和左左一样,那么你就会发现A得到的新的左子树还是在原本的层级,树的长度并没有减少,直接右旋是无效的。(3)右左:和左右一样,直接左旋不行,需要先在根节点的右子节点进行右旋,再到根节点进行左旋。中序遍历:左子节点-当前节点-右子节点,在遍历二叉查找树,是按照从小到大的顺序去查找的。(3)如果叔叔是黑色,自己是右孩子,先左旋父亲,变成(2)情况,再进行判断。原创 2023-11-06 21:29:42 · 35 阅读 · 0 评论 -
[Java学习日记]Collection与其遍历,ArrayList、LinkedList、Iterator底层
next():在这里面注意,内部类使用外部类的元素使用的ArrayList.this.elementData,这里是为了区分外部类元素与内部类元素。2.new了一个新节点new Node<>(l,e,null)(前一个元素,添加的元素,后一个元素)这个双向链表中的头节点和尾节点就都不是指向的空(根本就没有创建这种内部类的对象,只是起一个指向作用)在接口对象里面:定义了一个下标,一个上一次返回的下标,还有一个是集合变化的次数的记录。1.在Java中,Collection接口代表的是什么集合?原创 2023-11-06 16:42:27 · 39 阅读 · 0 评论 -
[Java学习日记]时间类,包装类
1.如何获取当前时间的instant对象?3.如何指定时区,返回ZoneDateTime(相当于Date类)?3.如何输出时间原点后过一年的时间?6.如何把LocalDateTime转变成其他的两个类的对象?//包装类中传入127与传入128,在底层是如何创建对象的?3.如何通过ZoneId与Instance获取时间?1.如何使用工具类判断日期,年份,月份的间隔?5.如何获取Calendar所表示的时间?2.如何设置指定时间的instant对象?2,如何获取和改变Date对象的时间?原创 2023-10-29 15:25:31 · 64 阅读 · 0 评论 -
[Java学习日记]正则表达式与爬虫
1.使用预定义字符用正斜杠还是反斜杠?大字母与小字母的区别?2.如何匹配任何字符?3.如何匹配数字?4.如何匹配空白?5.如何匹配数字字母下划线?System.out.println("1.使用反斜杠:小写字母匹配是,大写字母匹配否");System.out.print("2.匹配任何单个字符。需要注意.不能够匹配换行符号\\n:");System.out.println("原".matches("."));System.out.print("3.匹配数字:");原创 2023-10-29 13:30:05 · 756 阅读 · 0 评论 -
[Java学习日记]拼图小游戏
显示胜利:在加载图片前判断就行(为了让胜利显示在最上层):之前的想法是在键盘监听中判断:但是那样无效的键盘监听也会有代码运行。,并在构造方法里面初始化窗口(设置大小,设置标题,设置居中,设置关闭方式,设置游戏界面总在上方,设置为可见,设置。添加转换图片功能额:增加三个小监听即可,随机图片就是改个路径即可:由于是全局变量,按。放到窗口的隐藏容器里面,在方法中给图片添边框,移动图片到窗口正中间:(在初始化图片的时候添加坐标即可)添加新的菜单栏:更换图片:更换图片里面有三个小选项。添加查看完整图片功能,按住。原创 2023-10-23 12:49:59 · 111 阅读 · 0 评论 -
[Java学习日记]常用工具类
System.out.println("1.在Java中clone是用protected修饰的,在别的包中无法直接调用,只能在子类中重写");System.out.println("2.在拷贝的新对象中:会把全部数据值拷贝过来:如果是引用数据类型则会拷贝引用数据类型的地址值:也就是说两个对象的成员变量使用的是同一个地址值");System.out.println("3.浅克隆:克隆的属性是引用数据类型的地址:"+user1.getData()+user2.getData());原创 2023-10-23 12:41:29 · 105 阅读 · 0 评论 -
[Java学习日记]抽象,接口,内部类
一.抽象方法与抽象类二.接口三.接口中的default,static,private成员方法,适配器设计模式,内部类:成员内部类,静态内部类,局部内部类,匿名内部类原创 2023-10-15 17:22:51 · 59 阅读 · 0 评论 -
[Java学习日记]继承
一.关于继承与简单的案例代码 二.子类能够继承父类中的哪一些内容? 三.继承中的成员变量在内存中的存储原理 四.继承中的成员方法在内存中的存储原理 五.在继承中,成员变量的访问特点 六:继承中成员变量与成员方法的访问:直接使用,使用this关键字,使用super关键字 七.方法的重写 八.继承中的构造方法 九.带有继承结构的JavaBean类怎么写呢?原创 2023-10-07 10:38:01 · 59 阅读 · 1 评论 -
[Java学习日记]使用static修饰的静态成员变量与静态方法
1.static简介4.static修饰成员变量在内存中的原理?5.静态方法能够在哪里应用呢?6.使用静态方法有是什么注意事项?7.public static void main(String[] args)是什么含义?原创 2023-09-24 13:37:48 · 80 阅读 · 1 评论 -
[Java学习日记]控制台上的学生管理系统与登陆系统(主要使用集合存储数据)
控制台上的学生管理系统与登陆系统(主要使用集合存储数据)原创 2023-09-19 08:12:36 · 60 阅读 · 0 评论 -
[Java学习笔记]集合
1.创建集合(ArrayList)对象2.Arraylist方法:增add删remove改set查get长度size3.集合:存储基本数据类型的包装类4.定义集合时可以不用写泛型:如此可以在集合中存储多种类型的变量原创 2023-09-08 15:09:12 · 37 阅读 · 1 评论 -
[Java学习笔记]字符串(下)
1.如何截取字符串?使用subString方法!2.如何替换字符串中的内容?使用replace方法!3.可变的字符串:StringBuilder类4. 链式编程:快捷方便的编程方法。5.简化StringBuilder的书写:StringJoiner类的使用6.字符串拼接的内存原理7.StringBuilder的内存原理8.练习:键盘录入字符串,输出罗马数字9.练习:把一个字符串的第一位移动到最后一位,看看这个重复过程能不能与另一个字符串的值相等10.练习:生成验证码,四位字母(不分大小写),一位数字(随机原创 2023-09-04 11:18:34 · 32 阅读 · 1 评论 -
[Java学习笔记]面向对象综合训练
1.Scanner类的方法中,next()与nextLine()有什么区别?在使用的时候需要注意什么?2.文字版格斗游戏代码3.定义数组存储两部汽车对象,创建两个汽车对象,通过键盘录入把数据存储到数组当中4.创建长度为三的学生对象数组,并且创建对象放入数组 ,再次创建对象并且放入数组,其中得判断id是否重复,数组是否已满,最后遍历数组中的所有对象原创 2023-08-13 09:23:34 · 77 阅读 · 1 评论 -
[Java学习笔记]面向对象
什么是JavaBean类与测试类。2.什么是封装?封装的作用是什么?3.在JavaBean类的方法中变量的局部变量与全局变量的使用先后顺序?关键字this有什么用?4.构造方法是什么?构造方法有什么用?构造方法怎么写?一般如何写构造方法的代码?5.Java中如何将小写字母的字符串全部转化为大写字母的字符串?6.如何写一个标准的JavaBean类?7.Java创建新对象时在内存中是如何存储的?7.Java中this代表什么?this的本质是什么?原创 2023-08-10 14:32:59 · 205 阅读 · 1 评论 -
[Java学习笔记]综合练习与二维数组
随机产生一个长度为5个字符的验证码:前四位是字母,最后一位是数字。将输入的正整数存储到对应长度的字符串中。3.Java中如何创建二维数组?原创 2023-08-08 13:10:30 · 112 阅读 · 0 评论 -
[Java学习笔记]方法:方法定义|方法重载|基本数据类型|引用数据类型
1.在Java中如何定义方法(类似于C语言中的函数)?2.方法的重载是什么?如何定义重载的方法?3.什么是基本数据类型?什么是引用数据类型?他们在方法中的使用各有什么区别?为什么在方法中为变量赋值后输出我的变量值并没有改变?原创 2023-08-06 10:55:48 · 53 阅读 · 1 评论