自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Lambda 表达式怎么用?

Lambda 表达式就是对匿名内部类的一个写法的改变。lambda 表达式允许讲一个函数作为另一个函数的参数。当前这个类的使用过程, 不想写在别的地方, 写在当前类中,可以用到当前类的属性。

2022-09-04 22:59:08 369 2

原创 动态规划和分治区别?

动态规划和分治区别:动态规划算法:它通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。分治法:若用分治法来解这类问题,则分解得到的子问题数目太多,有些子问题被重复计算了很多次。如果我们能够保存已解决的子问题的答案,而在需要时再找出已

2022-07-14 18:26:16 708

原创 GET 和 POST请求

GET 和 POST请求1. GET 和 POST 请求的区别2. GET 和 POST 本质3. URL 中传送参数长度限制4. GET 方法参数写法5. GET 和 POST 的安全性6. GET 和 POST 发送数据包1. GET 和 POST 请求的区别GET 请求再 URL 中传送的参数是有长度限制的, 而 POST 没有GET 比 POST 相对来说更不安全, 因为参数直接暴露在 URL 中, 所以不能用来传递敏感信息, 而 POST 数据不会显示在 URL 中, 是放在 Reque

2021-10-21 19:09:35 1467

原创 浏览器输入一个URL后

浏览器输入一个URL后首先dns域名解析会建立tcp的连接发送一个http的请求服务器处理相关的请求返回响应的结果关闭tcp的连接浏览器解析HTML浏览器进行布局渲染

2021-09-27 10:15:29 159

原创 Spring AOP

Spring AOPSpring AOP (面向切面编程)Spring AOP (面向切面编程)AOP 的全称是“Aspect Oriented Programming”,即面向切面编程,和 OOP(面向对象编程)类似,也是一种编程思想。AOP 采取横向抽取机制(动态代理),取代了传统纵向继承机制的重复性代码,其应用主要体现在事务处理、日志管理、权限控制、异常处理等方面。主要作用是分离功能性需求和非功能性需求,使开发人员可以集中处理某一个关注点或者横切逻辑,减少对业务代码的侵入,增强代码的可读性和可维

2021-09-22 15:09:46 213

原创 Spring 中常用的注解

Spring 中常用的注解1)@Component2)@Repository3)@Service4)@Controller5)@Autowired6)@Resource7)@QualifierSpring 注解装配 BeanSpring 默认不使用注解装配 Bean,因此需要在配置文件中添加 <context:annotation-config/>,启用注解。Spring 中常用的注解:1)@Component可以使用此注解描述 Spring 中的 Bean,但它是一个泛化的概念,仅仅

2021-09-22 15:08:30 452

原创 Spring 依赖注入

Spring 依赖注入Spring 依赖注入DI 是实现IoC的方法之一, 就是由IoC容器在运行期间, 动态地将某种依赖关系注入到对象之中Spring 依赖注入 (DI)和控制反转含义相同,它们是从两个角度描述同一个概念。使用依赖注入可以更轻松的管理和测试应用程序。当某个 Java 实例需要另一个 Java 实例时,传统的方法是由调用者创建被调用者的实例(例如,使用 new 关键字获得被调用者实例),而使用 Spring 框架后,被调用者的实例不再由调用者创建,而是由 Spring 容器创建,这称为

2021-09-22 15:04:19 172

原创 IoC 控制反转

IoC 控制反转IoC 容器是 Spring 的核心,也可以称为 Spring 容器。Spring 通过 IoC 容器来管理对象的实例化和初始化,以及对象从创建到销毁的整个生命周期。Spring 中使用的对象都由 IoC 容器管理,不需要我们手动使用 new 运算符创建对象。由 IoC 容器管理的对象称为 Spring Bean,Spring Bean 就是 Java 对象,和使用 new 运算符创建的对象没有区别。Spring 通过读取 XML 或 Java 注解中的信息来获取哪些对象需要实例化。

2021-09-22 15:01:13 128

原创 内存溢出和内存泄漏

内存溢出和内存泄漏内存溢出: 通俗的理解就是内存不够, 通常在运行大型软件或者游戏的时候, 软件或者游戏所需要的内存,远远超出了你主机所安装的内存, 这就叫内存溢出内存泄漏: 程序在申请内存之后, 无法释放已经申请的内存空间, 一次的内存泄漏影响可能不太,可以忽略, 但是如果内存泄漏堆积, 那后果就是很严重了, 无论你有多少内存迟早都会被吃光的, 最终就会导致内存溢出...

2021-09-21 17:08:09 172

原创 Spring Bean

Spring Bean1. Spring Bean2. Spring Bean 的作用域3. Spring Bean 生命周期1. Spring BeanSpring 框架是提供容器统一管理 Bean 对象(Java对象), 及对象间依赖关系Spring IoC 容器管理的对象成为 Bean,Bean 根据 Spring 配置文件中的信息创建Spring 配置文件支持两种格式,即 XML 和 Properties 文件格式Properties 配置文件主要以 key - value 健值对的形式

2021-09-21 14:29:46 138

原创 #{}和${}区别

#{}和${}区别#{}和${}区别#{}是预编译处理,可以有效的防止SQL注入${}是字符串的替换(直接赋值的方法),只是对SQL字符串进行拼接, 无法阻止SQL注入Mybatis 在处理 #{} 时,会将 sql 中的 #{}替换为占位符?,调用PreparedStatement 的 set 方法来赋值Mybatis 在处理时,就是把{}时,就是把时,就是把{}替换成变量值在绝大数情况下都采用 #{}读取参数内容,但是一些特殊的情况还是要使用${}在需要查询语句中动态制定表名需要动

2021-09-21 13:39:57 102

原创 Spring 是什么

Spring 是什么Spring 是分层的一站式轻量级开源框架,以 IoC(控制反转) 和 AOP(面向切面编程) 为内核。1. 什么是 IoC?IoC 指的是将对象的创建权交给 Spring 去创建。使用 Spring 之前,对象的创建都是由程序员使用 new 创建,而使用 Spring 之后,对象的创建都交给了Spring 框架。2. 什么是 AOP?AOP 用来封装多个类的公共行为,将那些与业务无关,却为业务模块所共同调用的逻辑封装起来,减少系统的重复代码,降低模块间的耦合度。AOP 还解

2021-09-21 13:33:55 128

原创 多线程(六)

多线程(六)1. 常见的锁策略1.1 悲观锁 vs 乐观锁1.2 公平锁 vs 非公平锁1.3 可重入锁1.4 独占锁 vs 共享锁1.5 自旋锁2. CAS3. synchronized 原理1. 常见的锁策略1.1 悲观锁 vs 乐观锁两个都是设计思想上的概念1.2 公平锁 vs 非公平锁1.3 可重入锁1.4 独占锁 vs 共享锁1.5 自旋锁2. CAS3. synchronized 原理...

2021-08-25 14:17:23 459

原创 JVM垃圾处理机制(三)

JVM垃圾处理机制(三)1. 垃圾收集器1. 垃圾收集器用户线程暂停:用户线程和 gc 线程并发的执行, 用户线程可能会让一些垃圾对象重新加入引用, 此时去清理垃圾就

2021-07-14 10:43:06 433 2

原创 JVM垃圾处理机制(二)

JVM垃圾处理

2021-07-13 13:42:51 389 1

原创 JVM垃圾处理机制(一)

JVM垃圾处理机制

2021-07-13 11:27:03 196

原创 TCP / IP 协议(二)

TCP / IP 协议(二)1. 网络层1.1 IP 协议1.2 网段划分1.3 路由2. 数据链路层2.1 理解 MAC 地址1. 网络层在复杂的网络环境中确定一个适合的路径1.1 IP 协议作用: 可以通过 ip 地址 和子网掩码, 计算得出网络号(网段) 和主机号主机: 配有IP地址, 但是不进行路由控制的设备;路由器: 即配有IP地址, 又能进行路由控制;节点: 主机和路由器的统称;1.2 网段划分IP地址分为两个部分, 网络号和主机号网络号: 保证相互连接的两个网段具有不同的

2021-07-12 20:21:09 339 1

原创 多线程--线程池

多线程--

2021-07-08 22:50:07 251 1

原创 多线程--线程通信

多线程--

2021-07-08 16:11:36 316

原创 多线程--线程安全

多线程--线程安全

2021-07-07 16:55:54 91

原创 多线程(二)

多线程(二)1. Thread 类基础 api2. 理解多线程效率与线程数, 任务量, 系统可用资源的关系3. 线程中断3.1 使用标志位3.2 基于 Thread 类本身的 api 实现中断4. 线程等待5. 守护线程1. Thread 类基础 api修饰符和类型方法和描述static ThreadcurrentThread() 返回对当前正在执行的线程对象的引用static voidsleep(long millis) 使当前正在执行的线程以指定的毫秒数暂停(暂时停止执

2021-07-07 15:09:37 70

原创 多线程(一)

多线程(一)1. 多线程1.1 概念1.2 线程和进程的关系1.3 多线程的作用1.4 使用场景2. 内部类3. 多线程基础api3.1 创建线程3.1.1 常见的线程创建方式3.2 启动线程3.2.1 理解线程执行时并发(并发 + 并行) 特性4. Thread 基础api1. 多线程1.1 概念线程是操作系统能够进行运算调度的最小单位,被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务1.2 线程和进程的

2021-07-06 16:05:59 81

原创 TCP / IP 协议(一)

TCP / IP 协议(一)1. 应用层2. 传输层2.1 UDP 协议2.2 TCP 协议2.2.1 TCP 安全机制2.2.1.1 确认应答(ACK)机制2.2.1.2 超时重传机制2.2.1.3 连接管理机制2.2.1.4 流量控制2.2.1.5 拥塞控制2.2.2 TCP 提高效率的机制2.2.2.1 滑动窗口2.2.2.2 延迟应答机制2.2.2.3 捎带应答2.2.2.4 面向字节流2.2.2.5 粘包问题2.3 TCP 和 UDP 区别1. 应用层应用程序2. 传输层负责数据能够从发端

2021-07-04 21:26:28 122 3

原创 网络的基础

网络基础1. 网络发展史2. 协议1. 网络发展史(1) 独立不联网的主机: 互相不传输共享数据(2) 网络互联: 基于一种网络设备, 把主机连接起来, 主机之间就可以传输数据 (HUB集线器连接)(3) 局域网LAN: 基于一种网络设备, 把主机连接起来(4) 广域网WAN: 处于公网上的电脑, 都是在广域网国际上, 所有国家的计算机都遵循的网络规范, 组建的大家都能互相访问的网络2. 协议网络数据传输, 在网络经过的网络节点, 都要遵循的约定和规则。最终体现为网络传输数据的格式(数据存放

2021-07-04 19:25:38 97

原创 软件测试--进阶

软件测试--进阶(一)1. 按照开发阶段划分1.1 单元测试1.2 集成测试1.3 系统测试1.4 回归测试1.5 冒烟测试1.6 验收测试2. 按照实施组织划分3. 按照是否运行划分 (运行代码)4. 按照是否手工划分1. 按照开发阶段划分测试金字塔模型从下到上三层测试, 投入相同的时间, 人力资源等, 回报率 (产出) 越来越低从下到上, 测试的效率越来越低从下到上, 定位问题越来越难1.1 单元测试单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是

2021-06-30 16:06:12 118 2

原创 在线 OJ

在线 OJ1. 实现功能2.在线oj系统类似于LeetCode, 牛客这样的网站, 实现在页面上编写代码, 并提交运行~~1. 实现功能能够保存题目(数据库)展示题目列表展示题目详细信息(标题, 难度, 题目的描述, 题目代码的模板)能够在线编辑代码, 并提交运行2....

2021-06-30 13:39:53 653

原创 测试用例习题

测试用例习题1. 根据等价类和边界值进行测试用例设计2. 因果图法1. 根据等价类和边界值进行测试用例设计程序的需求如下:姓名: 1—20 个字符, 不能包含数字, 不能为空年龄: 18—60 之间的整数, 不能为空2. 因果图法产品说明书: 有一个处理单价为1元5角的盒装饮料的自动售货机, 若投入1元5角, 按下 “可乐”, “雪碧”, 或 “红茶” 按钮, 响应的饮料就送出来. 若投入的是2元硬币, 再送出饮料的同时退还5角硬币(1) 输入和输出输入: 输入1.5元硬币, 输入

2021-06-29 21:20:31 4885 2

原创 Java 读写文件

Java 读写文件c 语言如何读写文件的步骤?打开文件 fopen读写文件 fread/fwrite关闭文件 fcloseJava 是使用一些特定的类来完成~~java 标准库中关于文件操作这里提供了很多类FileInputStream 读文件FileOutputStream 写文件Java 中操作文件的这些类称为 IO 流对应的对象也就叫做流对象~~字节/字符流这是在IO处理的时候的一种常见的方式除此之外还有一种常见的方式, 数据报的方式~~文件资源

2021-05-23 16:14:13 76

原创 Java 多进程编程

Java 多线程编程1. 进程是什么2. 进程和线程是啥关系?3. 进程和线程的区别1. 进程是什么进程(process) => 任务(task) ~双击 .exe 文件的时候, 操作系统就会读取这个可执行文件中的代码和数据, 放到内存中, 并且创建出一个进程来执行里面的代码一个操作系统, 工作的时候里面本来就有很多的进程这些进程各自在做各自的事情, 互相不干扰进程的重要特点: 独立性某个进程出现问题的时候, 只是当前进程崩溃了, 不会干扰到其他的进程例如:编译运行java程序

2021-05-23 16:09:04 1922 7

原创 软件测试--测试用例(二)

软件测试--测试用例(二)1. 设计测试用例的方法1.1 因果图法1.2 正交法1.3 场景法1.4 错误猜测法1. 设计测试用例的方法1.1 因果图法因果图是一种逻辑图, 能直观地表明程序输入条件(原因)和输出动作(结果)之间的相互关系。当输入有很多, 不同输入的组合对应不同的输出, 用因果图来分析不同输入组合和不同输出之间的关系恒等与或非用因果图法设计测试用例的步骤(1) 分析出所有的输入, 输出(2) 找出输入输出之间的逻辑关系(3) 根据输入输出之

2021-05-16 13:58:11 442 2

原创 软件测试--测试用例

软件测试1. 测试用例的基本要素2. 设计测试用例的方法3. 基于需求的设计方法1. 测试用例的基本要素测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含: 测试数据、测试平台、测试步骤、预期结果等(测试方式, 标题, 重要性, 优先级, 功能模块)评价测试用例的标准:对比好坏代码的评价标准用例表达清楚,无二义性。用例可操作性强。用例的输入与输出明确。一条用例只有一个预期结果。用例的可维护性好。用例对需求的覆盖率高。暴露程序Bug的能力强力。2.

2021-05-14 20:46:11 1165 7

原创 博客项目(一)

博客项目1. 介绍1.1 功能简介1.2 使用的技术2. 项目准备2.1 需要的资源1. 介绍1.1 功能简介实现一个简易版的博客功能, 包括用户登录, 注册, 发表新文章, 显示文章列表,1.2 使用的技术maven:使用maven来管理依赖,打包项目mysql:使用MySQL作为业务数据的存储html:使用HTML来编写前端页面tomcat:使用Tomcat作为Web项目部署的服务器servlet:每个页面调用后台接口都需要使用Servlet来完成业务。session:在登录后才可以

2021-05-07 16:50:05 163

原创 把字符串转换成整数

【把字符串转换成整数】将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0解题思路就是, 上一次计算结果10, 相当于进制进位然后加上当前位的值例如: "123"转换的结果是sum=0sum10+1->1sum10+2->12sum10+3->123本题的关键是要处理几个关键边界条件:1.空字符串

2021-05-07 16:22:43 278

原创 不要二

二货小易有一个W*H的网格盒子,网格的行编号为0H-1,网格的列编号为0W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根小易想知道最多可以放多少块蛋糕在网格盒子里...

2021-05-07 16:03:25 252

原创 StringBuffer和StringBuilder

StringBuffer和StringBuilderString是不可变对象,不能直接修改内容。如果我们需要使用可变版本的String,就需要使用StringBuffer或者StringBuilder// 1. append 使用 append 能够把字符串内容进行追加, 相当于 String 的 +=// String 的 += 会产生新的 String 对象, 如果在循环中使用, 是比较低效 String str = "hello";

2021-05-05 21:24:34 153

原创 连续最大和

【连续最大和】一个数组有 N 个元素,求连续子数组的最大和。 例如:[-1,2,1],和最大的连续子数组为[2,1],其和为 3.解题思路:动态规划,子状态: 长度为1,2,3,…,n的子数组和的最大值 (局部元素构成的数组, 它的最大连续和)F(i):以array[i]为末尾元素的子数组和的最大值状态递推:F(i) = max(F(i-1) + array[i],array[i])F(i) = (F(i-1) > 0)? F(i-1) + array[i] : array[i]初始值

2021-05-05 15:06:06 165

原创 统计回文

【统计回文】“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。例如:A = “aba”,B = “b”。这里有4种把B插入A的办法:在A的第一个字母之前: “baba” 不是回文在第

2021-05-05 14:00:33 163

原创 2021-05-05

下面的程序 编译运行后,在屏幕上显示的结果是()public class test { public static void main(String args[]) { int x,y; x=5>>2; y=x>>>2; System.out.println(y); }}A 0B 2C 5D 80结果: A解释:Java中的位运算符:>>表示右移,如果该数为正,则高位补0,若为负数,则高位补1;>>&gt.

2021-05-05 13:46:37 198

原创 Filter 过滤器

Filter 过滤器Filter 责任链设计模式构造的.过滤器实际上就是对web资源进行拦截,做一些处理后再交给下一个过滤器或servlet处理通常都是用来拦截request进行处理的,也可以对返回的response进行拦截处理if (满足过滤条件) { 过滤器链 doFiltet(请求,响应);// 绿色} else { 不调用过滤器链doFilter方法, 自己返回响应的内容;// 红色}应用场景自动登录统一设置编码格式访问权限控制敏感字符过滤等CharsetFilte

2021-05-05 09:11:33 209

原创 Day2

1. A 派生出子类 B , B 派生出子类 C ,并且在 java 源代码有如下声明:A a0=new A();A a1=new B();A a2=new C();问以下哪个说法是正确的?()A 只有第一行能通过编译B 第1、2行能通过编译,但第3行编译出错C 第1、2、3行能通过编译,但第2、3行运行时出错D 第1行,第2行和第3行的声明都是正确的结果 : D解释:多态的三种表现形式: 继承重写, 重载, 向上转型.A a = new B(); 属于向上转型, 该语句创建了一

2021-05-05 08:50:51 167

空空如也

空空如也

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

TA关注的人

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