自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 九、SpringBoot配置高级

2、@EnableConfigurationProperties注解可以将使用@Configyrationconfiguration注解对应的类加入到Spring容器中(不能与@Component同时使用)3、@ConfigurationProperties支持宽松绑定(松散绑定):支持驼峰模式、下划线模式、中划线模式、常量模式(@Value注解不支持松散绑定)5、数据校验:开启数据校验有助于系统安全性,J2EE规范中JSR303规范定义了一组有关数据校验相关的API。(2)对Bean开启校验功能。

2025-08-27 18:51:30 114

原创 八、SpringBoot项目热部署

(1)重启:自定义开发代码,包括、页面、配置文件等,加载位置restart类加载器。(2)重载:jar包,加载位置base类加载器。2、激活热部署:Ctrl+F9。(1)设置自动构建项目。(2)设置自动构建项目。

2025-08-16 20:48:38 583 1

原创 七、SpringBoot工程日志设置

①记录日常运营重要信息(峰值流量、平均响应时长。(6)FATAL:灾难信息,合并计入ERROR。③记录运维过程数据(扩容、宕机、报警。(1)TRACE:运行堆栈信息,使用率低。(2)DEBUG:程序员调试代码使用。(4)WARN:记录运维过程报警数据。(5)ERROR:记录错误堆栈信息。(3)INFO:记录运维过程数控。②记录应用报错信息(错误堆栈)(1)编辑期调试代码。(2)运营期记录信息。

2025-08-14 19:20:42 826

原创 六、SpringBoot多环境开发

(4)当Maven与SpringBoot同时对多环境进行控制时,以Maven为主,SpringBoot使用@。(5)基于SpringBoot读取Maven配置属性的前提下,如果在Idea下测试工程时pom.xml每次更新需要收到compile方可生效。使用include属性在激活指定环境的情况下,同时对多个环境进行加载使其生效,多个环境间使用逗号分隔,后配置的覆盖前配置的。(1)多环境开发需要设置若干常用环境,例如开发、生产、测试。(1)主配置文件中设置公共配置(全局)(1)Maven中设置多环境属性。

2025-08-12 19:36:09 583

原创 五、SpringBoot工程打包与运行

③基于SpringCloud技术,所有的服务器不再设置配置文件,而是通过配置中心进行设定,动态加载配置信息。⑤1级与2级留作系统打包后设置通用属性,1级常用与运维经理进行线上整体项目部署方案调控。⑥2级与4级用于系统开发阶段设置通用属性,3级常用于项目经理进行整体项目属性。①1级(最高):file:config/application.yml。④4级(最低):classpath:application.yml。①带属性启动SpringBoot程序,为程序添加运行属性。(3)自定义配置文件(4级配置文件)

2025-08-08 21:20:14 433

原创 四、基于SpringBoot,MVC后端开发笔记

(3)分页操作是在MyBatisPlus的常规操作基础上增强得到的,内部是动态的拼写SQL语句(limit)因此需要增强对应功能,使用MyBatisPlus拦截器实现。(6)页面开发——基于VUE+ElementUI制作,前后联调,页面数据处理,页面消息处理(列表,新增,修改,删除,分页,查询)(1)Service层接口定义与数据层接口定义具有较大区别,不要混用,关注业务名称,数据层与数据库有关。(3)Service开发——基于MyBatisPlus进行增量开发,制作业务层测试类。删除:DELETE;

2025-08-01 19:14:43 500

原创 三、SpringBoot基础配置

(2)SpringBoot中导入对应starter(pom.xml)后,提供对应属性。(5)不同配置文件中相同配置按照加载优先级相互覆盖,不同配置文件中不同配置全部保留。③使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Table键)(1)使用@value读取单个数据,属性名引用方式:${一级属性名.二级属性名}④属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)(2)在配置文件中可以使用属性名引用方式引用属性,${属性名}(3)属性值中如果出现转义字符,需要使用双引号包裹。

2025-07-22 17:51:27 479

原创 二、SpringBoot-REST开发

3)采用RESTful进行开发,当参数数量较少时,可以采用@PathVariable接收请求路径变量,通常用于传递id值。1)后期开发中,发送请求参数超过一个时,以json格式为主,@RequestBody应用较广。2)method:http请求动作,标准动作(GET/POST/PUT/DELETE)③作用:绑定路径参数与处理器方法形参间的关系,要求路径参数名与形参名一一对应。③作用:设置当前控制器方法请求访问路径与请求动作,每种对应一个请求动作。③作用:设置当前控制器方法请求访问路径。

2025-07-21 15:33:16 368

原创 一、SpringBoot部署笔记

(1)使用任意坐标时,仅需书写GAV中的G和A,V由SpringBoot提供,除非SpringBoot没有提供对应的版本V。(3)SpringBoot中常见的项目名称,定义了当前项目使用的所有依赖坐标,以达到减少依赖配置的目的。6、pom.xml中的parent(管理版本,取决于SpringBoot的版本,每个版本不同)(1)SpringBoot的引导类是Boot工程的执行入口,运行main方法就可以启动项目。(2)每个不同的starter根据功能的不同,通常包含多个依赖坐标。

2025-07-16 18:40:18 537

原创 15、JAVA中synchronized优化

在Java6之后自旋锁时自适应的,比如对象刚刚的一次自旋操作成功过,那么认为这次自旋成功的可能性会高,就多自旋几次;反之,就会少自旋甚至不自旋,总之,比较智能。另外JVM可能会做如下优化,把多次append的加锁操作粗化为一次(因为都是对同一个对象佳作,没必要重入多次)synchronized优化;

2025-07-09 18:34:21 976

原创 14、JAVA中CAS与原子类

2025-07-08 20:09:41 312

原创 13、java虚拟机内存模型

它可以用来修饰成员变量和静态成员变量,他可以避免线程从自己的工作缓存中查找变量的值,必须到主存中获取它的值,线程操作volatile变量都是直接操作主存(实际体现的就是可见性,保证的是在多个线程之间,一个线程对volatile变量的修改对另一个线程可见,不能保证原子性,仅用在一个写线程,多个读线程的情况)退不出的循环:因为t线程要频繁的从内存中读取run的值,JIT编译器会将run的值缓存至自己的工作内存中的高速缓存中,减少对主存中run的访问,提高效率。volatile修饰的变量,可以禁用指令重排。

2025-07-07 19:59:20 514

原创 12、jvm运行期优化

对于占据大部分的不会常用的代码,我们无需耗费时间将其编译成机器码,而是采取解释执行的方式运行,另一方面,对于占据小部分的热点代码,我们则可以将其编译成机器码,以达到理想的运行速度。执行效率简单比较一下Interpreter<c1<c2,总的目标就是发现热点代码(hostpot名称的由来),profiling是指在运行过程中收集一些程序执行状态的数据,例如:方法调用次数,循环的回边次数等。(2)1层,使用c1即时编译器编译执行(不带profiling)(1)0层,解释执行(Inrerpreter)

2025-07-03 19:01:43 411

原创 11、类加载器

什么时候需要自定义加载器。不会导致类初始化的情况。

2025-06-30 19:25:28 583

原创 10、java语法糖

编译期处理:语法糖(即java编译器把。java的源码编译成。class字节码的过程中,自动生成和转换的一些代码,主要是为了减轻程序员的负担,算是java编译器给我们的一个额外福利-给糖吃)foreach循环:能够配合数组,以及所有实现了Iterable接口的集合类一起使用,其中Iterable用来获取集合迭代器(Iterator)switch字符串:从jdk7开始,switch可以作用于字符串和枚举类。

2025-06-23 20:16:45 708

原创 9、java多态、异常、synchornized在虚中的jvm原理

多态:异常处理synchronized多态。

2025-06-20 19:50:29 615

原创 8、java虚拟机JVM类加载与字节码技术

2025-06-17 18:13:24 465

原创 7、垃圾回收调优

2025-06-12 16:04:43 633

原创 6、JAVA虚拟机JVM回收器及G1调优

大对象直接进入老年代策略(对象大于新生代容量)

2025-06-06 21:58:34 581

原创 5、JAVA虚拟机JVM垃圾回收机制

2025-06-05 15:13:06 559

原创 4、JAVA虚拟机直接内存笔记

直接内存(不属于java虚拟机内存,属于系统内存,也会存在内存溢出的问题,通过byteBuffer调用):

2025-06-02 19:52:35 276

原创 3、JAVA的StringTable笔记

StringTable(运行时常量池中的串池,底层时hash表)

2025-06-02 18:14:55 463

原创 2、JAVA JVM内存结构笔记

5、方法区:所有java虚拟机线程共共享的区,存储类的成员变量、方法数据、成员方法、构造方法,在虚拟机启动时创建,逻辑上是堆的组成部分(使用永久代的方法来实现),1.8之后用的是系统空间内存(元空间/本地内存),不在是heap的一部分,减少OOM的发生。(4) 堆内存溢出(java.lang.OutofMemory Error:Java heap space):没有使用的对象会被垃圾回收机制,如果一直产生新对象,且被使用,就有可能造成堆内存溢出的情况。(4) 运行时常量池:常量池时*。

2025-05-27 17:17:45 1185

原创 1、JAVA虚拟机JVM概述笔记

(1) Java Virtual MAchine(java虚拟机/java程序运行环境/java二进制字节码运行环境)(2) 一次编写,到处运行(跨平台)(3) 自动内存管理,垃圾回收功能。(4) 数组下标越界检查。

2025-05-26 17:36:39 157

原创 十二、JAVA XML解析和阶段总结

(1) 创建解析器工厂对象DocumentBuilderFactory(new是最低级的构建对象的方式,可以使用静态方法创建)③ 多态:对不同对象同一操作做出不同的响应,终极价值是实现统一调度,抽象类可以实现多态,接口也可以实现多态。(2) 通过SaxReader的read()可以将硬盘的一个文件,转换成文档对象Document。① 封装:类里的成员变量和成员方法、将私有的成员变量封装成公有的属性。(1) 语法:<元素名 属性名=“属性值”>元素内容</元素名>(4) 通过根节点去获取所有的字节点集合。

2025-05-26 15:35:17 306

原创 十一、JAVA Socket通信

3、Socket包括Ip地址和端口号两个部分,程序通过Socket来通信,Socket相当于操作系统的一个组件。Socket作为进程之间通信机制,通常也称作“套接字”,用于描述IP地址和端口号,是一个通信链的句柄。② 客户端:构造一个可以连接服务器的Socket,需要提供服务器端的IP地址和监听的端口。可以先运行send端,在receive不上线的情况下,receive端不会接收到数据,但不会报错。6、对象数据类型的发送和接收:在网络上传输的类型(对象),必须实现Serializable接口。

2025-05-25 17:57:45 423

原创 十、JAVA多线程笔记

(1) 同步方法:使用synchronized(同步锁,会降低效率)修饰的方法,synchronized就是为当前的线程声明一个锁,同步方法就是在方法前加上synchronized关键字。(1) 进程(process):是计算机中程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础(程序有一或多个进程)2、多线程:一个进程中运行了多个线程,用来完成不同的工作,则称之为“多线程”,所谓多线程是多个线程交替占用CPU资源,而非真正的并行执行。

2025-05-22 18:31:23 524

原创 九、JAVA IO流笔记

访问文件和目录:java API:java.io.File类,不能读取文件中的内容,要读取文件中的内容,得使用stream(流)操作。③ int read(byte[] b,int off,int len):偏移量和长度,返回1时,说明到达流的末尾。① 给出的类型必须和序列化时的类型一致(类的全名要一致:包名+类名要一致,否则会出现转换异常)⑤ int available():可以从输入流中读取的字节数目,返回0时,说明到达流的末尾。① int read():返回下一个字节,返回1时,说明到达流的末尾。

2025-05-22 18:30:48 608

原创 八、JAVA实用类笔记

位于java.util包下,random类中实现的随机算法时伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数,在种子数的基础上进行一定的变换,从而产生需要的随机数字。(enum):指由一组固定的常量组成的类型,当某种类型只能取固定范围内的值时,可以定义为枚举类型。(4) 包装类》基本类型(拆箱):XXXValue()系列方法,自动类型转换。:java.lang.Math类提供类常用的数学运算方法,这些方法都是静态的。(3) 基本类型》包装类(装箱):自动类型转换。

2025-05-22 18:30:15 342

原创 七、JAVA集合框架笔记

(2) hasnext():判断是否存在另一个可访问的元素。(4) 删除制定位置的元素:remove(index)(5) 删除第一个元素:removefirst()(6) 删除最后一个元素:removelast()(2) 插入数据:add(index,obj)(3) 返回第一个元素:getfirst()(4) 返回最后一个元素:getlast()(3) next():返回要访问的下一个元素。(1) 首部添加元素:addfirst()(3) 删除数据:remove(obj)(1) 添加数据:add(obj)

2025-05-22 18:29:12 266

原创 六、java异常笔记

(2) String getMessage()——返回异常信息描述字符串,是printStackTrace()输出信息的一部分。(4) throw:声明方法可能要抛出的各种异常,将异常上报给方法的调用方。(1) void printStackTrace()——输出异常的堆栈信息。(3) finally:无论是否发生异常,代码总能执行。(3) 只执行第一个与异常类型匹配的catch语句。(2) throws:声明异常(可多个)(1) try:执行可能产生异常的代码。(2) 便携构造方法,继承父类的实现。

2025-05-22 18:28:39 152

原创 五、JAVA接口笔记

(2) 为了约束实现类的长相(类与类之间叫继承extends;类与接口之间叫实现implements):public interface接口名称{ public void ***();:一般一个接口只实现一个功能或者者及其相似的功能,反之则会造成接口污染。3、接口实现多态(重点在于方法(功能))4、接口中定义的变量是静态常量。,所有的方法都不能有实现。5、抽象类也可以实现接口。

2025-05-22 18:27:56 220

原创 四、JAVA多态笔记

使用不同的实例而执行不同操作,也可以说,使用父类变量指向子类对象。(3) instanceof(判断类,返回值为boolean)(2) 引用类型(占用栈和堆的内存):字符串、数组、自定义类。① 整型(int、byte、short、long)(1) 同一种操作,由于条件不同,产生不同的结果。(3) 多态的终极价值就是为了统一调用。② 浮点型(float、double)(2) 父类作为返回值实现多态。(1) 父类作为参数实现多态。2、父类和子类的互转。(1) 父类转子类((2) 子类转父类(

2025-05-22 18:27:03 159

原创 三、JAVA继承笔记

(2) String类改写类equals()方法。(1) Object的==和equals是一样的的,都是比较两个对象的地址是否相同。(4) 抽象方法必须在子类中被实现,除非子类是抽象类。(6) 抽象类不能创建对象(不能实例化,不能有{})(3) ==运算符,对于简单类型,比较的是真实值。(4) ==运算符,对于引用类型,比较的是地址。(3) 使用final修饰的变量会变成常量。(2) 抽象方法没有方法体(没有实现)(2) final修饰的方法不能被重写。(1) final修饰的类不能有子类。

2025-05-22 18:26:31 186

原创 二、JAVA类和对象难点笔记

有多个方法,方法名称相同、参数类型不同,但是参数列表不同(参数个数/类型/顺序),与返回值和访问修饰符无关。(1) static代码块(多个静态块,按序加载,每个块运行一次)② 通过规定方法访问数据(get,set)4、static(静态成员)占用的。② 类内部可以在任何方法内直接访问。内存,会等到程序结束才能释放。③ 其他类中可以通过类名访问。(1) 提炼类:属性和方法。:this后跟的是成员变量。(2) static变量。① 内存中只有一个拷贝。① 隐藏类的实现细节。

2025-05-22 18:25:26 165

原创 一、JAVA搭建常识

(1) jvm(java虚拟机):解释执行字节码(.class文件),实现跨平台。① 编辑器(javac):将.java元代码编译成.class字节码。总结:开发java程序》安装jdk(含jre)③ 文档生成工具(javadoc):自动生成。② 调试器(jdb):用于调试代码。1、jdk:java开发工具包。2、jre:java运行时环境。仅运行java程序》安装jre。(3) 配置文件和资源。

2025-05-22 18:23:57 222

空空如也

空空如也

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

TA关注的人

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