自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java 原生MyBatis开发

xml文件头部的声明可以从官方文档中获取<settings> 运行时常量配置<setting name="logImpl" value="STDOUT_LOGGING"/> 在控制台上输出所执行的SQL语句<typeAliases> 类型别名的声明<typeAlias type="com.yan.entity.User" alias="User"/> type是具体的类型名称,alias是别名,在映射元文件中可以使用别名来替代全名,简写配置。

2024-04-02 15:29:44 153

原创 数据库 表数据添加&分页查询 --Java实现

【代码】数据库 表数据添加&分页查询 --Java实现。

2024-03-27 20:26:36 170

原创 数据库事务编程

事务是一个不可分割的数据库操作序列,也是数据库并发控制的基本单位,其执行的结果必须使数据库从一种一致性状态到另一种一致性状态。所有的事务依次逐个执行,这样事务之间就完全不可能产生干扰,也就是说,该级别可以防止脏读、不可重复读以及幻读。:多个事务并发执行时,每个事务对其他事务的操作应该互不干扰,各自独立运作,避免数据交叉影响。读取未提交: 最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读。:事务被视为一个不可分割的原子操作,要么全部执行成功,要么全部失败回滚,不会存在。

2024-03-27 20:06:36 287

原创 数据库触发器

触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性。trigger_stmt:触发器的程序体,可以是一条 SQL 语句或者是用 BEGIN 和 END 包含的多条语句。trigger_event:触发事件,为 INSERT、DELETE 或者 UPDATE。tb_name:表示建立触发器的表明,就是在哪张表上建立触发器。trigger_name:触发器的名称。

2024-03-27 20:01:06 238

原创 MySQL 练习三

select sname,sex,class from student; select distinct depart from teacher; select * from student; select * from score where degree between 60 and 80; select * from score where degree in(85,86,88); select * from student where class=’95031’or se

2024-03-26 21:24:59 1140 2

原创 MySQL 练习二

【代码】MySQL 练习二。

2024-03-21 21:34:00 700

原创 MySQL 练习一

有一个“学生-课程”数据库,数据库中包括三个表:(1) “学生”表Student由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成,可记为: Student(Sno,Sname,Ssex,Sage,Sdept) Sno 为关键字。(2) “课程”表Course由课程号Cno、课程名Cname、选修课号Cpno、学分Ccredit四个属性组成,可记为: Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。(3) “学生选课”表SC由学号

2024-03-20 20:17:02 505

原创 MySQL 运算符

查询学生信息,要求按照年龄倒排序,如果年龄相等,则按照姓名排序。聚集函数用于对于一个集合中的数据进行处理,不是一行一行的数据。、注意默认按照指定列的自然序排序,如果需要倒序则使用关键字。、如果不使用分组,聚集函数则用于处理所有查询结果数据。、如果使用分组,则分别作用于各个分组查询的结果数据。运算符时指定的值是离散的数据,不是连续值。用于判断某个列的取值是否为指定的值,使用。用于判断数据是否在指定的范围内,连续值。逻辑或,如果参与计算的双反,只要一方为。逻辑与,如果参与计算的两个操作数为。

2024-03-18 21:17:20 425 1

原创 JDBC工具类

【代码】JDBC工具类。

2024-03-18 20:43:54 291

原创 JDBC 基本操作步骤

JDBC 基本操作步骤:1、加载驱动 2、获取连接 3、构建语句对象4、接收查询结果集5、遍历处理结果集 6、关闭对象

2024-03-15 20:28:59 486

原创 MySQL常见的数据类型

MySQL常见的数据类型:数值型、 字符串类型、大对象类型 Lob、日期时间类型、集合和枚举类型、位类型。

2024-03-15 20:01:19 1193

原创 MySQL 相关英文单词

Non-Transactional:非事务性的。between and 在……梯状的,分等级的;(计算机的)端口;显示配置信息命令 …prepare 的过去分词);有区别的,不同的,清楚的;动作,活动,行动,作用。

2024-03-15 14:00:18 624

原创 MySQL 安装

1、将压缩文件解压到安装目录,为了方便使用修改环境变量PATH,将 mysql 解压目录的绝对路径添加进去。

2024-03-13 21:29:26 373

原创 Java 简易聊天代码实现

【代码】Java 简易聊天代码实现。

2024-03-13 21:20:03 333

原创 服务器段的连接端口和监听端口编程实现

服务器段的连接端口和监听端口1、主线程一直处于阻塞等待状态,如果一旦链接成功则启动一个新线程对外提供服务。2、启动工作线程时将链接对象 Socket 传递过去,在 run 方法中执行处理逻辑。

2024-03-12 20:52:05 493

原创 简单的 Client/Server 程序

C/S 架构全称为客户端/服务器体系结构,它是一种网络体系结构,其中客户端是用户运行应用程序的 PC 端或者工作站,客户端要依靠服务器来获取资源。C/S 架构是通过提供查询响应而不是总文件传输来减少了网络流量。它允许多用户通过 GUI 前端更新到共享数据库,在客户端和服务器之间通信一般采用远程调用 RPC 或标准查询语言 SQL 语句。

2024-03-12 20:46:00 333

原创 Java 网络编程之扫描端口号

编写应用程序扫描当前机上已经打开的端口号。

2024-03-12 20:34:18 277

原创 Java 生产者消费者(Lock实现)

【代码】Java 生产者消费者(Lock实现)

2024-03-11 21:03:40 360

原创 Java Map接口实现类之 HashMap

定义public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable{ static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; //默认初始化容积,就是默认数组的长度为 16 static final int MAXIMUM_CAPACITY = 1 <<

2024-03-08 21:11:28 365

原创 Java Map接口

定义 map 对象时需要指定 key 和 value 对应的类型,必须是复杂类型,不能使用int 之类的简单类型数据。具体存储map 接口中有一个内部接口为其中用于封装一个 key-value 对。Entry 接口中的方法:K getKey();另外 Entry 接口中通过静态方法提供了一组比较器的默认实现,用于规范其中存放数据的规则,map 中所存放的数据将给封装为一个一个的 Entry,一个 key/value 对对应一个 Entry 对象。Map接口中常见方法。

2024-03-08 20:35:31 327

原创 Java Collections 工具类

T的子类对象,而且必须是可比较大小的,即支持自然排序的。而且集合也事先必须是有序的,否则结果不确定。返回指定列表支持的同步(线程安全的)列表。集合中找出最大的元素,集合中的对象必须是。集合中找出最大的元素,集合中的对象必须是。比较器规则进行排序过的,否则结果不确定。的子类对象,而且集合也事先必须是按照。集合元素进行随机排序,类似洗牌。集合中查找某个元素的下标,但是。集合中查找某个元素的下标,但是。返回指定列表的不可修改视图。根据元素的自然顺序对指定。的子类对象,按照比较器。集合元素进行排序。

2024-03-08 19:54:23 441

原创 Java 查找算法之二分查找

【代码】Java 查找算法之二分查找。

2024-03-08 10:06:58 405

原创 Java 排序算法之插入排序

平均时间复杂度:O(n*2)平均空间复杂度:O(1)

2024-03-07 21:30:56 425

原创 Java 面向对象设计的6大原则

面向对象六大原则指的是:单一职责原则、开闭式原则、迪米特原则、里氏替换原则、依赖倒置原则以及接口隔离原则。

2024-03-07 20:28:51 389

原创 Java 重写和重载

重写重写一定是在父子类之间,不可能在一个类中。要求:1、方法名一致2、方法名称一致,参数类型列表一致,返回结果类型一致3、子类方法的范围限定词需要大于等于父类的范围4、子类方法不能比父类方法抛出更多的异常。

2024-03-07 20:01:55 313

原创 Java中List接口常见的实现类

ArrayList:数组实现,随机访问速度快,增删慢,轻量级;(线程不安全)LinkedList:双向链表实现,增删快,随机访问慢 (线程不安全)Vector:数组实现,重量级 (线程安全、使用少)

2024-03-06 19:14:18 1147

原创 Java 异常的捕获和处理

Java 异常的捕获和处理:语法规则、常见的三种输出异常的用法、特殊情况导致finally执行出现问题、自动关闭资源(JDK1.7+)、最佳异常相关编程实践、异常处理建议规则

2024-03-05 10:43:40 840

原创 Java 异常的分类

Java异常可以分为三类:1、Error及其子类2、RuntimeException及其子类3、Exception及其子类中除了RuntimeException及其子类之外的其它异常

2024-03-05 09:45:24 458

原创 Java集合之 List接口 & Set接口

List 接口是 Collection 接口的子接口,用于定义有序、允许重复的集合。Set 接口是 Collection 接口的子接口,用于定义无序,不允许重复的集合。

2024-03-04 20:33:16 438

原创 Java集合之 Collection接口

数组中实际上是不能直接获取其中存储的元素个数,集合中可以分为两个概念:容积。接口中定义的方法,获取迭代器对象用于遍历集合中的所有元素。获取集合中的存储元素个数,由于具体实现类的区别,所以。注意:只判断集合中是否没有元素,并不会判断集合是否为。将集合转换为 Object 类型的数组。使用泛型将集合转换为特定类型的数组。判断集合是否删除过数据,删除了返回。,如果需要判断集合变量是否为。判断集合中的元素个数是否为。判断集合中是否包含指定元素。的元素个数,类似于集合的。表示实际存储的元素个数。

2024-03-04 20:07:44 328

原创 Java IO流之键盘读写、存储及退出

例:从键盘上读取数据,并写入到一个文件中。输入quit则表示退出,保留过去的历史数据。

2024-03-02 12:01:18 381 1

原创 Java IO流之文件字母数统计

2、不能使用定长数组,需要自定义一种数据结构,可以按照需要进行变长。1、定义一个类用于存储字符和该字符出现的次数。

2024-03-02 11:55:19 313 1

原创 Java IO流之汉字文件读写与换行

例:编写一个程序实现如下功能,文件fin.txt是无行结构(无换行符)的汉语文件,从fin中读取字符,写入文件fou.txt中,每40个字符一行(最后一行可能少于40个字)

2024-03-02 11:41:37 364 1

原创 Java 生产者消费者模式

生产/消费者问题涉及到的对象包括生产者、消费者、仓库和产品。他们之间的关系如下:生产者仅仅在仓储未满时候生产,仓满则停止生产。消费者仅仅在仓储有产品时候才能消费,仓空则等待。当消费者发现仓库没产品可消费时候会通知生产者生产。生产者在生产出可消费产品时候,应该通知等待的消费者去消费。生产者和消费者在同一时间段内共用同一个存储空间,生产者往存储空间中添加产品,消费者从存储空间中取走产品,当存储空间为空时,消费者阻塞,当存储空间满时,生产者阻塞。定义生产数据的生产者线程定义消费数据的消费者线程。

2024-03-01 21:12:18 472 1

原创 Java 线程 wait方法&sleep方法

无参数则表示等待到其他线程调用此对象的 notify() 方法或 notifyAll()方法,当前线程被唤醒,进入就绪状态。wait(long timeout)让当前线程处于“等待(阻塞)状态”,“直到其他线程调用此对象的notify()方法或 notifyAll() 方法,或者超过指定的时间量”,当前线程被唤醒(进入“就绪状态”)。让当前线程进入等待状态,当别的其他线程调用notify()或者notifyAll()方法时,当前线程进入就绪状态。,并进入等待队列,其他线程就可以尝试获取对象上的锁资源。

2024-03-01 21:06:12 298 1

原创 Java 线程状态迁移

(三)、其它堵塞:执行的线程执行sleep()或join()方法,或者发出了I/O请求时。2、就绪状态(Runnable):线程对象创建后,其它线程调用了该对象的start()方法。3、执行状态(Running):就绪状态的线程获取了CPU,执行程序代码run()。(二)、同步堵塞:执行的线程在获取对象的同步锁时,若该同步锁被别的线程占用。(一)、等待堵塞:执行的线程执行wait()方法,JVM会把该线程放入等待池中。该状态的线程位于可执行线程池中,变得可执行,等待获取CPU的使用权。

2024-03-01 20:49:37 344 1

原创 Java 枚举类型

枚举类型就是用于将定义的不同分组的常量分不同的枚举类型进行存放。

2024-02-29 21:09:28 323

原创 Java 线程池的具体实现类ThreadPoolExecutor

线程池中的核心线程数。当提交一个任务时,线程池创建一个新线程执行任务,直到当前线程数等于corePoolSize;如果当前线程数为corePoolSize,继续提交的任务被保存到阻塞队列中,等待被执行。

2024-02-28 21:28:49 331

原创 Java 创建线程的4种方法

缺点:提高了系统的复杂度,需要分离出外部状态和内部状态,而且外部状态具有固有化的性质,不应该随着内部状态的变化而变化,否则会造成系统的混乱。//会阻塞当前执行线程,并等待子线程执行完成后获取返回值。缺点:在run方法内部需要获取到当前线程的Thread对象后才能使用Thread中的方法。缺点:继承Thread类之后就不能继承其他的类,Java的单根继承体系。优点:大大减少对象的创建,降低系统内存的使用,以提高程序的执行效率。//启动线程,执行A2的run方法。//如何获取线程的执行结果。

2024-02-28 21:26:13 362

原创 Java 文件遍历之筛选文件后缀

方法2:过滤器接口FilenameFilter & FileFilter。例:遍历windows下的所有后缀为.ini的文件。

2024-02-27 21:25:20 327 1

空空如也

空空如也

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

TA关注的人

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