- 博客(43)
- 收藏
- 关注
原创 函数式编程-Stream流
能够看懂公司里的代码大数量下处理集合效率高代码可读性高消灭嵌套地狱//查询未成年作家的评分在70以上的书籍 由于洋流影响所以作家和书籍可能出现重复,需要进行去重Lambda是JDK8中一个语法糖。他可以对某些匿名内部类的写法进行简化。它是函数式编程思想的一个重要体现。让我们不用关注是什么对象。而是更关注我们对数据进行了什么操作。Java8的Stream使用的是函数式编程模式,如同它的名字一样,它可以被用来对集合或数组进行链状流式的操作。可以更方便的让我们对集合或数组操作。
2023-10-24 21:59:36
212
原创 我的创作纪念日
最初在百度上搜索各种资料,让我第一次接触到 CSDN,很多问题可以在 CSDN 上找到答案。除此,也可以在这里记录自己的实战和踩坑经验,这里也逐渐成为我分享的主战场。现在工作了,也经常来CSDN看看自己的笔记,有很大的帮助作用。
2023-07-16 15:04:19
193
转载 尚硅谷Docker实战教程基础篇(学习笔记)
背景:企业拥有标准化的测试和生产环境,开发人员拥有开发环境,可以尽可能地模拟标准化的环境,但是仍不可保证应用在不同环境可顺利的运行,常常出现在开发环境运行正常,在测试环境或生产环境因环境配置等问题,导致启动失败。注:这里指的环境可以是 Redis、MySQL和 MQ 等配置。这使得应用的移植不够平滑,给开发和运维带来较大的问题,生产效率。因此,为了解决上述问题,Docker 问世。Dokcer 给出了一个标准化的解决方案——系统平滑移植,使用容器虚拟化技术。
2023-05-21 17:58:01
974
1
原创 类之间的关系——组合、聚合、关联、泛化、依赖
表示类之间整体和部分的关系,但是组合关系中部分和整体具有统一的生存期。一旦整体对象不存在,部分对象也将不存在。——百度百科聚合表示整体与部分的关系,并非同生共死,部分实例可以添加到聚合整体,也可以从聚合整体中移出。此时整体与部分之间是可分离的,它们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。相较于组合,聚合中整体与部分的关系更弱,更接近于"has a"。是类之间的一种很弱的联系。关联可以有方向,可以是单向关联,也可以是双向关联。
2023-04-29 01:23:15
6783
1
原创 Java单元测试实战(二)编写流程
Mockito 是一个单元测试模拟框架,可以让你写出优雅、简洁的单元测试代码。Mockito 采用了模拟技术,模拟了一些在应用中依赖的复杂对象,从而把测试对象和依赖对象隔离开来。直接构建对象,简单直接利用Mockito.spy 方法Mockito 提供一个spy 功能,用于拦截那些尚未实现或不期望被真实调用的方法,默认所有方法都是真实方法,除非主动去模拟对应方法。所以,利用spy 功能来定义被测对象,适合于需要模拟被测类自身方法的情况,适用于普通类、接口和虚基类。
2023-04-20 00:23:17
1544
原创 Java单元测试实战(一)基础
一般地,单元测试是针对一个类的一个公有方法的测试。PowerMock 是一个扩展了其它如EasyMock 等mock 框架的、功能更加强大的框架。PowerMock 使用一个自定义类加载器和字节码操作来模拟静态方法、构造方法、final 类和方法、私有方法、去除静态初始化器等等。
2023-04-19 00:30:03
800
1
原创 面向对象及其五大基本编程原则[简洁易懂]
面向过程”(Procedure Oriented) 是一种以过程为中心的编程思想。最典型的面向过程编程语言是 C 语言。简而言之,“面向过程”需要将问题分解成一个一个步骤,每个步骤用函数实现,依次调用即可。例如,最典型的用法是实现一个简单的算法,比如冒泡排序。缺点是:代码复用性较差,不易维护。面向对象(Object Oriented)是软件开发方法,一种编程范式。对现实世界抽象,将属性(数据)、行为(操作数据的函数或方法)封装成类。
2023-04-16 15:46:48
1144
1
原创 JDBC 学习笔记
学习参考视频:[1] JDBC从入门到精通视频教程-JDBC实战精讲[2] 尚硅谷JDBC核心技术视频教程(康师傅带你一站式搞定jdbc)代码总结:
2022-06-22 21:35:48
220
原创 设计模式——(6)单例模式
第六章 单例模式为什么需要单例模式?有些对象只需要一个,例如:线程池、缓存和日志对象。单例模式的特点:保证一个类仅有一个实例,并提供一个访问它的全局访问点;防止一个全局使用的类频繁地创建与销毁;判断系统是否已经有这个单例,如果有则返回,如果没有则创建;构造函数是私有的,若提供公共的构造函数 ,则可以构造多个该类对象。1.1 饿汉式单例在JVM启动便加载,优点是代码简单,缺点是存在启动时的性能消耗、若未使用该对象,会浪费资源等问题。package headfirst.designpa
2022-05-21 12:53:36
140
原创 设计模式——(5)抽象工厂模式
第五章 抽象工厂模式1.1 简介抽象工厂模式的定义:抽象工厂模式提供了一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。举例: 工作了,为了参加一些聚会,肯定有两套或多套衣服吧,比如说有商务装(成套,一系列具体产品)、时尚装(成套,一系列具体产品),甚至对于一个家庭来说,可能有商务女装、商务男装、时尚女装、时尚男装,这些也都是成套的,即一系列具体产品。用 OOP 的思想去理解,所有的衣柜(具体工厂)都是衣柜类的(抽象工厂)某一个,而每一件成套的衣服又包括具体的上衣(某一具体产品),裤子
2022-05-20 17:17:41
710
原创 设计模式——(4)工厂方法模式
Head First 设计模式第四章 工厂方法模式1.1 简单工厂在开发过程中,当遇到如下场景:package headfirst.designpatterns.factorymethod.background;import headfirst.designpatterns.factorymethod.Pizzas.CheesePizza;import headfirst.designpatterns.factorymethod.Pizzas.ClamPizza;import headfir
2022-05-19 20:57:33
184
原创 设计模式——(3)装饰者模式
第三章 装饰者模式1.1 引言在开发过程中,当遇到如下场景:需要对Object对象附加新的行为,从而达到新的目的。举例:购买咖啡时,使用 cost() 方法,而咖啡还可以加不同的配料,例如:摩卡和奶泡等,加入不同的配料,需要在原有的咖啡价格上,计入配料的价格。在这个过程中,Object 是咖啡,cost() 方法类似 speak() 方法,方法返回咖啡的价格,配料是对 Object 的装饰,配料的价格是附加新的行为,新的目的是计算加入配料后咖啡的总价格。1.2 通过装饰者模式实现咖啡价格计算的
2022-05-18 14:44:06
168
原创 设计模式——(2)观察者模式
第一章 观察者模式1.1 引言在开发过程中,当遇到如下场景:类似微信公众号的消息通知模型,只要公众号更新了消息,那么所有订阅了该公众号的用户都会收到消息推送。拍卖的时候,拍卖师观察最高标价,然后通知给其他竞价者竞价。就上述场景而言,一方更新消息,其余用户获取消息。由于在公众号消息通知模型中,订阅消息的用户可能增加、减少,因此,需要一种设计模式来解决此场景下的问题。观察者模式就是应对此场景的一种设计模式。这里更新消息的一方称为主题(公众号),所有接收消息的用户称为观察者(订阅公众号的用户)。
2022-05-04 18:55:48
555
原创 设计模式——(1)策略模式
为什么要学设计模式?因为设计模式是面向对象的具体实现,你将学习其他开发人员的经验,解决在特定场景下的问题,设计模式在开发过程中随处可见,它真的很重要!!!开始学习策略模式…1.1 引言在开发过程中,当遇到如下场景:一款游戏,不同的鸭子具有不同的飞行行为,例如,一般的鸭子具有飞行的行为,橡皮鸭和模型鸭不具有飞行的行为。购物时,不同会员等级对应的商品价格折扣是不同的,折扣具有不同的算法,例如,金牌会员打7折,银牌会员打8折;就上述场景而言,针对某一问题,具有不同的应对策略(行为或算法等,统称策
2022-04-29 17:22:45
236
原创 Java 枚举类的使用
枚举类的使用示例:public enum Gender{ // 隐式调用有参构造为 name 成员变量赋值 MALE("男"),FEMALE("女"); // 定义成员变量 private final String name; private Gender(String name){ this.name = name; } public String getName() { return this.name; }}...
2021-08-08 12:28:57
135
原创 微服务理论介绍
微服务理论文章目录微服务理论1.什么是微服务?2.为什么微服务会兴起?3.微服务典型架构3.1 一个服务如何发现其他服务?3.2 服务配置如何维护?3.3 网关服务参考:1.什么是微服务?微服务架构风格是一种将单个应用程序开发为一组小服务的方法,每个小服务都运行在自己的进程中运行,并以轻量级机制进行通信。这些服务是围绕业务能力构建的,并且可以通过完全自动化的部署机制独立部署 [1]。2.为什么微服务会兴起?在微服务之前的是单体应用,随着用户需求量增加,一台服务器无法支撑,通过多台服务器部署和负载均
2021-08-07 13:06:54
219
1
原创 Git 使用及配置使用
经过查询是因为没有在本地生成私钥和公钥对,故现在本地生成,然后将生成的公钥配置到的远程ssh。在 github 上创建一个代码仓库,然后 clone 到本地。使用 Git 需配置。
2021-06-24 22:17:09
307
1
原创 Java 取余运算符 % 实例测试与探究
1 问题:遇到一个 -1%5 等于 1 还是 -1 的问题,通过查阅资料解决了该问题,并对 Java 取余运算符 % 有了深入的了解。2 观察以下运算实例:package com.sjmp;/** * @author: sjmp1573 * @date: 2020/12/29 21:06 * @description: */public class Test { public static void main(String[] args) { System.
2021-03-06 19:45:41
567
1
原创 关于阿里云服务器的使用(入门级)
文章目录一、环境配置1.1 使用解压的方式安装 jdk81.2 使用解压的方式安装 Tomcat二、在 Linux 安装宝塔面板快捷部署2.1 服务器防火墙放行端口2.2 在服务器安装宝塔面板2.3 设置服务器的 MySQL关于 Linux 的快速入门可参考狂神的视频:狂神说Java】Linux最通俗易懂的教程阿里云真实环境学习前言:之前借助学生优惠体验了阿里云的免费服务器,最近快到期,就想着自己作为新用户买一个,平时自己学习。一年也不贵。我买的是阿里云的轻量级应用服务器。而下图是阿里云的 EC
2021-01-29 15:59:59
348
原创 西门子 TIA Portal V16 的安装教程
一、下载相关软件TIA_Portal_STEP7_Prof_Safety_WINCC_Adv_Unified_V16 文件夹下的目录结构!二、相关的环境打开 Internet 信息服务三、开始安装选择刚才的解压缩目录即可!
2021-01-20 16:34:07
67455
19
原创 将小而美的博客部署到服务器上的踩坑记录
将小而美的博客部署到服务器上的踩坑记录首先我们需要将本地 MySQL 数据库同步到服务器,这里使用 Navicat Premium 12 软件,使用简单,百度一搜就有使用方法,这里不展开描述。同步好之后,可开始下一步部署。参考博客: https://www.cnblogs.com/huahua035/p/7808176.html参考视频:https://www.bilibili.com/video/BV1H7411L7vv?from=search&seid=372830027694927078
2021-01-18 22:18:59
530
7
原创 七个习惯-读书笔记
作者: [美] 史蒂芬·柯维出版社: 中国青年出版社译者: 高新勇 / 王亦兵 / 葛雪蕾出版年: 2018-6页数: 248标签:成功励志、个人管理、习惯、自我成长完成阅读时间:2020.11.30文章目录前言习惯一:积极主动习惯二:以始为终习惯三:要事第一习惯五:知彼解己习惯六:统合综效习惯七:不断更新前言该书强调以原则为中心,以品德为基础,进行能达到个人效能和人际效能的“由内而外”的修炼。习惯一:积极主动积极主动即采取主动,为自己过去、现在和未来的行为负责,并依据原则和价
2020-12-08 22:33:35
322
原创 JUC 并发编程学习笔记(狂神)
JUC 并发编程文章目录1 什么是 JUC2 线程和进程2.1 什么是线程2.2 并发与并行2.3 wait/sleep 的区别3 Lock3.1 使用 synchroniezd 关键字加锁3.2 使用 Lock 类加锁3.3 Synchronized 与Lock 的区别4. 生产者和消费者的关系4.1 Synchronized 版本4.2 Lock 版本五、8 锁现象六 集合不安全6.1 List 不安全6.2 set 不安全6.3 Map 不安全七 Callable八 常用辅助类8.1 Count
2020-12-02 22:12:53
1594
原创 Java 多线程学习笔记(狂神)
第1章1.1 什么是线程栈空间操作起来最快但是栈很小,通常大量的对象都是放在堆空间,栈和堆的大小都可以通过 JVM 的启动参数来进行调整,栈空间用光了会引发 StackOverflowError,而堆和常量池空间不足则会引发 OutOfMemoryError。String str = new String("hello"); 上面的语句中变量 str 放在栈上,用 new 创建出来的字符串对象放在堆上,而 “hello” 这个字面量是放在方法区的。1.2 线程的创建与运行1.2.1 继承 T
2020-11-18 23:30:01
3328
3
原创 JVM 初学笔记
学习视频链接:https://www.bilibili.com/video/BV1iJ411d7jS?p=1JVM 探究请你谈谈对 JVM 的理解? java8虚拟机和之前的变化更新?什么是 OOM ,什么是栈溢出 StackOverFlowError ?怎么分析?JVM 的常用调优参数有哪些?内存快照如何抓取,怎么分析 Dump 文件?谈谈 JVM 中类加载器?1. JVM 的位置JVM 应用程序Java 程序在 JRE、JVM 上运行操作系统下面是硬件体系(intel)2.
2020-11-14 18:06:39
319
转载 【狂神说Java】JavaWeb入门到实战(学习笔记)
学习来自B站 狂神说 JavaWeb视频:https://www.bilibili.com/video/BV12J411M7Sj?p=11.基本概念1.1 前言静态Web:提供给所有人看数据不会发生变化!HTML,CSS动态Web:有数据交互,登录账号密码,网站访问人数等技术栈:Servlet/JSP,ASP,PHP在Java中,动态web资源开发的技术统称为JavaWeb;1.2 Web 应用程序Web 应用程序:可以提供浏览器访问的程序;这个统一的web资源会被放在同一
2020-11-02 22:27:02
16945
28
原创 二分法查找及其变形 Java 实现(推荐)
描述:给定一个数组 arr,和需要查找的数 value。文章目录1. 数据有序且无重复,查找给定值2. 数据有序且有重复,查找第 1 个给定的值3. 数据有序且有重复,查找最后一个值等于给定值的元素4. 数据有序且有重复,查找第一个大于等于给定值的元素5. 数据有序且有重复,查找最后一个小于等于给定值的元素1. 数据有序且无重复,查找给定值前提条件:1.数组为升序排列2.不存在重复的数据算法时间复杂度:当 n/2k = 1 时, k 是总共缩小的次数,而每一次缩小操作只涉及两个数据的大小比较
2020-09-13 10:40:20
165
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人