JAVA
「已注销」
这个作者很懒,什么都没留下…
展开
-
JAVA- 类型和泛型
泛型public class MaximumTest {public static void main(String[] args) {System.out.printf("%d,%d和%d 中最大的数为 %d\n\n", 3, 4, 5, maximum(3, 4, 5));System.out.printf("%.1f,%.1f和%.1f 中最大数为%.1f\n\n", 4.3,7.7,6.3,maximum(4.3, 7.7, 6.3));}private static <T ext原创 2020-07-08 00:22:31 · 9318 阅读 · 0 评论 -
JAVA-EL 表达式内置(隐式)对象
EL 表达式内置(隐式)对象pageContext JSP 页面中的 pageContext 对象,可以获取其他 8 大对象pageScope 代表 page 域中保存的数据,map 对象requestScope 代表 request 域中保存的数据,map 对象sessionScope 代表 session 域中保存的数据,map 对象applicationScope 代表 application 域中保存的数据,map 对象param 表示保存所有页面请求参数的 map 对象paramVa转载 2020-07-08 00:21:01 · 9442 阅读 · 0 评论 -
OAuth2.0 的四种授权方式
OAuth 简单理解就是一种授权机制,它是在客户端和资源所有者之间的授权层,用来分离两种不同的角色。在资源所有者同意并向客户端颁发令牌后,客户端携带令牌可以访问资源所有者的资源。OAuth2.0 是 OAuth 协议的一个版本,有 2.0 版本那就有 1.0 版本,有意思的是 OAuth2.0 却不向下兼容 OAuth1.0 ,相当于废弃了 1.0 版本。举个小栗子解释一下什么是 OAuth 授权?在家肝文章饿了定了一个外卖,外卖小哥 30 秒火速到达了我家楼下,奈何有门禁进不来,可以输入密码进入,但原创 2020-07-08 00:17:31 · 11189 阅读 · 1 评论 -
JAVA-过滤器和拦截器2
1、实现原理不同过滤器和拦截器 底层实现方式大不相同,过滤器 是基于函数回调的,拦截器 则是基于 Java 的反射机制(动态代理)实现的。这里重点说下过滤器!在我们自定义的过滤器中都会实现一个 doFilter() 方法,这个方法有一个 FilterChain 参数,而实际上它是一个回调接口。ApplicationFilterChain 是它的实现类, 这个实现类内部也有一个 doFilter() 方法就是回调方法。public interface FilterChain {void doFilt原创 2020-07-05 21:13:34 · 11339 阅读 · 0 评论 -
JAVA-过滤器和拦截器1
1、过滤器 (Filter)过滤器的配置比较简单,直接实现 Filter 接口即可,也可以通过 @WebFilter 注解实现对特定 URL 拦截,看到 Filter 接口中定义了三个方法。init() :该方法在容器启动初始化过滤器时被调用,它在 Filter 的整个生命周期只会被调用一次。注意:这个方法必须执行成功,否则过滤器会不起作用。doFilter() :容器中的每一次请求都会调用该方法, FilterChain 用来调用下一个过滤器 Filter。destroy(): 当容器销毁 过滤器原创 2020-07-05 21:09:29 · 13932 阅读 · 5 评论 -
java 单例模式
单例模式jdk 中的 Runtime 就是典型的饿汉式写法源码如下:public class Runtime { private static Runtime currentRuntime = new Runtime(); /** * Returns the runtime object associated with the current Java application. * Most of the methods of class <code>原创 2020-07-04 01:09:43 · 10377 阅读 · 0 评论 -
JAVA多线程-线程
创建线程要了解多线程,肯定要先知道如何创建线程,创建线程的方式有三种,继承 Thread 类、实现 Runnable 接口、实现 Callable 接口。//创建线程方式一:继承Thread类,重写run()方法,调用start开启线程public class TestThread1 extends Thread {@Overridepublic void run() {//run方法线程体for (int i = 0; i < 20; i++) {System.out.println转载 2020-07-04 01:07:52 · 9642 阅读 · 0 评论 -
Java NIO - 零拷贝
NIO 零拷贝使用传统的 IO 方法传递一个大文件使用 NIO 零拷贝方式传递 (transferTo) 一个大文件看看两种传递方式耗时时间分别是多少传统 IO 方法服务端代码public class OldServer { public static void main(String[] args) { try { ServerSocket serverSocket = new ServerSocket(1212); Sy转载 2020-06-27 18:23:34 · 12454 阅读 · 0 评论 -
聊聊Java NIO
经过查看,代码执行如下如果数组为基础类型,则直接调用//基础类型都是一样的//Arrays.copyOf方法public static byte[] copyOf(byte[] original, int newLength) {byte[] copy = new byte[newLength];System.arraycopy(original, 0, copy, 0,Math.min(original.length, newLength));return copy;}//System转载 2020-06-27 18:16:59 · 10980 阅读 · 0 评论