Java
java
shangshanzixu
这个作者很懒,什么都没留下…
展开
-
Java中使用MD5与Base64进行加密
MD5什么是MD5:MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。这套算法的程序在 RFC 1321 标准中被加以规范。1996年后该算法被证实存在弱点,可以被加以破解,对于需要高度安全性的数据,专家一般建议改用其他算法,如S原创 2020-08-11 21:54:55 · 1162 阅读 · 0 评论 -
Java使用监听器和Token完成单态登录
在门户网站一般都有这样的一个功能,你用另外一个设备或者在另一个网站登录,前一次登录的状态将会被挤下去。今天我们就使用监听器来实现这个功能。主要的思路就是,在监听器内部建立一个map,key为当前登录用户信息计算出的token,value为对的会话session,如果需要对session的数据进行增删改则会触发监听器,判断用户是否已经登录,如果登录了,那么就在对印的session中删除用户登录信息。文章结构工具类实体类映射文件和接口servlet监听器前端页面结果测试工具类package com.op原创 2020-08-11 18:38:27 · 566 阅读 · 0 评论 -
Java 字典树实现
字典树:又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。package myclass;import openlab.day14.AVLTreeMap;//因为是针对于字符串的字典树,所以不需要泛型public class Trie { /** * 定义节点n原创 2020-08-09 19:47:35 · 614 阅读 · 1 评论 -
Cookie和Session的区别与联系
1.什么是cookie由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理。Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务原创 2020-08-06 09:01:36 · 461 阅读 · 0 评论 -
利用ServletContext简单实现网站访问量统计
servlet代码import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResp原创 2020-08-02 21:25:35 · 1343 阅读 · 0 评论 -
java中的File类及其主要方法介绍
Java File类简介首先File类位于java.io包下,我们来看下File的继承体系。可以看到File类实现了Comparable接口,所以File类是可以进行比较的,这和我们平时可以根据文件名、创建日期这些对文件进行排序是相符合的。然后我们再来看看File类中的主要构造方法。常见的构造方法有直接传入一个绝对路径 ,或者给出父文件或者父目录进行创建。File类里面需要掌握的常用方法(注意File类的基本操作都是针对这个文件,而不是里面的内容)//方法一:判断该文件是否可执行pub原创 2020-06-20 19:28:47 · 307 阅读 · 0 评论 -
Java之IO技术详解以及所遇到的问题
在我们编程时,时常需要用到一些存储在磁盘上的数据或文件,所以掌握IO流的基本操作是在开发过程中的一项必备技能,这篇文章我们先简要看一下Java中有关输入输出流的一些基本类。原创 2020-06-22 21:52:41 · 197 阅读 · 0 评论 -
JavaArrayList简单实现
话不多说直接上代码public interface List<E> extends Iterable<E>{ //获取当前线性表的最大容量 public int getCapacity(); //获取线性表中有效元素的个数 public int size(); //判断线性表是否为空 public boolean isEmpty(); //在表尾添加元素 public void add(E e) ; //在指定索引处添加元素 public void add(原创 2020-07-04 20:22:14 · 549 阅读 · 0 评论 -
Java栈的实现与简单应用
上一篇博客我们实现了动态数组,今天我们对动态数组进行封装实习我们常用的数据结构栈。//接口定义public interface Stack<E> extends Iterable<E> { public void push(E e); public E pop(); public E peek(); public boolean isEmpty(); public int size(); public void clear();}public class Arra原创 2020-07-05 22:25:37 · 203 阅读 · 1 评论 -
Java双端栈与队列应用
1.双端栈//该类主要实现双端栈的功能public class ArrayDoubleEndStack<E> { //因为我们目前所写的数据结构没有一个能够直接实现双端站的功能,所以我们只能直接对数据进行封装 public static final int DEFAULT_CAPACITY=10;//数组的默认长度 private E[] data; private int lTop;//左端栈的栈顶指针,实际从-1开始 private int rTop;//右端栈的栈顶指针,实际原创 2020-07-06 22:35:55 · 233 阅读 · 0 评论 -
图解代理模式
代理模式代理模式是我们在开发过程中常见的设计模式之一,同时也是各个大厂笔试面试常见考点之一。代理(Proxy)是一种设计模式,提供了间接对目标对象进行访问的方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的功能上,增加额外的功能补充,即扩展目标对象的功能.这就符合了设计模式的开闭原则,即在对既有代码不改动的情况下进行功能的扩展。举个例子来说明代理的作用:明星与经纪人之间就是被代理和代理的关系,明星出演活动的时候,明星就是一个目标对象,他只要负责活动中的节目,而其他琐碎的事情就交给原创 2020-07-08 12:42:47 · 574 阅读 · 0 评论 -
Java封装、面向对象与解耦实际案例(结合工厂设计模式、动态代理、反射机制和注解配置)
假设现在我们有这样一个场景,有一个电脑用户,需要通过代理类进行网络连接,发送QQ消息,请你提供将对应的真实实现类的信息保存在注解中,通过注解的方式获取service服务类。代码如下public class AnnotationFactoryTest { public static void main(String[] args) { IChannelService iChannelService = new IChannelService(); iChannelS原创 2020-07-08 20:51:26 · 237 阅读 · 0 评论 -
Java——JDBCUtils实现(基于反射特性)
JDBC(Java Database Connectivity)1.获取数据库连接要想获取数据库连接,我们必须知道实现数据库连接到底需要做些什么?1. 首先数据库和Java程序是两个独立的整体,所以Java程序要想访问数据库,那么就需要驱动程序,所以我们首先得导入mysql得数据库驱动包;2. 导入驱动后,我们Java程序此时并不知道存在有这个驱动类,所以我们需要主动去加载这个类。同时Java提供了DriverManager驱动管理类,所以加载的驱动类应该在DriverManager中进行注册,但是原创 2020-07-08 21:49:31 · 246 阅读 · 0 评论 -
Java抽象类为什么不能被实例化?
问题背景在理解抽象类为什么不能被实例化之前,首先我们要了解以下几个问题。问题一:什么是抽象类?抽象类是Java中一种特殊的类,该类使用了abstract关键字进行修饰,该类允许有普通方法和抽象方法,该类不能够进行实例化(这个在后面进行解释)因为抽象类不能直接实例化,所以必须需要有实现子类。问题二:为什么要有抽象类?抽象类是介于接口与普通类之间的一种结构,接口中定义的都是抽象方法,而类中都是普通方法。当我们存在一类事物,他们大多数结构和功能存在雷同,只有少部分存在不同,如果我们直接使用子类实现接口原创 2020-07-08 22:25:23 · 4964 阅读 · 0 评论 -
Java类集之List及其常用子类
List接口List接口是Collection接口的子接口,与Set不同的是List中的元素是有序且允许重复的。所以List接口提供了根据索引获取元素。ArrayListArrayList是基于对象数组实现的,ArrayList不是线程同步的,它允许重复元素,允许加入null值。默认扩容长度为原长度的1.5倍。下面我们从ArrayList的构造方法说起第一个无参的构造和传入collection的构造都是Collection接口中指定的,在Collection官方文档中可以看到。译文:所有通原创 2020-07-09 22:24:52 · 374 阅读 · 0 评论 -
Java通过webService接口获取天气预报
import java.io.InputStream;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.net.URL;import java.net.URLConnection;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.D.原创 2020-07-17 15:20:11 · 382 阅读 · 0 评论