- 博客(26)
- 收藏
- 关注
原创 关于CloudFlare SSL/TLS 加密模式的详解以及301 Moved Permanently 报错出现的原因
参考文档:Encryption modes · Cloudflare SSL docshttps://developers.cloudflare.com/ssl/origin-configuration/ssl-modes1.关闭:完全关闭https,用户使用https重定向也会被强制重定向到http2.灵活:用户访问时浏览器和cloudflare之间使用https,但服务器和cloudflare之间仍然使用http。这时候如果你的服务器的nginx配置了http会重定向到https的话,clo..
2022-02-24 11:16:14
3778
原创 spring mvc 上传要配置MultipartResolver的原因
上传的时候我们要先配 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="utf-8"/> <property name="maxUploadSize" value="50000000"/>.
2022-02-12 21:45:50
749
原创 ClassNotFoundException: com.fasterxml.jackson.core.util.DefaultPrettyPrinter$Indenter 解决方法
1.是有没有在POM中设置好jackson的坐标<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>${jackson.version}</version> </dep
2022-02-11 22:38:19
683
原创 IDEA Spring facet的意思
首先,facet不是一个javaee的术语,而是idea的一个术语,官方文档的说法是:A facet is part of the UI that lets you specify framework-specific settings for a module——IntelliJ IDEA 2016.2 Help :: Adding support for frameworks and technologies (jetbrains.com),直接翻译过来就是facet就是IDEA的UI中让你详细
2022-02-09 15:24:25
2565
原创 通过iptables 禁止访问域名方法整合
更新2新方法:由于使用ipset来禁域名,老是会误ban,这里想到了一个新方法。iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to [本机dns]iptables -t nat -A PREROUTING -p tcp --dport 53 -j DNAT --to [本机dns]所有53端口的包转到路由器自身的dns服务器,其中-t nat 网络地址转换表,-A append,DNAT 目标地址转换.然后修改dn
2022-02-09 10:03:45
4090
原创 纯HTML JS JQ作为前端的一些笔记
1.使用ajax与服务器交互要使用cookie的话,全部都需要手动设置,形如response.addCookie()方法都无法直接设置cookie。方便的设置cookie的方法,可直接使用w3cschool的模板,链接如下:JavaScript Cookies | w3cschool菜鸟教程 (ustc.edu.cn)http://home.ustc.edu.cn/~xie1993/js/js-cookies.html2.由于session是由服务器端维护的,因此像保持登录状态这种操作,有两种方法,一是
2022-02-07 11:53:12
355
原创 从动态代理到CGLIB的学习记录
之前看jvm的时候看到CGLIB这个库,就想看看究竟是个什么玩意,结果一研究就是好几天,看的头大,记录一下学习路线,以后忘了好复习。 个人的理解,动态代理相比于静态代理(资料很多这里就不赘述了),优势在于动态代理不需要重新实现接口的所有函数,代码更为简练,以下是一个例子(主要 参考了文章:Java 动态代理作用是什么? - bravo1988的回答 - 知乎),注释里面有注意的点:public interface Calculator { public Integ...
2022-02-06 00:09:24
73
原创 JDBC加载原理
大学的时候就学过了JDBC,当时一知半解,现在来搞懂以下详细的注册的原理。JavaWeb的老师教了以下这句代码,说是注册驱动,但是原理是什么是没有细说的。Class.forName("com.mysql.jdbc.Driver");查看jdbc jar包的代码,如下public class Driver extends com.mysql.cj.jdbc.Driver { public Driver() throws SQLException { } stati
2022-01-29 23:40:38
1061
原创 非删除头部尾部的情况下,LinkedList和ArrayList性能对比
学过数据结构的都知道,理论上,链表相比数组在删除方面更加有优势,原因在于数组在删除后,需要将删除位置后面的元素都向前移动一位。但是如果是指定删除第几个元素(如删除位置处于整个数组的中间)的情况下就不一样了。测试代码如下public class test { public static void main(String[] args) { ArrayList list = new ArrayList(); for(int i = 0 ; i < 100000
2022-01-28 16:44:36
957
原创 IDEA部署Servlet的原理分析
一直很疑惑IDEA是怎么把servlet部署到起来的,就花了点时间看了下。首先,在IDEA部署servlet时可以看到以下输出D:\xxxxxx\tomcat9\9.0.58\bin\catalina.bat run[2022-01-26 10:49:03,402] Artifact servlet:war exploded: Waiting for server connection to start artifact deployment…Using CATALINA_BASE: "C
2022-01-26 15:24:41
512
原创 反射实例:简单的注解扫描,调用执行
//注解接口package com.ift;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;@Retention(RetentionPolicy.RUNTIME)public @interface DemoRunAble {}package com.reflect;//反射主体import com.ift.DemoRunAble;import java..
2022-01-19 00:16:56
445
原创 使用try获取标准输入流报错StreamClosed坑
void standardInputStream(){ int by; while(true){ try ( BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); ) { String tmp; while ((tmp = in.readLine()) != null) break; .
2022-01-17 20:14:41
404
原创 标准打印流PrintStream和PrintWriter区别
最突出的PrintWriter初始化时可使用OutputStreamWriter进行初始化,意味着可以指定编码。而PrintStream使用的是默认编码。此外PrintWriter可以设置autoflush,使用println时,会自动flush。
2022-01-16 23:50:43
132
原创 FileIO相关类的关系
对于BufferReader和BufferWriter的copy的实践public void copy(String src , String target){ try(BufferedWriter writer = new BufferedWriter(new FileWriter(target)); BufferedReader reader = new BufferedReader(new FileReader(src));){ String li...
2022-01-16 22:20:14
79
原创 HashMap、HashSet源码笔记
1.HashMap每次扩容是通过左移动运算进行扩容,保证HashMap的size是2的整数次幂。int oldCap = (oldTab == null) ? 0 : oldTab.length;int oldThr = threshold;int newCap, newThr = 0;if (oldCap > 0) { if (oldCap >= MAXIMUM_CAPACITY) { threshold = Integer.MAX_VALUE;
2022-01-15 12:21:13
159
原创 AbstractList抽象类的设置
对于可能会被子类实现并被使用的方法,可以在抽象类中将其实现为直接抛出 未实现的Exception,相比使用抽象方法,不需要强迫子类实现抽象方法,同时抛出异常给用户必要的提醒。public void add(int index, E element) { throw new UnsupportedOperationException();}...
2022-01-15 00:16:39
90
原创 内部类访问外部类的成员方法
例:ArrayList中itr内部类访问父类public E next() { checkForComodification(); int i = cursor; if (i >= size) throw new NoSuchElementException(); Object[] elementData = ArrayList.this.elementData; if (i >= elementData.length)
2022-01-15 00:10:43
232
原创 google drive 清空垃圾站
https://developers.google.com/drive/api/v3/reference/files/emptyTrash#try-it点击try it
2021-03-30 10:20:41
501
1
原创 位运算的共同前缀
题目:给出范围m~n,计算从m~n所有数的位与运算和思路:显而易见的,m~n之间的二进制表示的非共同前缀部分,最终会变为0,所以有两个方法解决。一是位移法,每次同时将m、n向右位移一位,记录位移次数,直到m与n相等,再将m或n左移相应位数,即可得到结果。二是Brian Kernighan 算法,即利用n和n-1与运算会消除最右边的1的特点,获得共同前缀代码如下public int rangeBitwiseAnd(int m, int n) { while(n>m)
2020-08-23 17:22:56
242
原创 ubunutu 16.04 安装python3.6遇坑
sudo add-apt-repository ppa:jonathonf/python-3.6已经无效应该用这条 add-apt-repository ppa:deadsnakes/ppa然后update 再install就可以了
2020-04-28 21:34:43
317
原创 计算机网络安全复习:第5章 网络入侵
网络入侵1. 社会工程学攻击原理:社会工程学是使用计谋和假情报去获得密码和其它敏感信息的科学主要攻击方式:打电话请求密码伪造E-mail2.物理攻击目的:保护一些比较重要的设备不被接触示例:获得管理员密码权限提升3.暴力攻击原理:穷举法(存疑)字典攻击:最常见的暴力攻击。字典攻击通过仅仅使用某种具体的密码来缩小尝试的范围,大多数的用户使用标准单词作为一个密码,一个...
2019-12-25 19:29:58
1149
1
原创 java学习笔记(四):异常处理
异常处理声明异常public void function () throws BadException //声明函数会抛出的错{ if(abandonAllHope){ throw new BadException; //创建Exception对象并抛出 }}使用try…catch…finally…捕捉异常try{ object.function();}c...
2019-07-17 09:50:43
72
原创 java学习笔记(三):构造器与垃圾收集器,静态
对象方法和堆栈的关系对象及permietive变量生存在堆中,方法调用和变量生存在堆中方法会被堆在一起,被调用的方法在栈顶构造函数public class className(){ public className(){...};//构造函数}和c++一样;抽象的类也一样有构造函数,会在子类调用时使用构造函数super()为调用父类构造函数,必须写在子类构造函数的第...
2019-07-14 18:28:27
69
原创 java学习笔记(二):api 继承 多态 接口
java学习笔记(二)1.ArrayList 库的操作创建ArrayList<type> ArrayName = new ArrayList<type>();加入元素type VariableName= new type();ArrayName.add(VaruableName);查询大小ArrayName.size()查询特定元素 返回bool...
2019-07-13 17:54:09
143
原创 java学习笔记(一)
java学习笔记(一)目前学到第五章,由于有c++的基础 一些和c++差不多的东西就不写了,只作重要的笔记。string转化为intInterger.parseInt("3")for 循环加强版for(<variable>:<array> )表示variable in array随机数Math.Random()返回一个位于0到1之间的随机数获取输入...
2019-07-12 00:17:14
64
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人