- 博客(20)
- 收藏
- 关注
原创 里式替换原则
以前认为里式替换原则就是父类的出现的地方子类就能出现,和多态没有多大的区别,这是错误的看法,应该再加上一句,不改变原来程序的逻辑。常见三类违背里式替换的情况:1:子类违背父类声明的功能比如父类某个方法实现的是按照价格排序,子类修改为按照时间排序2:子类违背父类对输入,输出,异常的规定输入:子类对输入的校验变窄等 输出:子类的输出变窄,比如父类可以输出null或者其他,子类只能输出null,异常:父类抛出空指针,子类还抛出了其他异常3:子类违背父类注释中所罗列的任何注释说明...
2020-08-11 16:43:31
172
原创 开闭原则,对拓展开放,对修改关闭
本文理解来自极客时间,设计模式之美1:what,什么是ocpopen closed principle,开闭原则:添加一个功能的时候,应在已有的代码上进行扩展(类,模块,方法),而非修改2:why,为什么要ocp减少代码耦合性,更有弹性,但是理解会变复杂3:how,如何ocp时刻有扩展意识,抽象意识,封装意识,写代码时思考未来变更的可能,掌握一定的设计模式,设计思想,熟练运用多态,依赖注入,接口等4:when,什么时候ocp写代码呀。。。...
2020-08-11 15:45:49
647
原创 啊啊啊啊,springboot+thymeleaf,折腾了半天,我也不知道为啥就能行了
设置1:spring.mvc.static-path-pattern=/static/**资源目录:3:页面引入主要这三点配置,啊啊啊,折腾了半天
2020-06-11 16:33:15
201
原创 对依赖的理解
翻了翻设计模式之禅,看到一个之前一直没能理解的概念,依赖。提到spring就会有控制反转和依赖注入。这儿的依赖和书里面的依赖是一个概念,顿时恍然大悟。书中的定义如下:依赖倒置:● 高层模块不应该依赖低层模块,两者都应该依赖其抽象;● 抽象不应该依赖细节;● 细节应该依赖抽象。java语言就是:● 模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口...
2020-01-14 18:47:01
4269
原创 effective java 3 第26条 请不要使用原生态类型
定义:声明中具有一个或多个类型参数的类或者接口,就是泛型。如List<E> 每一种泛型定义一组参数化类型,格式是C/I<实际类型参数>,如List<String> 是一个参数化类型 每一种泛型都定义一个原生态类型。如List<E>的原生态类型为List,其存在的主要作用是为了和之前的版本兼容观点:最好是在编译时期发现错误,所以泛型尽量不...
2019-12-03 10:04:45
187
原创 查看mapreduce日志
在linux中没法看到map和reduce自定义的日志,比如syso打印的访问上面链接往下拉选择map或者reduce选择一个task点击logsfinish
2019-10-12 11:08:52
1010
原创 idea打包hadoop的mapreduce程序,使用maven的方式
前提:这个例子是mapreduce的基本流程,需要已经搭建好的hadoop环境,至于hadoop,hdfs,mr的关系呢,看书吧。大概流程是这样的,hadoop环境搭建好以后,自己创建两个文件,通过hadoop命令将文件扔到hdfs里面。通过写代码通常java书写mapreduce程序,就可以对hdfs里面的文件进行相关操作,比如统计。下面的步骤主要是idea打包mr程序。1 idea创建ma...
2019-10-11 16:44:52
4586
原创 invokeAll(tasks,time,unit)源码解析
ExecutorService的invokeAll带参数的方法源码接口定义最主要的实现类源码解析接口定义// 需要传递一个Callable的集合,返回Future的List。<T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks, ...
2019-09-25 16:21:34
418
原创 改web bug的一般思路
bug大致分为两种情况:1:被抛出来的异常,包括空指针,500等2:数据不对针对第1种情况,看日志能很好的定位,根据日志找到相应的代码针对第2种情况,看页面发送的请求,F12查看请求和响应看有没有问题,找到对应的接口,分析代码逻辑以及sql...
2019-05-09 09:32:23
209
原创 idea查看创建索引
1 view里面选择DataBase2 弹出的database里面选择+号添加数据库3 以mysql为例子,创建数据库连接4 添加好后打开schema可以查看表信息,接下来以test2为例,右键jump to console->new console5 test2表一共有4个字段,以col1为例创建索引,首先在新打开的console里面写一条wh...
2019-04-22 14:54:54
4253
1
原创 java冒泡排序
冒泡排序,以从小到大排序为例:从数组的第一个开始往后(上)遍历,如果碰到大的就交换,想想一下第一个数为小气泡,往后遍历就是往上冒,气泡越来越大。冒泡排序最多冒泡n-1次,时间复杂度为O(n^2)。冒泡排序是原地稳定的排序。public static void bubbleSort(int[] a){ for (int i = 0;i<a.length;i++){ ...
2019-02-15 16:00:15
158
原创 java快速排序
本文翻译 极客时间|数据结构与算法。快速排序用了分冶的思想,何为分冶,大问题化为小问题,小问题解决了,大问题也就解决了。之前看别人代码的时候不懂,看几遍都不懂为啥要用递归,分冶一般都是用递归实现的,记住这句话。。。怎么理解快排的分冶思想呢,比如数组:{21,3,5,22,11,2,22,11}我们选定数组中的一个值,一般是第一个和最后一个,然后遍历数组,将比该数小的值放左边,...
2019-02-15 15:23:14
184
极客时间-数据结构与算法第三节
时间复杂度和空间复杂度评价算法的标准,T(n) = O(f(n)),即程序的运行时间和每行代码的执行次数 n 成正比。时间复杂度好坏和Tn成反比。代码中某一段代码执行次数最多的可以表示该代码的时间复杂度:当变量只有一个为n:比如:for 循环n次 复杂度为 O(n); for循环n*n次 ...
2019-01-08 13:33:05
287
原创 关于升级带来的小问题
问题很小,但是困扰了半天,目前的升级是将编译后的class文件进行替换。我写了个job,在applicationContext.xml中<bean>加入了该类在execute方法中调用了线程每10分钟执行一次我把编译后的class文件替换以后启动报错:The eventual following stack trace is caused by an error...
2018-11-13 18:05:35
351
1
翻译 springboot 打jar包并运行,关闭xshell后不关闭程序
1:修改pom改为打jar包<version>0.0.1</version><packaging>jar</packaging>2:在项目文件夹下面使用命令mvn clean install -Dmaven.test.skip=true3:在项目target目录下找到jar包,上传到服务器4:xshell运行命令,会返回一个...
2018-11-02 15:38:32
3536
转载 Future对象
Future对象作用:接收异步线程返回的结果场景:任务A和任务B,如果任务A需要任务B的返回结果,两种实现: 1:AB在一个线程中,A等待B返回结果,如果B的处理时间长,A不能做其他事情 2:A,B在不同线程中,A可以阻塞等B的结果,也可以先做其他工作,一段时间以后询问B开启线程B:ExecutorService threadPool = Execut...
2018-09-10 13:57:20
4659
原创 HashSet底层都是hashMap的key操作
//就两个属性,object用来当做map的valueprivate transient HashMap<E,Object> map;private static final Object PRESENT = new Object();//无参构造public HashSet() {map = new HashMap<>();}//有参构造,初始化...
2018-09-06 11:18:24
3251
原创 ssh突然连不上了
先用sshd -t 发现没有权限附上解决地址https://blog.youkuaiyun.com/u013319480/article/details/51996286
2018-08-14 09:43:10
3367
原创 阿里云配置nginx
1:贴网上存在的安装教程https://www.cnblogs.com/wyd168/p/6636529.html2:安装完成以后在阿里云的控制台上打开端口访问点击自己的云服务器-->安全组-->配置规则-->添加安全组规则 -->3:将远程服务器的防火墙关闭systemctl stop firewalld 或者systemctl stop iptables使用system...
2018-06-13 13:12:30
1186
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人