一、 面向过程 和面向对象思想 面向过程和面向对象都是对软件分析、设计和开发的一种思想,它指导着人们以不同的方式去分析、设计和开发软件。早期先有面向过程思想,随着软件规模的扩大,问题复杂性的提高,面向过程的弊端越来越明显的显示出来,出现了面向对象思想并成为目前主流的方式。两者都贯穿于软件分析、设计和开发各个阶段,对应面向对象就分别称为面向对象分析(OOA)、 ......
274
0
0
2023-07-08
目录简介配置 FTPSpringBoot 编码配置 Nginx简介使用 SpringBoot 配置 FTP 服务器,上传、删除、下载文件。配置 FTP检查是否安装 vsftpdrpm -qa | grep vsftpd 检修是否已经安装 vsftpd 及查看版本号.安装 vsftpdyum -y install vsftpd 如果报错,则使用管理员权限执 ......
369
0
0
2023-07-08
概述什么是泛型?泛型能解决什么问题? 泛型即参数化类型,会让你的程序更易读,也更安全。 在Java增加泛型特性前【JDK5前】,泛型的程序的设计是用继承来实现的。如下程序可以正常编译和运行,但将get的结果强制类型转换会产生一个错误。为了解决这个问题,泛型应运而生。 /** * 不同类型的元素add到ArrayList中 */ ......
396
0
0
2023-07-07
目录前言1. 类型转换器2. 获取容器Bean2.1 BeanFactoryAware2.2 ApplicationContextAware2.3 ApplicationListener3. 全局异常处理4. 自定义拦截器5. 导入配置5.1 通用类5.2 配置类5.3 ImportSelector5.4 ImportBeanDefinitionRegist ......
290
0
0
2023-07-07
JVM 相关的异常,一直是一线研发比较头疼的问题。因为对于业务代码,JVM的运行基本算是黑盒,当异常发生时,较难直观地看到和找到问题所在,这也是我们一直要研究其内部逻辑的原因。 本篇就有一个近期线上JVM内存泄漏的例子,带大家强行分析一波~ Part1线上服务器报警了 某天,同事来找我帮忙,原来是某系统毫无征兆地来了一连串报警,一波机器的老年代内存 ......
342
0
0
2023-07-06
一、代理模式代理模式 (Proxy Pattern)是程序设计中的一种设计模式,它的特征是代理类和委托类实现有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类对象与一个委托类对象(目标对象)关联,代理类对象本身并不真正实现服务,而是通过调用委托类对象的相关方法, ......
302
0
0
2023-07-06
文章目录一、初始接口1.1 什么是接口? 接口就是公共的行为规范标准,大家在实现时,只要符合规范标准,就可以通用。 在 java 中,接口可以看成是:多个类的公共规范,是一种引用数据类型。 1.2 接口定义规则 Interface关键字用来声明一个接口。 interface 接口名称 { // 声明变量 ......
294
0
0
2023-07-06
目录类加载器的作用与类缓存获取加载器的方法获取运行时类的完整结构获得有关类自身的信息获取类的方法和构造器的信息获取Class对象的作用类加载器的作用与类缓存类加载器的作用:将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后在堆中生成一个代表这个类的java.lang.Class对象,作为方法区中类数据的访问入口。类缓存 ......
321
0
0
2023-07-05
Java 内存区域和内存模型是不一样的东西,内存区域是指 Jvm 运行时将数据分区域存储,强调对内存空间的划分。 而内存模型(Java Memory Model,简称 JMM )是定义了线程和主内存之间的抽象关系,即 JMM 定义了 JVM 在计算机内存(RAM)中的工作方式,如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。 Java运行 ......
259
0
0
2023-07-04
在 Java 语言中线程分为两类:用户线程和守护线程,而二者之间的区别却鲜有人知,所以本文磊哥带你来看二者之间的区别,以及守护线程需要注意的一些事项。 1.默认用户线程 Java 语言中无论是线程还是线程池,默认都是用户线程 ,因此用户线程也被称为普通线程。 以 线程 为例,想要查看线程是否为守护线程只需通过调用 isDaemon() 方法查 ......
288
0
0
2023-07-04
没有经过全文修饰的文章,读起来就会显得苍白无力,而善于用贴切修饰词的文章则能更形象地呈现主题,而在Java编程中也提供了一些修饰语,它们可以修饰类、变量和方法。对修饰符的灵活使用将大大提高软件的重用性、安全性和运行性能。下面的表格列出了类、构建方法、成员方法、成员变量和各种局部变量可用的修饰符,其中标注“√”表示可修饰(表中的类指顶级类,不包括内部类)。 ......
273
0
0
2023-07-04
Java 基础知识 java语言是解释执行,java源码是通过编译生成一种特殊的.class的中间字解码文件,然后再有 JVM 进行解释执行。java语言对指针进行了上层的封装,它保证能够通过这个指针(引用),来访问有效的内存单元。java语言不允许多继承,使继承关系成树装图,每个类都只能由一个父类。java语言的开发效率高,但执行效率低。(相当于c++ ......
262
0
0
2023-07-04
Javascript 中的注解(装饰器)谈及注解/装饰器,使用过 Java 或 Python 的同学一定会想到一种语法: @Annotate 或 @Decorator ,虽然叫法不同,但本质上都是实现同样的功能,面向切面编程,使你所写的代码变得干净清爽,将一些复杂的逻辑隐藏在注解(装饰器)中。 但是,在 Javascript 的标准语法中,并没有 ......
339
0
0
2023-07-03
前言类加载器属于 JVM 的一个重要知识点,也是 Java 安全里命令执行、webshell管理器编写的常用技术。类加载器简介我们知道java源文件在运行前会被编译为class类文件,存放着编译后JVM虚拟机指令的 二进制 字节流。当使用某类时,JVM就会加载它并在内存中创建对应的class对象。该过程称为类的加载。类加载过程过程如下:加载阶段 通过一个类 ......
292
0
0
2023-07-03
1,设计模式概述1.1 软件设计模式的产生背景“设计模式”最初并不是出现在软件设计中,而是被用于建筑领域的设计中。 1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任 克里斯托夫·亚历山大(Christopher Alexander) 在他的著作《建筑模式语言:城镇、建筑、构造》中描述了一些常见的建筑设计问题,并提出了 253 种关 ......
326
0
0
2023-07-03