05 2020 档案
摘要:服务器端会话技术——session 什么是一次会话呢,在生活中一次会话就是一次聊天,那么在J2EE中的一次会话指的是什么呢? 简单的说,打开浏览器,访问服务器,直到浏览器关闭,称为一次会话,严格的说,一次会话应该是依赖session的生成机制,那么什么是Session的生成机制呢? Session生
阅读全文
摘要:会话技术 1、会话:一次会话中包含多次请求和响应。 一次会话:浏览器第一次给服务器发送资源,会话建立,直到有一方断开为止。 2、功能:在一次会话的范围内的多次请求间,共享数据。 3、方式:客户端会话技术:cookie; 服务器端会话技术:session。 cookie: 1、概念:客户端会话技术,将
阅读全文
摘要:文件下载案例 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><a id="tu" href="/img/3.jpg">图片</a><hr><a id="tu2
阅读全文
摘要:RegExp正则表达式 什么是 RegExp? RegExp 是正则表达式的缩写。 当您检索某个文本时,可以使用一种模式来描述要检索的内容。RegExp 就是这种模式。 简单的模式可以是一个单独的字符。 更复杂的模式包括了更多的字符,并可用于解析、格式检查、替换等等。 您可以规定字符串中的检索位置,
阅读全文
摘要:jdbc 1、概念: Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系
阅读全文
摘要:服务器文件上传 public class TCPServer { public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSocket(8888); while
阅读全文
摘要:TCP通信 TCP通信:面向连接的通信,客户端和服务器端必须经过3次握手,建立逻辑连接,才能通信(安全) 通信步骤: 服务器端先启动,服务器端不会主动的请求客户端,必须使用客户端请求服务器端,客户端和服务器端就会建立一个逻辑连接,而这个连接中包含一个对象,这个对象就是IO对象,客户端与服务器端就可以
阅读全文
摘要:打印流PrintStream public class PrintStreamextends FilterOutputStreamimplements Appendable, Closeable A PrintStream为另一个输出流添加了功能,即能够方便地打印各种数据值的表示。还提供了另外两个功
阅读全文
摘要:序列化与反序列化注意 被TransientTransient关键字所修饰的对象不能被序列化。(static也是。) 这个关键字的作用其实我在写java的序列化机制中曾经写过,不过那时候只是简单地认识,只要其简单的用法,没有深入的去分析。这篇文章就是去深入分析一下transient关键字。 先给出这篇
阅读全文
摘要:IO I/O输入/输出(Input/Output),分为IO设备和IO接口两个部分。 在POSIX兼容的系统上,例如Linux系统,I/O操作可以有多种方式,比如DIO(Direct I/O),AIO(Asynchronous,I/O 异步I/O),Memory-Mapped I/O(内存映设I/O
阅读全文
摘要:Java之单例模式(懒汉模式、饿汉模式) 懒汉模式:在类加载的时候不被初始化。 饿汉模式:在类加载时就完成了初始化,但是加载比较慢,获取对象比较快。 *饿汉模式是线程安全的,在类创建好一个静态对象提供给系统使用, 懒汉模式在创建对象时,如果不加上synchronized,会导致对象的访问不是线程安全
阅读全文
摘要:File过滤器 1、listFiles(FileFilter filter) 返回一个抽象路径名数组,表示由此抽象路径名表示的满足指定过滤器的目录中的文件和目录。 作用:用来过滤文件(Filter对象) listFiles会做的事: a:如果里面不传FileFilter过滤器,就会返回抽象路径名数组
阅读全文
摘要:递归 递归:指在当前方法内调用自己的这种现象。 分类: 直接递归、间接递归。 注意: 递归一定要有条件限定,保证递归能够停下来,否则会发生栈内存溢出。 递归次数不可太多,否则也会发生栈内存溢出。 构造方法,禁止递归。 递归的三大要素 第一要素:明确你这个函数想要干什么 对于递归,我觉得很重要的一个事
阅读全文
摘要:File public class Fileextends Objectimplements Serializable, Comparable<File> 文件和目录路径名的抽象表示。 用户界面和操作系统使用依赖于系统的路径名字符串命名文件和目录。 这个类提供了一个抽象的,独立于系统的层次化路径名的
阅读全文
摘要:Lambda表达式 标准格式由三部分组成: 一些参数 一个箭头 一段代码 即:(参数类型 参数名称)->{ 一些重写方法的代码 } 格式说明: ():接口中的抽象方法的参数列表;无参数则留空;多个参数则用逗号分隔 -> : 传递的意思,把参数传递给方法体{} {} : 重写的抽象方法的方法体 1、无
阅读全文
摘要:线程池 线程池:其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源。 1、使用线程池的工厂类Executors里边提供的静态方法newFixedThreadPool生产一个指定线程数量的线程池 2、创建一个类,实现Runnable接口
阅读全文
摘要:等待与唤醒机制 1、线程间通信 概念:多线程在处理同一个资源,但是处理的动作却不相同。 为什么处理线程间通信? 多线程并发执行时,在默认情况下CPU是随机切换线程的,当我们需要多线程来共同完成一件任务,并且我们希望他们有规律的执行,那么多线程之间需要一些协调通信,以此来帮我们达到多线程共同操作一份数
阅读全文
摘要:多线程 并发与并行 并发:指两个或多个事件在同一个时间段内发生。 并行:指两个或多个事件在同一个时刻发生(同时发生)。 进程与线程 进程:指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程
阅读全文
摘要:异常Throwable 所有已实现的接口: Serializable 直接已知子类: Error, Exception public class **Throwable**extends Objectimplements Serializable Throwable 类是 Java 语言中所有错
阅读全文
摘要:Map<K,V>集合 public interface Map<K,V> 将键映射到值的对象。地图不能包含重复的键;每个键可以映射到最多一个值。 这个接口取代了Dictionary类,它是一个完全抽象的类而不是接口。 Map界面提供了三个集合视图 ,允许将映射内容视为一组键,值集合或键值映射集合。
阅读全文
摘要:Collections public class Collectionsextends Object 此类仅由静态方法组合或返回集合。它包含对集合进行操作的多态算法,“包装器”,返回由指定集合支持的新集合,以及其他一些可能的和最终的。 如果提供给它们的集合或类对象为null,则此类的方法都抛出一个N
阅读全文
摘要:可变参数 * 可变参数:是jdk1.5之后出现的新特性* 使用前提:* 当方法的参数列表数据类型已经确定,但是参数的个数不确定,就可以使用可变参数。* 格式:定义方法时使用* 修饰符 返回值类型 方法名(数据类型...变量名){}* 原理:* 可变参数底层就是一个数组,根据传递参数个数不同,会创建不
阅读全文
摘要:Set public interface Set<E>extends Collection<E> 不包含重复元素的集合。更正式地,集合不包含一对元素e1和e2 ,使得e1.equals(e2) ,并且最多一个空元素。正如其名称所暗示的那样,这个接口模拟了数学集抽象。 Set接口除了继承自Collec
阅读全文
摘要:同步和异步 如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。 当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步
阅读全文
摘要:Vector (了解) public class Vector<E>extends AbstractList<E>implements List<E>, RandomAccess, Cloneable, Serializable Vector类实现了可扩展的对象数组。像数组一样,它包含可以使用整数索
阅读全文
摘要:LinkedList public class LinkedList<E>extends AbstractSequentialList<E>implements List<E>, Deque<E>, Cloneable, Serializable 双链表实现了List和Deque接口。实现所有可选列
阅读全文
摘要:List public interface List<E>extends Collection<E> 有序集合(也称为序列 )。该界面的用户可以精确控制列表中每个元素的插入位置。用户可以通过整数索引(列表中的位置)访问元素,并搜索列表中的元素。 与集合不同,列表通常允许重复的元素。 更正式地,列表通
阅读全文
摘要:集合模拟斗地主 public class Demo04Main { public static void main(String[] args) { //1、准备牌 ArrayList<String> poker = new ArrayList<>(); String[] colors = {"♥
阅读全文
摘要:类的泛型 1、创建集合对象,不使用泛型 好处:集合不使用泛型,默认的类型就是object类型,可以存储任意类型的数据。 弊端:不安全,会引发异常。 2、创建集合对象,使用泛型 好处:为了避免类型转换的麻烦,存储的是什么类型,取出的就是什么类型。 把运行期异常(代码运行之后会抛出的异常),提升到了编译
阅读全文
摘要:Iterator迭代器 一个集合的迭代器。 booleanhasNext() 如果迭代具有更多元素,则返回 true 。 E next() 返回迭代中的下一个元素。 default void remove() 从底层集合中删除此迭代器返回的最后一个元素(可选操作)。 Collection<Strin
阅读全文
摘要:Collection集合 集合:集合是Java中提供的一种容器,可以用来存储多个数据。 集合与数组都是容器,它们的区别是什么? 1、数组的长度是固定的,集合的长度是可变的。 2、数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不同。在开发中,一般当对象多的
阅读全文
摘要:String String类代表字符串。Java程序中的所有字符串文字(例如"abc" )都被实现为此类的实例。 字符串不变; 它们的值在创建后不能被更改。 字符串缓冲区支持可变字符串。 因为String对象是不可变的,它们可以被共享。 例如: String str = "abc"; 相当于: ch
阅读全文
摘要:System类 1、public static long currentTimeMillis()返回当前时间(以毫秒为单位)。 请注意,虽然返回值的时间单位为毫秒,但该值的粒度取决于底层操作系统,并且可能较大。 例如,许多操作系统以几十毫秒为单位测量时间。 2、public static void
阅读全文
摘要:Date类的用法 /*** @Author 俺家笨丫头* @Description: 获取当前时间* @Date: 2020/5/1 12:04* @Param []* @throws Exception* @return java.util.Date*/public Date getCurrent
阅读全文