- 博客(80)
- 收藏
- 关注
原创 通俗易懂的java设计模式(7)-原型模式
原型模式提供了一种创建对象的模式,。用一个很生动形象的例子:孙悟空拔出一根猴毛,变出其他和自己一模一样的小孙悟空,在这里,原型实例就是孙悟空,拔出的猴毛通过拷贝孙悟空的外表特征,变成了其他小孙悟空。在java中通过实现 实现 Cloneable 接口,并且重写clone方法,在创建新对象时候,调用。
2023-01-17 16:37:01
704
原创 通俗易懂的java设计模式(6)-代理模式
为某个对象提供一个代理对象,通过这个代理对象,可以控制对原对象的访问。通俗的解释:我们电脑桌面上的一个个快接方式,当我们点击这个快捷方式的时候,我们就间接地访问到了这个程序。
2023-01-12 17:02:22
767
原创 通俗易懂的java设计模式(5)-抽象工厂模式
抽象工厂模式,可以说是工厂模式的升级版抽象工厂:围绕着一个超级工厂去创建其他的工厂,这个超级工厂也被称为,这个设计模式属于创建型模式,提供了一种产品族:某个品牌下面的所有产品,比如苹果下的手机、平板就是同一产品族产品等级:不同品牌下面的同种产品,比如苹果的手机和华为的手机就是同一产品等级。
2023-01-06 15:43:00
797
原创 Bug记录:idea使用maven生成jar包后没有.original文件jar包部署后也无法运行
我们使用maven的install命令打包时,会生成一个jar包,同事也会生成一个.original文件。但是在一次打包时,只生成了.jar,并且文件大小明显不对,经过排查,发现需要在pom.xml中加上。.original:普通jar包,不包含依赖,一般用于给别的项目使用。.jar:可以直接用java -jar执行的jar包,部署使用。加上后bug就顺利解决,jar包也可以部署成功。
2023-01-03 15:50:47
2301
原创 通俗易懂的java设计模式(4)-装饰器模式
这种模式创建了一个装饰类,包装了原有的类,保证原方法签名完整,可以。一般来说,我们为了扩展一个类,经常会使用继承的方法,。需要解决的问题。
2022-12-23 14:13:21
147
原创 通俗易懂的java设计模式(3)-观察者设计模式
观察者模式主要应用在对象的情况下,那么如果一个对象,依赖于另一个对象,那个被依赖的对象一旦被修改,依赖于他的那个对象也会被观察者所告知。观察者模式又被称作为,另一种解释:多个观察者同时监听某个主题,当这个主题被修改时,会告知所有的观察者,这样观察者就能主动地更新自己():需要解决的问题。
2022-12-19 16:28:39
559
原创 通俗易懂的java设计模式(2)-工厂模式
工厂模式,是java中的设计模式之一,工厂模式,是一种,他,,这样创建对象,,从而保证了。需要解决的问题。
2022-12-14 15:17:43
278
原创 通俗易懂的java设计模式(1)-单例模式
单例模式是java中最简单的一种设计模式需要注意的问题:1.单例类实例2.单例类必须,并提供给外界那么如何自己创建实例而不让外界创建呢?很简单,我们。
2022-11-28 20:51:04
373
原创 Bug记录:使用@RequestBody注解在微服务之间传递数据报的错
在被调用的微服务中,由于忘记在数据上标注@RequestBody注解来接受json数据,导致报了500的错误,并且浪费了好多时间。事情是这样的,在做谷粒商城项目时,下面是一个远程调用的方法。这是一个因为粗心报的错,特此记录。
2022-10-10 16:43:14
288
原创 BUG记录—Eureka启动报错java.lang.ExceptionInInitializerError: null
在学习springcloud的时候,突然报的错,有点猝不及防,也花了非常多的时间来解决。
2022-08-26 00:06:41
1364
原创 java学习之mybatis-plus
a)什么是mybatis-plus是mybatis的增强工具,在mybatis的基础上只做增强不做改变,为简化开发,提高效率而生。b)框架结构c)学习环境JDK:JDK8+构建工具:maven 3.6.3MySQL版本:MySQL 8.0.29mybatis-plus在mybatis之上只做增强,不做修改,所以按照我们之前mybatis的写法即可,即创建一个映射文件映射文件的默认位置:类路径下的所有xmlUserMapper接口中/*** 根据id查询用户信息为map集合。...
2022-08-12 21:18:01
1650
1
原创 java学习之redis6
nosql数据库是解决性能问题的,打破了传统关系型数据库以业务逻辑存储数据,二是针对不同数据结构的类型,以性能最优先的存储,redis就是一种nosql数据库,nosql可以减少cpu和io的压力,直接通过内存进行读取,且nosql可以作为缓存使用,提高缓存速度,提高IO速度。a)nosql数据库介绍NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。...
2022-08-09 13:22:23
1253
原创 java学习之git的基本使用
下载地址,点进链接下载最新的稳定版即可淘宝镜像下载地址安装非常简单,选择好路径,无脑下一步即可,卸载时注意要先清除相关的环境变量安装完后的菜单:在任意文件夹下单击鼠标右键也可以打开Git Bash:Unix与Linux风格的命令行,使用最多,推荐最多Git CMD:Windows风格的命令行Git GUI:图形界面的Git,不建议初学者使用,尽量先熟悉常用命令常用的linux命令1)、cd : 改变目录。2)、cd . . 回退到上一个目录,直接cd进入默认目录3)、pwd : 显示当前所在
2022-07-04 19:28:45
1565
原创 java学习之Mybatis
1) MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架2) MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集3) MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old JavaObjects,普通的Java对象)映射成数据库中的记录4) MyBatis 是一个 半自动的ORM(对象关系映射)框架5)轻量级,性能出色6)SQL 和 Java 编码分开,功能边界清晰。Java代码专注业务、S
2022-07-03 17:57:57
2038
原创 java学习之SpringMVC
SpringMVC1.SpringMVC的简介2.HelloWorld2.1开发环境2.2创建Maven工程参考资料:尚硅谷MVC教程1.SpringMVC的简介什么是MVCM:Model,模型层,指工程中的JavaBean,作用是处理数据JavaBean分为两类:一类称为实体类Bean:专门存储业务数据的,如 Student、User 等一类称为业务处理 Bean:指 Service 或 Dao 对象,专门用于处理业务逻辑和数据访问。V:View,视图层,指工程中的html或jsp等
2022-06-28 15:05:10
1727
原创 机器学习入门之决策树分类
决策树比较适合分析离散数据,如果是连续数据要先转成离散数据再做分析一个小栗子在这个例子中,我们通过一个人的各项属性来推断他是否会买电脑在此基础上构建出的决策树信息熵信息熵越大,代表事物的不确定性越高下面是一个计算信息熵的例子ID3算法决策树会选择最大化信息增益来对结点进行分类下面是信息增益的计算,其中第一个式子就是信息熵还是同样的例子,此时参数InfoA中的A=age,我们可以看到,14条数据中有五条age为youth,四条为middle_aged,五条为senio.
2022-05-30 14:27:12
602
原创 机器学习入门之PCA降维
概念数据降维,通俗的来说,就是把多维的数据降维成低维的数据,比如说,通过某种函数,将二位空间内的点映射到一根直线上,实现二维降到一维。栗子上图中,一个国家有多个维度的数据,我们希望通过降维,使数据的可视化更加简单,下面是降维后的结果注意,图中的两列并不是抽取了原图中某两列,而是我们根据降维算法后得出的某种特殊值。降维分析找到数据最重要的方向(方差最大的方向)如图所示,黑色的叉是数据点,我们将数据点依次投影到红线和紫线上,可以直观的看出红线的方差要比紫线大。...
2022-05-25 12:24:36
303
原创 java学习之Maven入门
Maven入门1.什么是Maven2.Maven的下载与配置3、使用 Maven:命令行环境3.1.根据坐标创建 Maven 工程1.什么是MavenMaven 是 Apache 软件基金会组织维护的一款专门为 Java 项目提供构建和依赖管理支持的工具2.Maven的下载与配置1.下载地址maven下载地址windows下载第二个注意,解压时的目录不要出现中文和空格!在解压目录中,我们需要着重关注 Maven 的核心配置文件:conf/settings.xml2、指定本地仓库记
2022-05-22 21:43:36
1314
3
原创 Bug记录:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server v
bug图这个bug非常愚蠢检查后发现吧sql语句中的from拼成了form特此记录,引以为戒
2022-05-17 19:07:57
289
原创 机器学习入门之KNN算法
KNN算法的目的KNN算法,即给定一定数量的已知类别,并以此作为依据,根据未知实例与k个最近的已知类别中哪个已知类别占主导,来预估未知实例的类别。KNN算法的大致流程确定k的值(即几个距离未知样本最近的已知样本)计算未知样本与所有已知样本的距离选择k个最近的已知样本根据少数服从多数,把未知样本归类于k个最近已知样本中最多数的类别一个小小的栗子假设我们要建立一个模型,用来估测未知的那个电影,是属于爱情片还是打斗片,下面是已知数据建立模型画出图像黑点即我们要预测的对象,最红
2022-05-17 11:24:45
420
原创 Bug记录:Spring5注解配置时发生ASM ClassReader failed to parse class file - probably due to a new Java class
java版本:1.8Spring版本:5.2.6idea版本:2021.2bug图片解决方法:file->project structure设置为如图所示
2022-05-12 23:07:21
384
原创 java学习之javaWeb
Web开发1.CS和BS的异同点2.Tomcat2.1新建项目-部署-运行-访问1.CS和BS的异同点CS:客户端服务器架构模式优点:一部分安全要求不改的计算任务和存储任务放在客户端进行,不需要把所有的计算和存储都在服务器执行,从而能够减轻服务器的压力,充分利用客户端机器的资源,也能减轻网络负担缺点:需要安装,升级维护成本较高BS:浏览器服务器架构模式优点:客户端不需要安装,维护成本较低缺点:所有的计算和存储任务都是放在服务器端的,服务器的负荷较重,在服务端计算完成之后把结果再传输给客户端,所
2022-04-05 18:15:08
946
2
转载 KMP算法之求next数组(代码)
参考材料B站up主甩手掌柜凡三岁的视频前言由于网上各种KMP算法的教程,对于next数组的求解都很简略。本人在学习的时候感到十分费解,于是便有了这篇文章算法原理求next[j+1],则已知next[1],next[2]…next[j]假设next[j]=k1,则有P1~Pk1-1=Pj-k1+1~Pj-1(前k1-1位字符与后k1-1位字符相等)如果Pk1=Pj,则P1~Pk1-1Pk1=Pj-k1+1~Pj-1Pj,那么next[j+1]就等于k1+1,否则进入下一步假设next[k
2022-03-27 18:07:23
2963
1
原创 王道数据结构笔记08—排序(C语言)
数据结构081.插入排序2.希尔排序1.插入排序算法思想:每次将一个待排序的记录按其关键字大小插入到前面已经排好序的子序列中,直到全部记录插入完成。算法实现//对一个长度为n的int数组进行插入排序void InsertSort(int A[],int n){ int i,j,temp; //从i=1开始,将数组读各元素插入已经排好序的序列中 for(int i=1;i<n;i++){ //A[i]关键字小于前驱 if(A[i]&l
2022-03-21 13:48:50
1263
原创 王道数据结构笔记07—查找(C语言)
数据结构071.查找的基本概念2.顺序查找3.折半查找1.查找的基本概念关于查找的几个术语查找——在数据集合中寻找满足某种条件的数据元素的过程称为查找查找表(查找结构)——用于查找的数据集合称为查找集,他由同一类的数据元素(或记录组成)关键字——数据元素中唯一标识该元素的某个数据项的值,使用基于关键字的查找,查找结果应该是唯一的。查找算法的评价指标查找长度——在查找算法中,需要对比关键字的次数称为查找长度平均查找长度(ASL)——所有查找过程中进行关键字比较的平均值。2.顺序查找
2022-03-15 14:22:24
1264
原创 BUG记录—Web开发读取配置文件为null解决方案
问题描述再使用德鲁伊连接池时,正常的java项目可以读取src下的配置文件,但是web项目用同样的代码读出来却为null下面普通java代码public class JDBCutils { //使用德鲁伊数据库连接池技术 private static DataSource source ; static{ try { Properties pros = new Properties(); InputStream
2022-03-15 12:02:06
1666
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人