
JAVA初级学习
小黑学IT
好好学习,天天向上!
展开
-
JAVA实现文件下载的功能
文件的下载实现思想浏览器通过访问服务器提供的servlet,返回一个显示可下载的文件列表,点击相应要下载的文件,则会访问一个下载的servelt,实现文件的下载功能实现代码UploadUtils.java工具类public class UploadUtils { //创建新的文件名称 public static String createNewFileName(String filename){ String s = UUID.randomUUID().toStri原创 2021-04-09 18:34:14 · 983 阅读 · 0 评论 -
JAVA实现文件上传
文件上传功能的实现在servlet3.0之前,文件上传还需要导入两个commonsjar包,而3.0之后,servlet自己就支持了文件上传的组件,本文主要利用后者提供的上传组件完成上传功能。文件上传细节1,不能用自带的方法直接获取文件名,一些老版本的浏览器可能会会出现问题(要对文件名进行提取)2,相同文件上传的覆盖问题3,上传文件自动创建不同的上传路径4,文件上传的大小约束5,文件上传类型的约束代码实现UploadUtils.java这是一个工具类,主要解决自动生成不同文件名以及路径问原创 2021-04-09 11:01:22 · 230 阅读 · 0 评论 -
java编写连接数据库的工具类(DBUtils)
连接数据库工具类的编写1,工具类介绍本工具类主要对连接数据库的操作进行了简化封装,避免代码的冗余书写,同时也加入了连接池,减少了因为开启和关闭连接带来的资源浪费问题。主要封装功能有:注册驱动、获取连接、释放资源、(增删改)命令封装、查询命令封装,事务处理等。2,工具类代码public class DBUtils_Druid { //创建线程池 private static DataSource dataSource=null; //创建线程局部变量 private原创 2021-03-03 21:25:22 · 2208 阅读 · 1 评论 -
JAVA小练习---实现二叉排序树(二叉查找树)
使用JAVA实现二叉排序树(1)二叉排序树定义亦称二叉搜索树,是数据结构中的一类。在一般情况下,查询效率比链表结构要高。二叉排序树的特点如下:1,若左子树不为空,则左子树上所有节点的值均小于它的根节点的值。2,若右子树不为空,则右子树上所有节点的值均大于它的根结点的值。3,左、右子树也分别为二叉排序树。4,没有键值相等的节点。下图为一个二叉排序树:(2)实现代码以下代码只实现了二叉排序树的添加节点和中序遍历节点的方法。BinarySortTree.javapublic class原创 2020-11-27 16:20:52 · 354 阅读 · 2 评论 -
JAVA小练习---利用数组实现简易电话本系统
使用数组实现电话本系统一 功能需求新增一个联系人联系人的编号自动增长,姓名,性别,年龄,手机号,身份证号由用户从控制台录入查找指定的联系人按照姓名查找符合条件的所有的联系人(有可能有联系人同名情况,如果同名,全部列出)查找所有的联系人修改联系人信息选择一个联系人修改信息删除联系人信息可以把无效的联系人删除退出系统二 实现思路主要设计两个类(联系人类和电话本类),在电话本类中创建一个联系人数组,对这个数组进行增删改查即可。该案例对刚刚学习JAVA的小白具有非常好的练手能力。三实原创 2020-10-08 09:20:02 · 561 阅读 · 1 评论 -
JAVA小练习--实现银行ATM简单功能
银行ATM简单实现实现功能1,用户需要通过输入银行卡号和密码才能进入ATM系统2,用户可以在ATM中实现取款、存款、转账、余额查询、退出系统等功能简单分析1,创建User类(cardNo,identity,phone,username,password,balance(余额))2,创建Bank类,主要实现初始化用户、用户登录、显示菜单、取款、存款、转账、余额查询、退出系统等功能。代码实现User.javapublic class User { private String use原创 2020-09-23 20:38:50 · 609 阅读 · 0 评论 -
JAVA之插入排序和希尔排序的快速学习
插入排序和希尔排序的学习插入排序(1)排序思路从待排序的数据元素的第二个元素开始,向前进行搜索,如果发现前面的数据元素大于第二个元素就进行交换操作,第二个元素搜索完就从第三个元素开始继续向前搜索并交换(通过交换来保证前面的元素都具有顺序),以此类推完成排序过程。例如对 24,6,34,12,20进行排序的过程如下(2)实现代码public static void insertSort(int[] arr){ for(int i=1;i<arr.length;i++){原创 2020-09-12 18:55:04 · 144 阅读 · 0 评论 -
JAVA IO流之对接流(使用文件字节流和字节数组流完成图片的复制)
文件字节流和字节数组流对接完成复制图片1,过程示意图程序主要起中转的作用。这个过程主要模拟的是通过网络来向不同机器传输文件的底层思想。2,代码演示import java.io.*;public class TestIO {public static void main(String[] args) { //图片转换为字节数组 byte[] dest=FileToByteArray("a.jpg"); System.out.println(dest.length); //将字节数组还原原创 2020-06-19 11:45:14 · 382 阅读 · 0 评论 -
JAVA IO流之FileInputStream类和FileOutputStream类对文件进行读写操作的标准写法
FileInputStream类和FileOutputStream类的学习JAVA IO流中主要可以分为字节流和字符流。FileInputStream类和FileOutputStream类它们分别是InputStream抽象类和 OutputStream抽象类的实现子类,都属于字节流。1,FileInputStream简单使用该类通过字节的方式读取文件,适合读取所有类型的文件(图像、视频)import java.io.File;import java.io.FileInputStream;imp原创 2020-06-18 11:27:08 · 1011 阅读 · 0 评论 -
简易实现一个HashMap
简单实现一个HashMpa最近在学习HashMap,我根据它的源码,然后自己模仿实现了一个简易版本的HashMap(put/get)。HashMap采用哈希算法实现,是Map接口最常用的实现类。 由于底层采用了哈希表存储数据,我们要求键不能重复,如果发生重复,新的键值对会替换旧的键值对。 HashMap在查找、删除、修改方面都有非常高的效率。Node.java//定义节点类public class Node<K,V>{ int hash; //哈希值 K key; V value;原创 2020-06-13 10:48:45 · 712 阅读 · 0 评论 -
简单模拟实现LinkedList
小黑爱学习之简单模拟实现LinkedList(使用双向链表)LinkedList是JAVA容器中常用的一个实现类,它的底层是由双向链表实现的。它的特点主要有查询效率低,增删效率高,线程不安全等,适由于频繁的增删的情况。1,双向链表双向链表也叫双链表,是链表的一种,它的每个数据节点中都有两个指针,分别指向前一个节点和后一个节点。所以,从双向链表中的任意一个节点开始,都可以很方便地找到所有节点。2,模拟实现LinkedList(1)定义一个节点类(MyNode)/** *定义一个节点类 */原创 2020-06-09 11:36:27 · 251 阅读 · 0 评论 -
快速学习理解JAVA异常
快速学习JAVA异常(try/catch用法)JAVA中很多异常类,这些类对应了各种各样可能出现的异常事件,所有异常对象都是派生于Throwable类的一个实例。如果JAVA内置的异常类不能够满足开发人员的需要,还支持自定义异常类。1,异常的分类Throwable类派生出两大子类:Error和Exception。Error表示程序无法解决的错误,程序员不需要管。Exception又可以分为CheckedExcepetion(已检查异常)和RuntimeException(运行时异常),这类异常是需要程原创 2020-05-31 12:27:55 · 192 阅读 · 0 评论 -
JAVA编写简单日历
JAVA编写简单日历近期了解了一下Date类、DateFormat类和Calendar类的关系以及作用,我就练习着写了一个日历程序。该程序没有什么难点,主要是体会字符串、时间对象、日期对象相互转换的关系。1,代码在这里插入代码片...原创 2020-05-30 10:37:45 · 594 阅读 · 0 评论