![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java学习之路
记录笔者学习Java的整个过程
霧瀲
这个作者很懒,什么都没留下…
展开
-
图书借阅系统
借阅状态:允许管理员修改已借出图书的状态,例如将已借出的图书设置为可借阅。- 借阅管理:允许管理员查看所有图书的借阅状态,并管理读者的借阅历史。- 借阅和归还图书:允许读者借阅和归还图书,并查看借阅历史。- 读者管理:允许管理员添加、删除、修改读者信息。- 修改个人信息:允许管理员修改自己的个人信息。- 查询图书信息:允许读者查看所有图书的信息。- 修改个人信息:允许读者修改自己的个人信息。- 修改密码:允许管理员修改自己的密码。- 修改密码:允许读者修改自己的密码。Spring+vue前后端项目分离原创 2023-07-16 15:08:52 · 951 阅读 · 0 评论 -
随机生成验证码
2.1填充背景色 2.2画边框 生成随机角标 2.3写验证吗 2.4 画干扰线。点击超链接或者图片,需要换一张。1.给超链接和图片绑定单击事件。2.重新设置图片的src属性值。点击超链接或者图片,需要换一张。1.给超链接和图片绑定单击事件。* 1.获取Image对象。1.servlet代码。*3.将图片输出到页面。 随机生成验证码原创 2023-06-12 10:36:19 · 825 阅读 · 0 评论 -
Bootstrap学习
【代码】Bootstrap学习。原创 2023-06-01 18:33:14 · 166 阅读 · 0 评论 -
xml学习
xml学习原创 2023-05-28 10:34:55 · 919 阅读 · 0 评论 -
druid连接mysql数据库
druid连接mysql数据库链接数据库原创 2023-05-21 16:13:27 · 659 阅读 · 0 评论 -
javaweb项目实战之myBlog
项目说明:项目使用maven创建,使用MVC架构模式MVC实际上是一种开发中比较宏观的模式,而三层架构是更为落地的结构,它将一个项目分为3个层面,区分层次的目的即为了“高内聚,低耦合”的思想。表示层:通俗讲就是展现给用户的界面和控制器层Servlet,接受请求、封装数据、调用业务逻辑层,响应数据。业务逻辑层:针对具体问题的操作,是对数据层的操作,对数据业务逻辑处理。数据访问层(持久层):该层所做事务直接操作数据库,针对数据的新增、删除、修改、查找等每层之间是一种垂直的关系javaweb项目实战,myBlog原创 2023-05-14 22:37:39 · 684 阅读 · 0 评论 -
序列化和反序列化
1.序列化就是在保存数据时,保存数据的值和数据类型2.反序列化就是在恢复数据时,恢复数据的值和数据类型3.需要让某个对象支持序列化机制,则必须让其类是可序列化的,为了让某个类是可序列化的,类必须实现一项两个接口之一: Serializable //标记接口Externalizable //需要实现其中的方法,用的较少。原创 2023-05-03 13:33:44 · 48 阅读 · 0 评论 -
使用BufferedInputStream 和 BufferedOutputStream拷贝文件
【代码】使用BufferedInputStream 和 BufferedOutputStream拷贝文件。原创 2023-05-03 12:51:13 · 205 阅读 · 0 评论 -
使用BufferedReader 和 BufferedWriter拷贝文件
使用BufferedReader 和 BufferedWriter拷贝文件。原创 2023-05-03 12:36:10 · 235 阅读 · 0 评论 -
利用File字节流完成图片音乐的拷贝
利用File字节流完成图片音乐的拷贝。原创 2023-05-02 22:21:02 · 52 阅读 · 0 评论 -
创建文件的三种方式
创建文件的三种方式原创 2023-05-02 19:34:23 · 286 阅读 · 0 评论 -
线程练习题
(1)有2个用户分别从同一个卡上取钱(总额:10000)(2)每次都取1000,当余额不足时,就不能取款了(3)不能出现超取现象。(2)第1个线程循环随机打印100以内的整数(3)直到第2个线程从键盘读取了“Q”命令。(1)在main方法中启动两个线程。原创 2023-05-02 17:13:18 · 51 阅读 · 0 评论 -
线程同步机制和互斥锁
1.在多线程编程,一些敏感数据不允许被多个绒程同时访问,此时就使用同步访问术,保证数据在任何同一时刻,最多有一个线程访问,以保证数据的完整性。2.也可以这里理解:线程同步,即当有一个线程在对内存进行操作时,其他线程都可以对这个内存地址进行操作,直到该线程完成操作,其他线程才能对该内存地址进行操作.原创 2023-05-02 15:50:19 · 139 阅读 · 0 评论 -
线程的礼让和插队
【代码】线程的礼让和插队。原创 2023-05-02 09:51:56 · 36 阅读 · 0 评论 -
使用多线程,模拟三个窗口同时售票 100 张
存在超卖现象,及线程不安全。使用多线程,模拟三个窗口同时售票 100 张原创 2023-05-02 09:38:10 · 711 阅读 · 0 评论 -
泛型课堂练习题
排序方式:调用ArrayList的sort方法,传入 Comparator对象[使用泛型]name排序,如果name相同,则按生日日期的先后排序。1)该类包含:private成员变量name,sal,birthday,其中 birthday为MyDate对象;4)MyDate类包含:private成员变量month,day,year;并为每一个属性定义setter方法;3)重写toString方法输出name, sal, birthday。2)为每一个属性定义getter, setter方法;泛型课堂练习题原创 2023-04-30 20:31:48 · 81 阅读 · 0 评论 -
分析HashSet和TreeSet是如何去重的
2.TreeSet的去重机制:如果你传入的是一个Comparator匿名对象,就去实现comparator的去重,如果方法返回0,则认为是相同元素,就不添加,如果你没有传入Comparator匿名对象,则以你添加的对象实现的Comparable接口的CompareTo去重。分析HashSet和TreeSet是如何去重的原创 2023-04-30 14:54:00 · 169 阅读 · 0 评论 -
ArrayList练习题
(2)只提供一个带参数的构造器,实例化对象时,只初始化标题;并且新闻一:新冠确诊病例超千万,数百万印度教信徒赴恒河“圣浴”引民新闻二:男子突然想起2个月前钓的鱼还在网兜里,捞起一看赶紧放生(3)将新闻对象添加到ArrayList集合中,并且进行倒序遍历;(4)在遍历集合过程中,对新闻标题进行处理,超过15字的只保留前1(5)在控制台打印遍历出经过处理的新闻标题;(1)封装一个新闻类,包含标题和内容属性,提供get、set方法,重写只打印方法。原创 2023-04-30 14:44:19 · 88 阅读 · 0 评论 -
Collections常用方法
【代码】Collections常用方法。原创 2023-04-30 11:21:59 · 32 阅读 · 0 评论 -
总结- 开发中如何选择集合实现类
在开发中,选择什么集合实现类,主要取决于业务操作特点,然后根据集合实现类特性进行选择,分析如下:1.判断存储类型(一组对象[单列]或一对键值[双列])2.一组对象: Collection 允许重复:List 增删多:LinkedList[底层维护了一个双向列表] 改查多:ArrayList[底层维护了Obeject类型的可变数组] 不允许重复:Set 无序:HashSet[底层是一个HashMap,维护了一个哈希表 [即数组 + 链表 + 红黑树]]原创 2023-04-29 22:53:30 · 676 阅读 · 0 评论 -
TreeSet和TreeMap使用
【代码】TreeSet和TreeMap使用。原创 2023-04-29 22:53:00 · 38 阅读 · 0 评论 -
Hashtable详解
【代码】Hashtable详解。原创 2023-04-29 21:41:14 · 54 阅读 · 0 评论 -
HashMap底层源码详解
/2.执行put调用hash方法,计算key的hash值( h = ke.hashCode() ^ ( h >> 16)// 初始化加载因子loadfactor = 0.75。 HashMap底层源码详解原创 2023-04-29 21:13:10 · 845 阅读 · 0 评论 -
Map常用的遍历方法
【代码】Map常用的遍历方法。原创 2023-04-29 15:49:20 · 36 阅读 · 0 评论 -
HashSet练习
2当name和birthday的值相同时,认为是相同员工,不能添加到HashSet集合中。1.创建3个Employee放入HashSet中。原创 2023-04-29 10:32:17 · 99 阅读 · 0 评论 -
HashSet源码解读2
【代码】HashSet源码解读2。转载 2023-04-29 09:26:22 · 37 阅读 · 0 评论 -
HashSet源码解读
HashSet源码解读。转载 2023-04-28 22:27:13 · 41 阅读 · 0 评论 -
Collection 、Vector、Iterator、ArrayList、List练习
我为练习一下定制排序所以没有用冒泡排序。Collection 、Vector、Iterator、ArrayList、List练习原创 2023-04-26 22:33:23 · 44 阅读 · 0 评论 -
输入用户名、密码、邮箱,如果信息录入正确,则提示注册成功,否则生成异常对象要求: (1)用户名长度为2或3或4 ()密码的长度为6,要求全是数字isDigital(3)邮箱中包含@和.并且@在.的前面
()密码的长度为6,要求全是数字isDigital(3)邮箱中包含@和.并且@在.的前面。(1)用户名长度为2或3或4。原创 2023-04-26 16:36:56 · 112 阅读 · 0 评论 -
字符串反转
(2)编写方法 public static String reverse(String str, int start , int end)搞定。(1)将字符串中指定部分进行反转。比如将"abcdef"反转为"aedcbf"原创 2023-04-26 16:09:27 · 36 阅读 · 0 评论 -
BigInteger 和 BigDecimal 类
【代码】BigInteger 和 BigDecimal 类。原创 2023-04-26 09:57:36 · 33 阅读 · 0 评论 -
System类详解
2. arraycopy:复制数组元素,比较适合底层调用,一般使用Arrays.copyOf完成复制数组.3. currentTimeMillens:返回当前时间距离1970-1-1的毫秒数。4.gc:运行垃圾回收机制System.gc(;1 . exit退出当前程序。 System类详解原创 2023-04-26 09:37:56 · 42 阅读 · 0 评论 -
Exception异常类练习题
用户从键盘输入若干个数字,程序输出这些数字的和。在程序中增加断言语句,当用户输入的数字大于100或小于0时,程序立刻停止,并提示“输入的成绩非法”Exception异常类练习题。原创 2023-04-25 21:35:04 · 420 阅读 · 0 评论 -
Math类和Arrays类的常用方法和习题
案例:自定义Book类,里面包含name和price,按price排序(从大到小)。要两种方式排序,有一个 Book[] books = 4本书对象。使用前面学习过的传递实现Comparator接口匿名内部类也称为定制排序。Math类和Arrays类的常用方法和习题原创 2023-04-24 22:20:28 · 45 阅读 · 0 评论 -
StringBuilder类详解
1.一个可变的字符序列。此类提供一个与StringBuffer兼容的API,但不保证同步。StringBuilder 类被设计用作StringBuffer类的一个简易替换,用在字符串缓冲区被单个线程使用建议单线程优先使用StringBuilder 类,因为他比StringBuffer块2.在StringBuilder 上的主要操作就是append和insert方法,可重载这些方法接受任意类型。原创 2023-04-24 15:45:28 · 764 阅读 · 0 评论 -
StringBuffer类详解
1.java.lang.StringBuffer代表可变的字符序列,可以对字符串内容进行增删2.很多方法与String相同,但StringBuffer是可变长度的。3.StringBuffer是一个容器。原创 2023-04-24 14:33:59 · 654 阅读 · 0 评论 -
String类详解
String对象用于保存字符串,也就是一组字符序列字符串常量对象是用双引号括起的字符序列。例如:“你好”、“12.97”."boy"等字符串的字符使用Unicode字符编码,一个字符(不区分字母还是汉字)占两个字节String类较常用构造器(其它看手册):1lString 类实现了接口 Serializable【String 可以串行化:可以在网络传输String 是 final 类,不能被其他的类继承String 有属性 private final char value[];原创 2023-04-24 11:46:28 · 509 阅读 · 0 评论 -
异常练习题
如果用户输入的不是一个整数,就提示他反复输入,直到输入一个整数为止。原创 2023-04-23 20:27:07 · 38 阅读 · 0 评论 -
个人通讯录(二)
/ 3.定义方法实现联系人信息修改 public boolean update(Contract c) {通讯录 PhoneBook中保存了若干联系人信息,需要提供通讯录的增、删、查、改等操作在setContract()方法中需要对联系人数组进行排序操作,以保证PhoneBook类按照联系人姓名的拼音升序排序// 定义Contract数组 private Contract [ ] contracts; java 程序设计原创 2023-04-20 09:12:10 · 733 阅读 · 2 评论 -
抽象类,内部类,匿名类
7.外部其他类—不能访问----->匿名内部类(因为匿名内部类地位是一个局部变量)8.如果外部类和匿名内部类的成员重名时,匿名内部类访问的话,默认遵循就近原则,如果想访问外部类的成员,则可以使用(外部类名.this.成员)去访问。6.外部其他类—不能访问----->局部内部类(因为局部内部类地位是一个局部变量)7.如果外部类和局部内部类的成员重名时,默认遵循就近原则,如果想访问外部类的成员,则可以使用(外部类名.this.成员)去访问【演示】6.匿名内部类—访问---->外部类成员[访问方式:直接访问]原创 2023-04-19 20:02:00 · 384 阅读 · 0 评论