
web后端
文章平均质量分 58
蔚蓝色的风暴
我很想改变什么,但我得不到救赎
展开
-
nginx配置txt文件点击链接后下载
响应头设置为attachment 告知浏览器下载文件而非打开 filename为正则捕获的文件名。手上有一个txt文件,上传到文件服务器后,点击路径是在浏览器里直接打开了,用户需要的是下载到本地。文件在服务器上的路径 不配置会走默认路径。正则表达式 匹配路径下的txt文件。强制浏览器将文件视为二进制流并下载。原创 2025-03-17 12:29:25 · 165 阅读 · 0 评论 -
xml部分符号转义
原创 2024-12-05 15:17:28 · 132 阅读 · 0 评论 -
JVM常用参数
将新对象预留在新生代,由于 Full GC 的成本远高于 Minor GC,因此尽可能将对象分配在新生代是明智的做法,实际项目中根据 GC日志分析新生代空间大小分配是否合理,适当通过“-Xmn”命令调节新生代大小,最大限度降低新对象直接进入老年代的情况。HeapDumpOnOutOfMemoryError: JVM在遇到OOM时将heap转储到物理文件中。UseGCOverheadLimit :限制在抛出OOM错误之前在GC中花费的VM时间的比例。关于GC调优 很重要的一条经验是。指定最小和最大堆大小。原创 2023-06-10 17:25:41 · 198 阅读 · 0 评论 -
java类加载过程
每个ClassLoader实例都有一个相关的父类加载器,ClassLoader实例会在试图亲自查找类或者资源之前,将搜索类或资源的任务委托给其父类加载器。3、在内存中生成一个代表该类的Class对象,作为方法区这些数据的访问入口。直接引用是可以直接指向目标的指针、相对偏移量或是一个能间接定位到目标的句柄。加载规则:先判断该类是否被加载过,已经加载的类直接返回。初始化阶段是执行初始化方法的过程,是类加载的最后一步。虚拟机将常量池的符号引用替换为直接引用的过程。双亲委派模型的好处:避免类的重复加载。原创 2023-06-10 15:47:39 · 741 阅读 · 0 评论 -
Java笔记(十一):函数式编程
Lambda我们在写一个数组的排序时,一般这样写String[] array = ...Arrays.sort(array, new Comparator<String>() { public int compare(String s1, String s2) { return s1.compareTo(s2); }});Comparator是以匿名类的方式编写的如果使用Lambda,可以这样写import java.util.Arrays;pu原创 2021-09-24 18:30:25 · 133 阅读 · 0 评论 -
Java笔记(十):JDBC
JDBC指Java DataBase Connectivity它是Java程序访问数据库的标准接口JDBC连接Connection代表一个JDBC连接MySQL的URL是jdbc:mysql://<hostname>:<port>/<db>?key1=value1&key2=value2首先我们设置url 用户名 密码String JDBC_URL = "jdbc:mysql://localhost:3306/test";String JDBC_原创 2021-09-24 17:42:14 · 144 阅读 · 0 评论 -
Java笔记(九):AOP
AOP是指Aspect Oriented Programming 面向切面编程AOP本质上就是动态代理 将一些常用功能从每个业务方法中剥离出来写法如下首先引入依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>${spring.version}</原创 2021-09-24 12:17:02 · 116 阅读 · 0 评论 -
Java笔记(八):spring IoC
IoC容器容器是一种为某种特定组件的运行提供必要支持的一个软件环境 IoC指的是Inversion of Control组件在IoC容器中被装配出来需要某种“注入”机制比如某个组件需要datasource 它自己并不会去创建datasource 而是等待外部去注入datasource这样不同的组件就可以实现资源的共享 另一个组件同样可以注入datasource依赖注入方法1 set函数public class BookService { private DataSource dataSo原创 2021-09-23 20:44:49 · 152 阅读 · 0 评论 -
java笔记(七):web相关
HTTP请求和响应浏览器请求页面的流程如下1、与服务器建立TCP连接;2、发送HTTP请求;3、收取HTTP响应,渲染页面;例如浏览器发送的HTTP请求GET / HTTP/1.1Host: www.sina.com.cnUser-Agent: Mozilla/5.0 xxxAccept: */*Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8Host:域名User-Agent:客户端标识Accept:浏览器接受的资源类型Accept-La原创 2021-09-23 17:20:28 · 112 阅读 · 0 评论 -
java笔记(六):日期和时间
获取当前时间戳System.currentTimeMillis()老APIDate在java.util中Date date = new Date();System.out.println(date.getYear() + 1900);System.out.println(date.getMonth() + 1);System.out.println(date.getDate());自定义格式输出import java.text.*;import java.util.*;public c原创 2021-09-23 15:04:21 · 99 阅读 · 0 评论 -
java笔记(五):文件操作
java.io中File对象来实现文件操作import java.io.*public calss Main{ public static void main(String[] args) { File f = new File("C:\\Windows\\notepad.exe"); System.out.println(f); }}File对象可以使用.list()和.listFiles()列出目录下的文件和子目录名boolean mkdir():创建当前File对象表示的目录原创 2021-09-23 11:35:20 · 83 阅读 · 0 评论 -
Java笔记(四):反射 泛型
反射反射Relection 指通过实例获取class信息的方法方法一:通过静态变量Class cls = String.class;方法二:通过getClass()方法String s = "Hello";Class cls = s.getClass();访问字段Field getField(name):根据字段名获取某个public的field(包括父类)Field getDeclaredField(name):根据字段名获取当前类的某个field(不包括父类)Field[] g原创 2021-09-23 10:02:43 · 131 阅读 · 0 评论 -
Java笔记(三):核心类
字符串 编码String是一个引用类型(和python的字符串是基础类型有区别)String的比较必须使用equals方法.contains方法用于搜索字串原创 2021-09-22 16:01:07 · 75 阅读 · 0 评论 -
Lombok笔记
Lombok在写java代码时常常用到lombok 做一个简单记录Lombok 能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString 方法。在源码中没有 getter/setter 方法,但是在编译生成的字节码文件中有 getter/setter 方法。这样就省去了手动重建这些代码的麻烦,使代码看起来更简洁。举个例子@Component@RequiredArgsConstructorpublic class Thanking原创 2021-09-06 16:23:00 · 138 阅读 · 0 评论 -
Mybatis笔记(一)
MybatisMyBatis 是一个优秀的持久层框架,它对 JDBC 的操作数据库的过程进行封装,使开发者只需要关注 sql 本身,而不需要花费精力去处理例如注册驱动、创建 connection、创建 statement、手动设置参数、结果集检索等 JDBC 繁杂的过程代码。结构1、MyBatis 配置文件。SqlMapConfig.xml:此文件作为 MyBatis 的全局配置文件,配置了 MyBatis 的运行环境等信息。mapper.xml:sql映射文件,配置了操作数据库的 sql 语句原创 2021-09-06 16:22:30 · 236 阅读 · 0 评论 -
SQL笔记(一):语句
搜索原创 2021-09-02 19:11:23 · 110 阅读 · 0 评论 -
Maven笔记
Maven是一个Java项目管理和构建工具,它可以定义项目结构、项目依赖,并使用统一的方式进行自动化构建,是Java项目不可缺少的工具。一个java项目需要依赖包 需要标准的目录格式 还需要配置环境 打包等等Maven就是是专门为Java项目打造的管理和构建工具pom.xml为项目描述文件依赖关系Maven定义了几种依赖关系,分别是compile、test、runtime和provided:compile 编译时需要用到该jar包(默认)test 编译Test时需要用到原创 2021-09-01 18:13:04 · 108 阅读 · 0 评论 -
Java笔记(二):构造方法 继承 多态 抽象类 接口 静态方法 集合
类属性和方法java是面向对象的编程语言声明一个类:class Person { public String name; public int age;}上面创建了一个Person类,并赋予了两个属性public表示该属性可以被外界访问定义好了类后,需要创建实例:Person ming = new Person();上面就生成了一个实例在外部可以对实例的属性进行操作ming.age = 18;ming.name = "xiao ming";但是,外部操作会破坏封装性,我原创 2021-09-01 17:20:08 · 226 阅读 · 0 评论 -
Java笔记(一):变量 数据类型 字符串 数组 流程控制
前端的内容暂时先告一段落,现在开始对java做基本的了解(好耶)这将是我第一门开发语言目前主要按照廖雪峰的java教程进行 当年学python的时候也是看的他的教程呢(还有莫烦)java简介java由詹姆斯高斯林开发 介于编译型语言和解释型语言之间编译型语言:c/c++ 将代码编译为机器码然后执行解释型语言:python/ruby 解释器加载源码后直接运行 但效率低一些Java将代码编译为一种字节码 针对不同平台编写虚拟机 因此可以在不同的平台上通过虚拟机运行从实践上看 JVM的兼容性非常好原创 2021-08-31 17:49:39 · 144 阅读 · 0 评论