自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java基础第20天-JDBC

对于select操作,如果有返回值,返回类型不能固定,需要使用泛型,将来的表很多,业务需求复杂,不可能只靠一个java类完成,因此有了BasicDao。一个问题,当我们使用ResultSet返回结果集时,结果集和connection是关联的,如果我们关闭连接,就不能再使用结果集,但是我们的connection又不能不关闭,所以在这种情况下结果集不利于数据的管理,需要使用返回的信息时也不方便,为了解决这个情况引入了Apache-DBUtils。是专门和数据库交互的,即完成对数据库(表)的crud操作,

2025-04-15 18:41:03 518

原创 Java基础第19天-MySQL数据库

没有索引的时候,mysql查询时会因为全表扫描非常慢,使用索引后,会形成一个索引的数据结构比如二叉树..从而大大缩短查询的时间,索引的代价就是磁盘的占用以及对dml(update delete insert)语句的效率影响。视图是一个虚拟表,其内容由查询定义,同真实的表一样,视图包含列,其数据来自对应的真实表(基表)且可以是多个基表,通过视图可以修改基表的数据,基表的改变也会影响到视图的数据。不同的数据库用户,登录到DBMS后,根据相应的权限,可以操作的数据库和数据对象(表,视图,触发器)都不一样。

2025-04-08 11:10:23 646

原创 Java基地第18天-反射

通常我们会遇到,通过外部文件配置,在不修改源码的情况下来控制程序,也符合设计模式的ocp原则即开闭原则(不修改源码的情况下扩容),就要使用反射机制。

2025-03-31 16:41:23 516

原创 Java基础第17天-网络编程

IPv4的问题是网络地址资源有限,严重制约了互联网的应用和发展,所以引入IPv6来解决网络地址资源数量问题,解决了多种接入设备连入互联网的障碍,其地址数量号称可以为全世界的每一粒沙子编上一个地址,其中IPv6使用128位即16个字节来表示地址,是IPv4的4倍,表示方式有多种。用于标识计算机上某个特定的网络程序,以整数形式表示,范围0~65535;又叫网络通讯协议,这个协议是Internet最基本的协议,Internet国际互联网络的基础,简单地说,就是由网络层的IP协议和传输层的TCP协议组成的;

2025-03-25 10:53:01 919

原创 Java基础第16天-IO流

需要让某个对象支持序列化机制,则必须让其类是可序列化的,为了让某个类是可序列化的,该类必须实现如下两个接口之一:Serializable 这是一个标记接口,生命性质的,里面没有任何方法,所以一般推荐选择这个接口;print底层使用的是write,所以我们可以直接调用write进行打印/输出(在默认情况下,PrintStream输出数据的位置是标准输出即显示器),我们可以修改打印流输出的位置。文件就是保存数据的地方,可以是文字、图片、视频、音频.....在java编程中,目录也被当作文件。

2025-03-12 17:12:34 740

原创 Java基础第15天-坦克大战【2】

当发射一颗子弹后,就相当于启动了一个线程,坦克类有子弹的对象,当触发发射条件 比如J键按下,我们就启动一个发射行为(线程),形成一个射击效果,在这期间我们的面板需要不停的重绘才能出现子弹一直在移动的效果,且当子弹移动到面板或敌方坦克时,应该销毁。实现发射多颗子弹,使用Vector集合保存子弹,并且在绘制我方子弹时需要遍历集合。实现敌人的坦克也能发射子弹且可以有多颗子弹:在敌人坦克类,使用Vector保存多个shot,当每创建一个敌人坦克对象时,就给该敌人坦克对象初始化一个shot对象,同时启动它。

2025-03-11 10:40:03 110

原创 Java-线程基础

线程的执行要用start触发,start()会找到run方法去执行,但是run方法是一个普通的方法,直接去执行run方法并没有真正的启动一个线程,会把run方法执行完毕才会向下执行。在多线程编程,一些敏感数据不允许被多个线程同时访问,此时就使用同步访问技术,保证数据在任何同一时刻,最多有一个线程访问,以保证数据的完整性即,当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作,其他线程才能对该内存地址进行操作。线程,但并没有真正的结束线程,所以一般用于。

2025-03-04 20:08:38 785

原创 Java基础第14天-坦克大战【1】

整体来说绘图顺序就是先创建画布MyPanel去继承JPanel,在画布上去paint,然后创建画框,也就是主程序,去继承JFrame,在其中先添加空白的画布即 MyPanel mp = null,然后把画布添加到画框上并设置画框的大小。当事件发生时,产生事件的对象,会把此“信息”传递给“事件的监听者”处理,这里所说的“信息”实际上就是java.awt.event事件类库里某个类所创建的对象,把它称为“事件的对象”计算机在屏幕上显示的内容都是由屏幕上的每一个像素组成的。

2025-02-26 20:53:20 225

原创 Java基础第13天-泛型

泛型不具备继承性,如不允许List<Object> List = new ArrayList<String>();>:支持任意泛型类型;extends A>:支持A类以及A类的子类,规定了泛型的上限;super A>:支持A类以及A类的父类,不限于直接父类,规定了泛型的下限。,并没有把s的数据类型写死,而是用E来代替,在定义Person对象的时候指定,在编译期间确定E是什么类型。基本语法:修饰符<T,R..>返回类型 方法名(参数列表){}基本语法:interface 接口名<T,R...>{}

2025-02-25 19:59:55 171

原创 Java基础第12天-集合

LinkedList底层实现了双向链表和双端队列特点可以添加任意元素包括null,元素也可以重复线程不安全,没有实现同步其中2),否则会抛出NullPointerException。

2025-02-24 16:04:28 618

原创 Java基础第11天-常用类

他们的加减乘除都不是用普通的+ -等符号运算,而是add 加,subtract 减,multiply 乘,divide 除来运算的。Calender类,Calender类是一个抽象类,构造器是private,它为特定瞬间与一组诸如MONTH,DAY_OF_MONTH,HOUR等日历字段之间的转化提供了一些方法,并为操作日历字段提供了一些方法。StringBuffer在更新内容时,只有当存放空间不够了才会更新地址,因为它的字符内容是存放在父类的char[] value中的,不是final。

2025-02-17 20:35:32 567

原创 Java基础第十天-异常

Java中,将程序执行中发生的不正常情况称为“异常",其中在开发过程中的语法错误和逻辑错误不是异常。Error:Java虚拟机无法解决的严重问题。如JVM系统内部错误、资源耗尽等严重情况像栈溢出或out of memory等,Error是严重错误,程序会崩。Exception:其他因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理。例如空指针访问、试图读取不存在的文件、网络连接中断等等。Exception分为两大类:运行时异常和编译时异常。异常体系图体现了类和继承关系。

2025-01-10 17:41:09 806

原创 Java基础第九天-枚举和注解

注解(Annotation)也被称为元数据(Metadata),用于修饰解释 包、类、方法、属性、构造器、局部变量等数据信息。枚举类和普通类一样,可以实现接口,如下形式:enum 类名 implements 接口1,接口2{}使用enum关键字后,就不能再继承其他类了,因为enum会隐式继承Enum,而Java是单继承机制。和注释一样,注解不影响程序逻辑,但注解可以被编译或运行,相当于嵌入在代码中的补充信息。枚举一共有两种实现方式,分别是自定义类实现枚举,一种是使用系统自带的enum来生成。

2025-01-07 18:17:13 316

原创 Java基础第八天-面向对象编程(高级)

一个类的内部又完整的嵌套了另一个类结构。父类方法不确定性的问题,考虑将该方法设计为抽象(abstract)方法,所谓抽象方法就是没有实现的方法即没有方法体,当一个类中存在抽象方法时,需要将该类声明为abstract类。是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量。匿名内部类本质是一个类,他是一个内部类,该类没有名字(从表面上看没有)同时它还是一个对象,因此从语法上看,它既有定义类的特征,也有创建对象的特征。

2025-01-06 16:04:35 958

原创 Vue项目布置到华为云(包含mqtt通信 emqx在云服务器上的设置)

在做项目的过程中需要把Vue前端项目布置到华为云服务器上,让用户都可以通过一个公网地址去访问我们的项目,同时需要完成原来的mqtt通信传输数据,做到实时更新网页,还可以利用emqx控制台达到后台的数据传输与接收的可视化全步骤。本博客不包括如何购买、配置华为云服务器,此类文章比较多可以自行查阅,本博客的前提是已经购买配置好华为云服务器。本博客中使用的华为云服务器是linux操作系统。

2024-12-02 11:17:59 954

原创 项目-Java实现微信零钱通功能

在进行这个项目运行测试的过程中,遇到的问题是idea控制台无法输入中文。使用以下代码中的主方法进行调用,实现的功能和上面面向过程编程相同,但是把方法进行封装之后,可以完成其他的功能实现,更加方便。以下是将各个对应的功能封装成方法,以面向对象的方法编程的代码。以上是完整的面向过程的代码,以下是具体实现成果。

2024-09-17 18:41:06 559

原创 Java基础第七天-面向对象编程(中级)

从这个阶段开始安装IDEA使用在idea中,当我们run一个文件时,会先编译成.class之后再运行,src文件底下存放的是源码文件,运行过后的out文件夹下存放的是编译后的.class文件。

2024-09-16 19:07:24 2100

原创 Java基础第六天-面向对象编程(初级)

类就是数据类型,对象就是一个具体的实例。类拥有属性和行为。对象在内存中的存在形式:字符串是指向地址保存,数字直接在堆里保存。属性/成员变量:成员变量=属性=field;属性是类的一个组成部分,一般是基本数据类型,也可是引用类型(对象,数组)。(对象的属性默认值遵守数组规则)类与对象的内存分配机制:在把p1赋给p2的时候也是属于引用拷贝,复制的是地址。

2024-09-06 20:28:11 2344 1

原创 Java基础第五天-数组、排序和查找

同一类型的动态分配数组数组的下标是从0开始的。且数组的下标要在指定范围内使用,否则会报下标越界异常。

2024-09-04 15:33:49 891

原创 Java基础第四天-控制结构

反之开始判断条件表达式2是否成立。以此类推,如果所有的表达式都不成立就执行else的代码块,注意,只能有一个执行入口。把以上的各种循环放在另一个循环体内,形成嵌套循环【建议一般使用两层,最多不要超过三层,否则代码的可读性会比较差】,当内层循环的循环条件为真时才会一直循环。break语句出现在多层嵌套的语句块时,可以通过标签来指明要终止的是哪一层语句块。求1+(1+2)+(1+2+3)+....+(1+2+3+...+100)的结果。default子句是可选的,当没有匹配的case时,执行default。

2024-09-03 17:07:13 743

原创 Java基础第三天-运算符

因为在进行到 i = i++这一步时,因为是后++,内部的规则顺序会先使用一个临时变量temp来存储最开始 i 的值即1,然后再进行 i=i+1,这时 i的值为2,但是下一步是把temp的值再赋给 i ,所以最终 i=1;那么同理,进行到 j= ++j这一步时,因为是前++,内部的规则顺序会先进行 j=j+1,这时 j的值是2,然后会使用一个临时变量temp来存储此时的 j ,然后把temp的值再赋给 j,所以最终 j=2。如果条件表达式为true,运算后的结果是表达式1,否则为表达式2。

2024-08-30 16:57:16 1580

原创 Java基础第二天-变量,数据

字符型存储到计算机中,需要将字符对应的码值(整数)找出来,比如‘a’ 存储:‘a’ ==> 码值97 ==> 二进制(1100001)==> 存储 读取:二进制 => 97 ==> ‘a’ =>显示。java的整型常量默认为int型,声明long型常量须后加‘l’(小写l)或‘L’

2024-08-29 17:40:59 922 3

空空如也

空空如也

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

TA关注的人

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