-
散列算法与散列码
所属栏目:[大数据] 日期:2021-05-21 热度:132
一、引入 /** * Description:新建一个类作为map的key */ public class Groundhog { protected int number; public Groundhog() { } public Groundhog( number) { this .number = number; } @Override String toString() { return "Groundhog{" + "number=" +[详细]
-
ArrayList 和 LinkedList的执行效率比较
所属栏目:[大数据] 日期:2021-05-21 热度:110
一、概念: ? ? 一般我们都知道 ArrayList* 由一个数组后推得到的 List。作为一个常规用途的对象容器使用,用于替换原先的 Vector。允许我们快速访问元素,但在从列表中部插入和删除元素时,速度却嫌稍慢。一般只应该用ListIterator 对一个 ArrayList 进行向[详细]
-
读书笔记 之《Thinking in Java》(对象、集合、异常)
所属栏目:[大数据] 日期:2021-05-21 热度:166
一、前言 ? ? 本来想看完书再整理下自己的笔记的,可是书才看了一半发现笔记有点多,有点乱,就先整理一份吧,顺便复习下前面的知识,之后的再补上。 ? ? 真的感觉,看书是个好习惯啊,难怪人家说“书籍是人类进步的阶梯”。之前学知识,喜欢网上找份教程,看[详细]
-
Java 泛型和类型擦除
所属栏目:[大数据] 日期:2021-05-21 热度:180
一、概念 ? 在 Java 语言处于还没有出现泛型的版本时,只能通过 Object 是所有类型的父类和类型强制转换两个特点的配合来实现类型泛化。这样做有个缺点,就是只有程序员和运行期的虚拟机才知道这个 Object 到底是个什么类型的对象。在编译期,编译器无法检查[详细]
-
JDK动态代理和CGLIB字节码增强
所属栏目:[大数据] 日期:2021-05-21 热度:111
一、JDK动态代理 Java 在 java.lang.reflect 包中有自己的代理支持,该类(Proxy.java)用于动态生成代理类,只需传入目标接口、目标接口的类加载器以及 InvocationHandler 便可为目标接口生成代理类及代理对象。我们称这个Java技术为:动态代理 @CallerSens[详细]
-
Java 原生网络编程.
所属栏目:[大数据] 日期:2021-05-21 热度:167
一、概念 ? ? Java 语言从其诞生开始,就和网络紧密联系在一起。在 1995 年的 Sun World 大会上,当时占浏览器市场份额绝对领先的网景公司宣布在浏览器中支持Java,从而引起一系列的公司产品对Java的支持,使得Java很快成为一种流行的语言。 ? ? Java 提供的[详细]
-
Java8 函数式编程
所属栏目:[大数据] 日期:2021-05-21 热度:111
一、函数接口 @H_502_3@ 接口 参数 返回类型 描述 @H_403_13@ PredicateTTboolean用来比较操作@H_403_13@ConsumerTTvoid没有返回值的函数@H_403_13@FunctionT,RTR有返回值的函数@H_403_13@SupplierTNoneT工厂方法-返回一个对象@H_403_13@UnaryOperatorTTT入[详细]
-
Java 注解
所属栏目:[大数据] 日期:2021-05-21 热度:67
一、概念和基本注解 ? ? 从JDK1.5开始,引入了源代码中的注解这一机制。注解使得 Java 源代码中不但可以包含功能性的实现代码,还可以包含元数据。 ? ? 那么什么是元数据呢?所谓元数据,就是描述数据的数据。比如说一张图片,图片内容是它的主体数据,那么[详细]
-
String 的 intern() 方法解析
所属栏目:[大数据] 日期:2021-05-21 热度:95
一、概述 JDK7 之前和之后的版本,String 的 intern() 方法在实现上存在差异,本文的说明环境是 JDK8,会在文末说明 intern() 方法的版本差异性。 intern() 方法是一个 native 的方法,返回常量池中的字符串引用,主要体现在以下两点: 如果常量池中已存在该[详细]
-
看看有哪些 Web 认证技术.
所属栏目:[大数据] 日期:2021-05-21 热度:91
BASIC 认证 BASIC 认证(基本认证)是从 HTTP/1.0 就定义的认证方式。 BASIC 认证会将“用户名:密码”经过 Base64 加密后放入请求头部的 Authorization 字段用于服务端校验,因为采用的是 Base64 加密,密码被盗用的风险极高,另外一般的浏览器也无法实现认[详细]
-
简单了解 HTTP 协议.
所属栏目:[大数据] 日期:2021-05-21 热度:199
一、HTTP 请求流程 最初,HTTP 协议的出现主要是为了解决文本传输的难题,由于协议本身非常简单,于是在此基础上设想了很多应用方法并投入了实际使用。现在 HTTP 协议已经超出了 Web 这个框架的局限,被运用到了各种场景里。 目前主流的 HTTP 版本还是 HTTP/[详细]
-
Java 发展历程
所属栏目:[大数据] 日期:2021-05-21 热度:166
JDK 1.0 1991年4月,由 James Gosling 博士领导的绿色计划(Green Project)开始启动,此计划的目的是开发一种能够在各种消费性电子产品(如机顶盒、冰箱、收音机等)上运行的程序架构。这个计划的产品就是Java语言的前身:Oak(橡树)。Oak当时在消费品市场[详细]
-
看看有哪些 Web 攻击技术.
所属栏目:[大数据] 日期:2021-05-21 热度:90
一、前言 HTTP 协议具有无状态、不连接、尽最大努力的特点,对于 Web 网站的攻击基本也是针对 HTTP 协议的这些特点进行的。比如无状态的特点,就要求开发者需要自行设计开发"认证"和"会话管理"功能来满足 Web 应用的安全,而形形色色的自行实现,也为用户会[详细]
-
也来聊聊 HTTPS.
所属栏目:[大数据] 日期:2021-05-21 热度:92
前言: 网上聊 HTTPS 的文章已经数都数不过来了吧,厚着脸皮,整理下读书笔记,结合平常项目的实践,也来聊聊 HTTPS。 一、为什么需要 HTTPS? 众所周知,HTTP 协议具有无连接、不可靠、尽最大努力的特点,这也为 HTPP 协议带来信息窃听或身份伪装等安全问题[详细]
-
Java 反射机制
所属栏目:[大数据] 日期:2021-05-21 热度:193
一、概念 ? ? Java 反射(Reflection)就是 Java 程序在运行时可以加载一个才知道类名的类,获得类的完整构造方法,并实例化出对象,给对象属性设定值或者调用对象的方法。这种在运行时动态获取类的信息以及动态调用对象的方法的功能称为 Java 的反射机制。[详细]
-
Java 处理 multipart/mixed 请求
所属栏目:[大数据] 日期:2021-05-21 热度:149
一、multipart/mixed 请求 ? multipart/mixed 和 multipart/form-date 都是多文件上传的格式。区别在于:multipart/form-data 是一种特殊的表单上传,其中普通字段的内容还是按照一般的请求体构建,文件字段的内容按照 multipart 请求体构建,后端在处理 mul[详细]
-
简述 HTTP 首部字段.
所属栏目:[大数据] 日期:2021-05-21 热度:104
一、概述 HTTP 首部字段是构成 HTTP 报文的要素之一。在客户端与服务器之间以 HTTP 协议进行通信的过程中,无论是请求还是响应都会使用首部字段,它能起到传递额外重要信息的作用。 使用首部字段是为了给浏览器和服务器提供报文主体大[详细]
-
计算机网络基础知识.
所属栏目:[大数据] 日期:2021-05-21 热度:110
一、计算机网络分类 ? ? 局域网(Local Area Network,LAN)是在一个局部的地理范围内(如一个企业、一个学校或一个网吧),一般是方圆几千米以内,将各种计算机、服务器、外部设备等互相连接起来组成的计算机通信网。 ? ? 城域网(Metropolitan Area Networ[详细]
-
使用 Lombok 优雅编码
所属栏目:[大数据] 日期:2021-05-21 热度:157
一、介绍和使用 ? ??Lombok 是一个 java 库,能以简单的注解形式来简化 java 代码,提高开发人员的开发效率。 ? ??常见使用在开发过程中需要写的 javabean,往往开发需要花时间去添加相应的 getter/setter,也许还要去写构造器、equals等方法,而且需要维护[详细]
-
再学习之Spring(面向切面编程).
所属栏目:[大数据] 日期:2021-05-21 热度:158
一、概念 1、理论 ? ? 把横切关注点和业务逻辑相分离是面向切面编程所要解决的问题。如果要重用通用功能的话,最常见的面向对象技术是继承(inheritance)或 组成(delegation)。但是,如果在整个应用中都使用相同的基类,继承往往会导致一个脆弱的对象体系[详细]
-
SpringMVC 中配置 Swagger 插件.
所属栏目:[大数据] 日期:2021-05-21 热度:54
一、简介 ?Swagger的目标是为REST API定义一个与语言无关的标准接口,允许用户发现和理解计算机服务的功能,而无需访问源代码。当通过Swagger正确定义时,用户可以用最少量的实现逻辑理解远程服务并与之交互。类似于低级编程所做的接口。 二、实现步骤 1、添[详细]
-
SpringMVC处理multipart请求.
所属栏目:[大数据] 日期:2021-05-21 热度:197
一、简述 ? ? multipart格式的数据会将一个表单拆分为多个部分(part),每个部分对应一个输入域。在一般的表单输入域中,它所对应的部分中会放置文本型数据,但是如果上传文件的话,它所对应的部分可以是二进制。类似这样: 二、 配置 multipart 解析器 ? ?[详细]
-
浅析 SpringMVC 原理和配置.
所属栏目:[大数据] 日期:2021-05-21 热度:149
一、原理 ? ??? Spring MVC基于模型-视图-控制器(Model-View-Controller,MVC)模式实现,它能够帮你构建像Spring框架那样灵活和松耦合的Web应用程序,将请求处理的逻辑和视图中的渲染实现解耦。 ? ? ?? 1、 DispatcherServlet 是 Spring MVC 的核心 。 Spr[详细]
-
远程桌面控制项目开发(Spring+Netty+Swing)
所属栏目:[大数据] 日期:2021-05-21 热度:136
【目录】 1.前言 2.初现端倪 3.款款深入 4.责任细分 5.功能层级图 6.项目结构 7.关键类设计 8.一些设计想法 9.待优化 10.一点心得 11.效果演示 12.讨论 13.GitHub源码 ## 前言 远程桌面控制的产品已经有很多很多,我做此项目的初衷并不是要开发出一个商用的[详细]
-
RestTemplate使用不当引发的问题分析
所属栏目:[大数据] 日期:2021-05-21 热度:180
背景 系统: SpringBoot开发的Web应用; ORM: JPA(Hibernate) 接口功能简述: 根据实体类ID到数据库中查询实体信息,然后使用RestTemplate调用外部系统接口获取数据。 问题现象 浏览器页面有时报504 GateWay Timeout错误,刷新多次后,则总是timeout 数据库[详细]