自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 xss闯关笔记

leve 1第一关没有任何过滤直接上绝活:?username=<script>alert(1)</script>level2f12看一下源码:这里发现使用escape()所以这里没有办法注入,但是username=?这里是可以注入的,这里发现变量是单引号闭合的,所以构造?username=';alert(1);//这样就成功注入了level3这里我们模仿上一关的思路构造之后发现单引号被转义了没关系,一个单引号被过滤没关系我们可以用多个来绕过

2022-03-06 14:07:15 3976

原创 ElasticSearch

Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。实时分析的分布式搜索引擎。可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。一、基本概念先说Elasticsearch的文件存储,Elasticsearch是面向文档型数据库

2022-03-02 19:11:45 87

原创 消息队列RabbitMQ

关于消息队列,从前年开始断断续续看了些资料,想写很久了,但一直没腾出空,近来分别碰到几个朋友聊这块的技术选型,是时候把这块的知识整理记录一下了。市面上的消息队列产品有很多,比如老牌的 ActiveMQ、RabbitMQ ,目前我看最火的 Kafka ,还有 ZeroMQ ,去年底阿里巴巴捐赠给 Apache 的 RocketMQ ,连 redis 这样的 NoSQL 数据库也支持 MQ 功能。总之这块知名的产品就有十几种,就我自己的使用经验和兴趣只打算谈谈 RabbitMQ、Kafka 和 ActiveM

2022-03-02 11:19:37 122

原创 Dubbo

dubbo

2022-01-10 21:27:13 103

原创 SpringMVC入门及原理

SpringMVC1.SpringMVC概述1.1Spring概念SpringMVC也叫Spring web mvc 。是Spring 内置的一个MVC框架,在 Spring3.0 后发布。SpringMVC 框架解决了WEB开发中常见的问题(参数接收、文件上传、表单验证等等),而且使用简单,与Spring无 缝集成。支持 RESTful风格的URL请求。采用了松散耦合可插拔组件结构,比其他 MVC 框架更具扩展性 和灵活性。1.2 SprinMVC原理在没有使用SpringMVC之前我们都是使用

2021-09-26 15:03:24 93

原创 Spring入门

SpringSpring​ Spring具有控制反转(IoC)和面向切面(AOP)两大核心。Java Spring 框架通过声明式方式灵活地进 行事务的管理,提高开发效率和质量。​ Spring 框架不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何 Java 应用都可 以从 Spring 中受益。Spring 框架还是一个超级粘合平台,除了自己提供功能外,还提供粘合其他技术 和框架的能力。Spring体系结构1.核心容器核心容器由Spring-core, Spring-bea

2021-09-26 11:19:19 94

原创 JavaWeb

javaWeb自定义servlet的三种方法1.实现servlet接口//Servlet的生命周期:从Servlet被创建到Servlet被销毁的过程//一次创建,到处服务//一个Servlet只会有一个对象,服务所有的请求/* * 1.实例化(使用构造方法创建对象) * 2.初始化 执行init方法 * 3.服务 执行service方法 * 4.销毁 执行destroy方法 */ public class ServletDemo1 implement

2021-09-03 17:26:30 180

原创 JSON学习笔记

JSON简介:JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式.JSON的五点语法1.数组(Array)用方括号(”[]“)表示。2.对象(Object)用大括号(“{}”)表示。3.名称/值对(name/value)之间用冒号(“:”)隔开。4.名称(name)置于双引号中,值(value)有字符串、数值、布尔值、null、对象和数组。5.并列的数据之间用逗号(“,”)分隔。Java 解析 JSON 和 转换JSON使用GS

2021-05-31 12:07:37 119 2

原创 函数里的Scanner

函数里的Scanner不知道大家有没有遇到这样一个问题 就是我们在函数里定义了Scanner 每次进入函数都依靠这个Scanner输入,我们在多次调用这个函数的时候 我们自己输入没有任何问题 但是我们复制过来的一串东西却没法正常调用首先,无论定义多上个Scanner对象,都是共享一个常量流的,(System.in这应该是一个常量流)一旦关闭了就不能够再使用。再者,复制过来的数据默认都进去第一个函数 ,然后函数就卡死里,进不去也出不来。但是自己输入的就没问题 自己打的时候有回车 数据的读入可以自动断

2021-05-22 11:38:59 134

原创 Java Socket 多次交互问题

Java Socket 多次交互问题前几天学了网络编程 我在复现的过程中遇到了不少问题问题出现问题就是 传输流 导致 Socket 关闭从而导致服务端代码import javax.print.attribute.standard.RequestingUserName;import java.io.*;import java.net.ServerSocket;import java.net.Socket;import java.util.TreeSet;public class Serv

2021-05-19 18:31:57 1460 2

原创 Java 多线程

Java 多线程进程与线程进程是指一个内存运行的应用程序,每个进程都有一个独立的内存空间线程1.是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行,一个进程至少有一个线程2.线程实际上是在进程基础之上的进一步划分,一个进程启动之后,里面的若干执行路径又可以划分成若干个线程[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FeMUtjak-1621153163575)(C:\Users\lenovo\AppData\Roaming\Typora\

2021-05-16 16:19:58 73

原创 对象序列化 和 反序列化的 遇到的小问题

对象序列化 和 反序列化的 遇到的小问题今天在做作业的时候 是把 HashMap 序列化补充一个知识点我们知道HashMap 的 Node<K,V> [] table 是被 transient 修饰的 所以序列化的时候会被忽略掉 之所以这样做 1是因为table 不总是满的 序列化的时候会导致空间的浪费 2是同一键值对在不同JVM下,所处桶的位置不同 ,也就是说同一个键值对在不同的平台会产生不同的hash(Object 中的hashcode 是native的) ,此时在对一个table操作

2021-05-15 11:12:44 139

原创 接口式内部类

接口式内部类今天又学了一招 接口不是不可以直接实例化吗 ,怎么还能直接new了?原来这是接口式匿名类的奥秘:首先格式是这样的: Interface interface = new Interface() {实现接口的类体}初看上去,就像在“不提供接口实现的情况下,直接new了一个接口实例”但是这只是假象 通过反编译 可以看出 编译器 自动生成了一个类实现了该接口。我再扯两句关于接口引用 指向 实现类的引用 (上面的接口式内部类就是这种情况)还是那句话 ,接口是为了实现多态(x100

2021-05-09 21:30:49 85

原创 Java 中 Comparable 和 Comparator 比较

Java 中 Comparable 和 Comparator 比较Comparable 是一个排序接口一个类实现了Comparable接口 就意味着这个类支持排序。 那么这个类组成的LIst 就可以就可以直接调用 Collections.sort(LIst list) 方法了。 Collections(该类包含了对集合类操作和返回的静态方法)。Comparetor 是一个比较器接口。我们如果需要控制某个类的次序,可以建立一个类的比较器来进行比较。 但是你也可以在这个类上直接实现 Comparato

2021-05-09 16:26:51 113

原创 JAVA技术方向支线任务-String类

废话少说 上代码Main 类: import java.util.Scanner;public class Main { public static void main(String[] args) { // 问题一 StringBuffer str1 = new StringBuffer("Ilikewritingcodebest"); StringBuffer str2 = str1.reverse(); System.out.println(str2); // 问题二

2021-04-28 21:05:36 70

原创 JDK 从8 到11遇到的问题

JDK 从8 到11遇到的问题本来闲着没事 我就给JDK升个级吧 然后正常的去官网下了个JDK11 就在我安装完还感觉良好的时候 我寻思我先cmd看一下版本吧 这一看不知道 一看吓一跳 怎么我还没配环境 你就 版本变成11了? 好家伙比我还着急。NEXT - 我又把JDK11的文件夹删了,再去cmd 好家伙直接 不输出了 (Java ,Java -version 都不输出)。嘶。我意识到了事情的严重性。此时版本号看似是11,其实是虚假的11,因为JDK11安装的时候自动在Path添加了系统变量。

2021-04-26 22:35:49 184

原创 Arraylist 源码分析

modcount 和 java的 Fail-Fast 机制有关 即为在可能发生错误的情况下提前抛出。transient Object[] elementData; // non-private to simplify nested class access​ 这里的 non-private to simplify nested class access 翻译过来就是 非私有化以简化嵌套类访问 但是我们明明知道内部类明明可以透 明的访问内部类的所有成员,那么何谈简化呢?..

2021-04-26 16:38:57 81

原创 浅拷贝和深拷贝的区别

浅拷贝和深拷贝的区别对于浅拷贝 对于基本数据类型只是进行值传递 对于引用类型会进行引用传递此时都指向同一个地址改变一个都会影响另一个clone 就是典型的浅拷贝对于深拷贝 会对每个属性进行拷贝,并拷贝属性所指向的动态分配的内存clone 也可以实现深拷贝 与通过重写clone方法实现浅拷贝的基本思路一样,只需要为对象图的每一层的每一个对象都实现Cloneable接口并重写clone方法,最后在最顶层的类的重写的clone方法中调用所有的clone方法即可实现深拷贝。简单的说就是:每一层

2021-04-21 22:35:01 64

原创 对象调用编译时类型的属性和运行时类型的方法

对象调用编译时类型的属性和运行时类型的方法编译时,JVM会在栈中静态创建基本数据变量,和引用数据变量的引用根据继承的特点我们可以知道,子类会继承父类非私有的属性和方法,也就是说,父类的(非私有)属性也会出现在子类中,当然,这是显而易见的,然而关键在于,如果子类重新定义了这一属性,会怎么样呢?实际上,父类的属性并不会被覆盖,为了方便起见,我把从父类继承来的属性记为– 属性<父类> 而自己重新定义的同名属性为–属性<子类> 这样,在子类中,会有两个属性 即:属性<父类>

2021-04-21 11:28:00 291

原创 啦啦啦

javaSE学习笔记第二章1. java发展史java的诞生在1991年时候,James Gosling在Sun公司的工程师小组想要设计这样一种主要用于像电视盒这样的消费类电子产品的小型计算机语言。这些电子产品有一个共同的特点:计算处理能力和内存都非常有限。所以要求:语言必须非常小且能够生成非常紧凑的代码,这样才能在这样的环境中执行。另外,由于不同的厂商选择不同的CPU,因此,要求该语言不能和特定的体系结构绑在一起,要求语言本身是中立的,也就是跨平台的。最初这个语言命名为“Green”,类似于绿色软

2021-04-13 20:00:30 64

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除