- 博客(14)
- 问答 (3)
- 收藏
- 关注
原创 AndroidX与原始 Android 支持库
为什么要用AndroidX替代支持库支持库引入的原因,是因为随着Android系统版本更新,肯定会带来一些新的系统变化,同时也为开发者带来了新的功能接口或Api能力。为了既要支持老的系统版本,又要具备新的Api功能,Android官方提供了支持库(android.support.*)。支持库的对应版本中,包含了可以支持到的具体的最低版本的,同时具有新的功能提供的具体实现及接口。于是,通过引入支持...
2020-04-14 22:16:36 938
原创 Java设计模式——观察者模式
基本介绍基本介绍当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。举个例子天气预报项目:气象站可以将每天测量到的温度,湿度,气压等等以公告的形式发布出去(比如发布到自己的网站或第三方)。普通方案图解设计一个WeatherData,通过get方法,可以让第三方介入,并获取相关的...
2020-03-13 17:25:43 172
原创 Java设计模式——代理模式
基本介绍1)代理模式:为一个对象提供一个替身,以控制对这个对象的访问,即通过代理对象访问目标对象。这样做的好处:可以再目标对象实现的基础上,增强额外的操作功能,即扩展目标对象的功能。2)被代理的对象可以使远程对象,创建开销大的对象或需要安全控制的对象。3)代理模式有不同的形式,主要有三种:静态代理、动态代理(JDK代理、接口代理)和cglib代理(可以再内存动态的创建对象,而不需要实现接口,...
2020-03-13 16:01:25 119
原创 Java设计模式——装饰者模式
基本介绍动态的将新功能附加到对象,同时又不改变其结构(红色的三角形依然是三角形)。在对象功能扩展方面,比继承更有弹性,相比生成子类更为灵活,装饰者模式也体现了开闭原则。使用场景一般的,我们为了扩展一个类经常使用继承方式实现,由于继承为类引入静态特征,并且随着扩展功能的增多,子类会膨胀。在不想增加很多子类的情况下扩展子类,就需要将具体功能职责划分,同时继承装饰者模式,动态地给一个对象添加一些额...
2020-03-12 15:33:41 109
原创 Java设计模式——工厂模式
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。下面通过 一个披萨店订购的需求 来认识三种工厂模式。简单工厂模式具体需求:要便于披萨种类的扩展,要便于维护1)披萨的种类很多(比...
2020-03-11 21:22:26 184
原创 Java设计模式-——单例模式
基本介绍所谓的单例设计模式,就是采取一定的方法保证在整个软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)饿汉式1)构造器私有化(防止new)2)类的内部创建对象3)向外暴露一个静态的公共方法4)代码实现静态常量class SingleTon{ //构造器私有化,防止直接new private SingleTon(){} //提供一个...
2020-03-08 22:11:09 114
原创 Java设计模式——七大原则
概述设计模式的目的 在编写软件的过程中,程序员面临着来自耦合性,内聚性以及可维护性,可拓展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件)具有更好的1)代码重用性(相同功能的代码,不用多次编写)2)可读性(即规范性,便于uqita程序员的阅读和理解)3)可扩展性(当需要层架新的功能是,非常的方便,称为可维护)4)可靠性(当我们增加新的功能后,对原来的功能没有影响)5)使程...
2020-03-07 10:23:42 302
原创 JAVA反射的理解
概述反射是框架设计的灵魂。Java反射说的是在运行状态中,对于任何一个类,我们都能够知道这个类有哪些方法和属性。对于任何一个对象,我们都能够对它的方法和属性进行调用。我们把这种动态获取对象信息和调用对象方法的功能称之为反射机制。(讲的啥呀,不知道…下面看图说话)反射的好处: ①可以在程序运行过程中,操作这些对象;②可以解耦,提高程序的可拓展性。下面来分析一下java代码在计算机运行的三个阶段...
2020-03-04 20:30:31 133
原创 动态规划求最长公共子串
动态规划原理基本思想: 问题的最优解可以有子问题的最优解推导得到,可以先求子问题的最优解,再构造原问题的最优解。如果子问题有较多的重复出现,则可以自底向上从最终子问题向原问题逐步求解。适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。对于有些子问题被重复计算了很多次,我们能够保存已解决的子问题的答案,在需要时再找出已求得的答案,这样就可以避免大量的重复计算,节省时间。我们可以用一个...
2020-02-29 15:19:54 443
原创 Git的工作区与暂存区
工作区工作区就是在电脑上能看到的目录,比如我的learngit文件夹就是一个工作区版本库工作区下面的一个隐藏目录.git就是版本库,版本库里存了很多的东西,最重要的就是成为stage的暂存区,含有git为我们自动创建的master,以及指向master的指针HEAD,把文件往git库添加的时候是分两步的,第一步是通过git add把文件文件添加进去,实际上就是把文件修改放到暂存区;第二步...
2020-01-10 20:01:21 183
原创 使用@Autowired注解出现警告:Field injection is not recommended
使用@Autowired注解出现警告:Field injection is not recommended三种注入方式field(变量)注入构造器注入在idea上打了@Autowired遇到了一个警告,说是spring团队建议使用构造器的方式注入,使用变量依赖注入是不推荐的。想要清楚为什么,就得了解三种注入方式的优缺点三种注入方式field(变量)注入@Autowiredprivate...
2020-01-09 09:36:57 3459 1
原创 mybatis逆向工程遇到的坑
在做springboot与mybatis整合的时候,启动项目报错,具体错误如下Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.17:00:28.558 [RMI TCP Connection(5)-127.0.0.1]...
2019-07-13 20:02:50 828 3
原创 获取jsp页面input输入的值并传递给另一页面
此次分享的学习经历是如何获取jsp中input的值,并传递给另一个jsp页面。这是在ssm框架下作的。话不多说,上代码jsp<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>信息输入,寻找导师</title&
2019-02-21 17:28:22 12855
原创 java如何做一个简单的头像截取?
前一段时间我的java老师布置了一个作业,给了我们几张图片,叫我们截出每张图片的的人脸,截成证件照的形式,我百度了好久都找不到相关的代码,都是什么人脸识别啥的,好高深的样子,所以我百度了一下人脸的像素大概是多少,如何截取图片,就做出了这个样子,虽然有点low,但还是可以截出头像的import javax.imageio.ImageIO;import javax.imageio.ImageRea...
2018-12-01 21:28:07 758
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人