Java学习
何同学。
此人很懒正在学习。
展开
-
实现一个前缀树,包含insert,search和startWith这三个操作
前缀树package cn.hq;/** * @Author: hq * @Date: 2021/3/2 16:21 * @Description:实现一个前缀树,包含insert,search和startWith这三个操作 * 前缀树: */class Node { boolean isEnd = false; // 假设该结点有26个子节点(26个字母) Node[] next = new Node[26]; //设置该结点是叶子节点(字符串结尾)原创 2021-04-16 16:54:42 · 150 阅读 · 0 评论 -
LRU缓存:java实现
1、LRU缓存package cn.hq;import java.util.HashMap;import java.util.LinkedList;import java.util.Queue;/** * @Author: hq * @Date: 2021/3/1 18:07 * @Description: * LRU缓存应支持get、put * get(key):获取数据。若key存在,则获取值,否则返回-1 * put(key,value):如果存在则变更该数据,如果不存在则插原创 2021-04-16 16:53:13 · 188 阅读 · 0 评论 -
Java项目综合案例:分页查询的实现
分页显示所有信息的简单实现具体实现效果如下所示:首页超链接点击:跳转到查询到的显示结果上面:点击下一页/尾页:实现步骤:1、准备工作测试用的有个login表项目具体分包如下:2、(bean层)创建表对应的实体类User和用于存储页面信息的Page类User.javapackage cn.hq.bean;public class User { private String username; private String password; public User原创 2020-11-19 16:24:33 · 669 阅读 · 0 评论 -
java中类的反射机制及元注解实现数据库操作
一、元注解注解的注解,即java为注解开发特准备的注解@Target:定义注解的作用目标 @Target(ElementType.TYPE) //接口、类、枚举、注解 @Target(ElementType.FIELD) //字段、枚举的常量 @Target(ElementType.METHOD) //方法 @Target(ElementType.PARAMETER) //方法参数 @Target(ElementType.CONSTRUCTOR) //构造函数 @Tar原创 2020-10-17 14:16:39 · 459 阅读 · 0 评论 -
比较器comparable、comparator的区别与使用
比较器1、comparable内部比较器(实现在自定义类中)作用:可以自己指定规则判断对象之间的大小Comparable接口强行对实现它的每个类的对象进行整体排序。int compareTo(T o)比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。class Student implements Comparable<Student>{ private int ID; private String name; pu原创 2020-10-02 17:16:05 · 205 阅读 · 0 评论 -
Java集合框架总结List、Set、Map的区别详解
整体上分为两大接口:Collection和Map,一个是元素集合,一个是键值对集合List,Set,Map三者的区别:List(对付顺序的好帮⼿): List接⼝存储⼀组不唯⼀(可以有多个元素引⽤相同的对象),有序的对象Set(注重独⼀⽆⼆的性质): 不允许重复的集合。不会有多个元素引⽤相同的对Map(⽤Key来搜索的专家): 使⽤键值对存储。Map会维护与Key有关联的值。两个Key可以引⽤相同的对象,但Key不能重复,典型的Key是String类型,但也可以是任何对象。一、Collect原创 2020-10-02 17:07:13 · 308 阅读 · 0 评论 -
使用jQuery和ajax实现省市联动(含json的使用)
实现效果如下:1、不使用json的方式前端:<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>原创 2020-07-10 10:53:50 · 347 阅读 · 0 评论 -
使用ajax和jQuery检验用户名是否可用(局部刷新)
分别使用ajax和ajax与jQuery结合的方式校验用户名是否可用(含实现效果)原创 2020-07-10 10:34:48 · 262 阅读 · 0 评论 -
使用session和jsp实现简单购物车
这里没有连接数据库,用的一个类模仿数据库了(一)、实体类代码Book.javapublic class Book implements Serializable{ private String id; private String name; private String price; private String author; public Book() { super(); } public Book(String id, String name, String price,原创 2020-07-07 21:53:09 · 2525 阅读 · 4 评论 -
使用cookie显示最近访问的时间和商品浏览记录
一、显示最近访问的时间判断账号是否正确如果正确,则获取cookie。 但是得到的cookie是一个数组, 我们要从数组里面找到我们想要的对象。如果找到的对象为空,表明是第一次登录。那么要添加cookie如果找到的对象不为空, 表明不是第一次登录。 获取上次登录的时间并且更新登录时间前端页面login.html: <form action="loginServlet" method="post"> 用户名:<input type="text" name="username原创 2020-07-07 21:47:16 · 534 阅读 · 0 评论 -
Request与Response中文乱码处理(含过滤器)
HTTPServletRequest与HttpServletResponse的作用以及对中文乱码处理原创 2020-06-28 18:15:04 · 364 阅读 · 0 评论 -
实现servlet的文件下载(处理中文乱码)
当下载文件有中文时解决乱码问题。如果是火狐浏览器,用base64解码, 其他都是urlencoding去解码原创 2020-06-28 17:55:16 · 383 阅读 · 2 评论 -
ServletContext的作用与应用(获取网站登陆成功总人数)
ServletContext作用1、获取全局配置参数2、获取web工程中的资源3、存储数据,(得到当前项目在线人数)原创 2020-06-28 10:10:29 · 203 阅读 · 0 评论 -
利用过滤器对登录验证
很多web项目没登录就可以直接访问到其他jsp或者servlet,显然这是不合法的。创建登录验证的servlet,只有登录了才可以访问到该项目其他页面如未登录时访问任意页面都会直接跳转到登录界面要求登录。首先是登录页面,里面有个出错显示的信息框(这个页面可不管,只要点击登陆后会跳转到对应的登录servlet就行)<%@ page contentType="text/html;charset=UTF-8" language="java" %><!DOCTYPE html>&原创 2020-06-18 20:48:17 · 879 阅读 · 0 评论 -
javaweb简易学生管理系统,对学生信息的增删查改
用eclipse做的课后实验项目,功能还挺多的,包括注册、登录(有验证码)、对学生信息的增删查改以及文件的上传和下载等。具体效果如下:注册界面:登录界面:登录成功后跳转到如下界面:选择第一个操作,进到下一个页面(查询学生信息):点击修改和删除可以对学生信息进行修改和删除,文件上传和下载功能网上都可以搜,这里就不做演示了。首先是数据库中有个学生表,其中包含学生的基本信息。项目大概结构如下:分包大概如下吧(自身习惯):做项目前先准备好下面工具:导入需要的jar包以及创建连接数据库原创 2020-06-17 19:09:12 · 13085 阅读 · 92 评论 -
java实现对二叉树的各种操作
最近刷到挺多关于对二叉树相关操作的题目,刚开始还觉得挺难的,后来做了几次后发现有规律可循。方法不唯一但有时很难想到,特别是递归调用感觉看别人的代码挺简单的但是自己就是想不到转不过弯来,写个笔记以免自己忘了-_-(题目大多来自牛客网或者力扣,可能有错误欢迎指出)首先,二叉树基本结构为:public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val =原创 2020-05-20 11:45:53 · 315 阅读 · 7 评论 -
java线程同步的实现及java中的锁(同步锁,静态锁:生产者消费者模式,死锁)
主要包括实现同步的两种方式,以及同步锁(生产者消费者模式),静态锁,死锁(左右筷子死锁)一、同步并发访问的问题:有时两个或多个线程可能会试图同时访问一个资源例如,一个线程可能尝试从一个文件中读取数据,而另一个线程则尝试在同一文件中修改数据。例如,100个线程同时往一个帐户存钱。此情况下,数据可能会变得不一致,解决方法——同步概念: 当两个或多个线程需要访问同一资源时...原创 2020-05-14 21:55:53 · 227 阅读 · 0 评论 -
java线程基础:线程Thread的创建方式及其常用方法,结束线程的三种方式
线程基础1.程序 一堆命令的集合,进程的静止的状态,包括了可执行文件、配置文件、数据文件等等软件文件集合2.进程 程序运行期间的动态状态,占用内存、占用CPU等系统资源3.线程 进程下的最小的执行单元,多任务处理的最基本的执行单元新建 (Born) : 新建的线程处于新建状态就绪 (Ready) : 在创建线程后,...原创 2020-05-12 21:36:04 · 266 阅读 · 0 评论 -
java中的网络通信,多线程与网络编程socket/ServerSocket
一、网络通信基本概念1、IP 在Internet上有千百万台主机,为了区分这些主机,人们给每台主机都分配了一个专门的地址,称为IP地址。32 位数字,四个用点号分隔的数字包括网络 ID 和主机 ID网络的类包括 A、B、C、D、E 类InetAddress 的实例包含 IP 地址,还可能包含相应的主机名。构造方法用于创建实例:InetAddress getLoc...原创 2020-05-12 21:35:09 · 337 阅读 · 0 评论 -
java中IO流分类,字节流、字符流及其转换、对象流、配置文件的操作、随机访问流
一、IO流分类IO流用来处理设备之间的数据传输;Java对数据的操作是通过流的方式;Java用于操作流的类都在IO包中。IO流分类: 1、流按流向分为两种:输入流,输出流。 2、 流按操作类型分为两种: (1)字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的 (2)字符流 : 字符流只能...原创 2020-04-24 22:07:50 · 191 阅读 · 0 评论 -
java中文件File类的常用方法以及文件过滤器的使用
文件File file类:文件和目录路径名的表现形式——通过file对象实现对文件或文件夹的操作1.构造方法(3种)File(String pathname)通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。File(String parent, String child):根据 parent 路径名字符串和 child 路径名字符串创建一个新 File ...原创 2020-04-23 09:05:37 · 246 阅读 · 0 评论 -
使用JDBC对数据库进行增删查改以及封装工具类
一、使用JDBC的基本步骤 1.创建一个Java工程 2.根目录下面创建lib文件夹 3.引入相关jar包—导包 4.创建一个文件 5.注册驱动(可以不写)DriverManger 6.创建连接 DriverManger.getConnection() 7.创建通道 状态通道statement 8....原创 2020-03-26 10:51:18 · 423 阅读 · 0 评论 -
java实现服务器、客户端的多线程聊天室
上课学习的利用swing界面的简单聊天室;包括登录、注册、聊天群发以及下线等功能运行效果如图:服务器开启:登录:注册:聊天:项目所需资料:sounds文件下是上下线的提示音。images内是背景图片,lib内是连接mysql的工具配置文件jdbc.properties:url=jdbc:mysql://localhost/shopping?useUnicode=true&...原创 2020-03-24 15:52:30 · 1316 阅读 · 4 评论 -
java实现动态数组,数组与字符串
Java学习笔记(3)1.String类String-用于表述字符串,代码中被双引号引用的就叫字符串注意:1.值是存储在被final修饰的char数组中2.String被final修饰String的使用:1.构造方法String str=new String(“字符序列”)2.length()3.equals():比较两个字符串的值是否相等4.indexOf():返...原创 2019-07-12 20:52:01 · 3017 阅读 · 0 评论 -
利用java实现各种排序
之前学数据结构与算法的时候学过一些排序的算法,但都是用的C++实现,在了解到java之后,其实感觉在一些算法实现过程中,Java好像比C++容易一些。现在很多代码还写不来,所以有部分就参考了一些大佬的代码○·○,侵权联系删☺1.冒泡排序依次做相连数据之间大小的比较,如果后数据比前面小则交换位置实现:1.外层循环:控制冒泡次数2.内层循环:控制每次冒泡的过程public class s...原创 2019-07-13 20:27:40 · 162 阅读 · 0 评论