深入 Spring 系列之静态资源处理

1. 背景 前一段时间,WebIDE 开源的过程中,无意间接触到 webjars,觉得比较有趣,于是研究并整理了一下。 webjars 是将前端的库(比如 jQuery)打包成 Jar 文件,然后使用基于 JVM 的包管理器(比如 Maven、Gradle 等)管理前端依赖的方案。 webjars 的效果非常神奇。对于其用法,我们可以在 maven 项目中添加下面的依赖: <dependency> <groupId>org.webjars</groupId> <artifac
分类: 其他 发布时间: 05-12 23:27 阅读次数: 0

spring中aop无法切到service内部调用的方法

一。场景描述 有一个控制层类OutStoreOverController(简称controller),依赖了XsCustomorExpenseOperateServiceImpl(简称service)类。controller在2个不同方法中分别调用了service的siteDeliverySettlement 和stockDownAccounts方法(分别简称为m1和m2)。m1和m2在具体实现的时候又调用了service的内部方法createExpense(申明为public,简称为m3)
分类: 其他 发布时间: 05-12 23:26 阅读次数: 0

Mybatis resultType导致的List.containers只返回false的问题解决

项目代码中遇到了一个问题,用到List的contains,方法如下: List<Integer> newIds = Lists.newArrayList(1,2,3,4,5); List<Integer> ids = DemoService.getServerIds(gid); // 调用mybatis返回,数据库存的是:4,5 newIds.forEach(item ->{ if(ids.contains(item)){ System.out.println(tru
分类: 其他 发布时间: 05-12 23:26 阅读次数: 0

IDEA安装热部署插件JRebel

首先说下热部署是什么意思吧,简单了说就是在我们对代码进行更改之后,不需要重启项目,重新编译一下就可以直接运行最新的代码的部署方式。既然是部署方式,项目启动部署的时候当然就会和正常情况下不一样啦~ JRebel就是我们经常使用的热部署工具啦,下面就介绍下怎么在IDEA中免费激活该插件吧。方法很简单,有需要的朋友记得收藏哦~ 这里用的是lanyus大神用go语言写的工具,下载地址:https://github.com/ilanyu/ReverseProxy/releases/tag/v1.4 界面
分类: 其他 发布时间: 05-12 23:26 阅读次数: 0

不说Git操作,Github怎么玩?

作为全村人的希望,你是不是经常看到别人提起GitHub就不知所措但又跃跃欲试?早早注册了个账号建了个demo仓库之后就不在过问?看到朋友圈里又有人和你安利GitHub上有趣的开源项目你又羡慕嫉妒恨为什么他能有这么洞察力总是跑在自己前面?现在自己简历上添上一笔却又自卑羞涩? 如果以上问题戳中了你强大又傲娇的内心,好吧,那接下来的陈腔滥调可能对你会有那么一丢丢的帮助(还特么不赶紧看,活该“单身”一辈子)。 首先说下GitHub是什么吧(别闲麻烦,也就一张图而已): 嗯,没错,全球最大的“同性交友网
分类: 其他 发布时间: 05-12 23:25 阅读次数: 0

《Java编程思想5》基于JDK8的版本,该练练内功了

一直想要提升自己的Java基础却又无从下手,网络上询问推荐书籍时,《Java编程思想第四版》无疑一直都是会被大力推荐的书,可是看了下第四版的发布时间(2007年)心里又开始了退缩:全书大部分还是基于Jdk5来编写,可是现在Java8已经普及全世界了啊,读这本书是不是太落伍了。难道经典书籍不能与时俱进一下出个Java8的版本吗? 既然你诚心诚意的问了,我就大发慈悲的告诉你,当然有了。《Java编程思想》的作者:Bruce Eckel其实早在2017年就发布了第五版啦,可是为什么在网上都看不到多少
分类: 其他 发布时间: 05-12 23:25 阅读次数: 0

从996.ICU到甲骨文中国裁员,为什么人们越来越焦虑?

相信大家都知道了,前天美国软件巨头、数据库产品供应商甲骨文公司突然在中国大举裁员宣布,首批将裁员约900余人,其中超过500人来自北京研发中心,裁员幅度算是相当的大,不过与之相对应的是甲骨文对离职员工的补偿方案,一位被裁员工透露,“5月22号之前签解约合同,是N(工作年限)+6(个月薪酬)的赔偿,一个月后,即6月7号签是N+1,再往后就只有N了。” 首先赔偿方案一公布,便上了各大媒体热搜,吃瓜群众纷纷感叹要是能在甲骨文被裁,也是无憾了。较为年轻的员工对这样的赔偿条件也表示比较满意,“比国内其他
分类: 其他 发布时间: 05-12 23:25 阅读次数: 0

《Effective Java 第三版》 含Java8、Java9内容

说出来你可能不信,继前几天强哥我刚推送了《Java编程思想5》基于JDK8的版本,该练练内功了,今天又无意中搜到了一本更新了的Java届的易筋经:《Effective Java 第三版》,中文版是2019年1月出版,相当热乎。激动之余赶紧推荐给大家。不管你暂时有没有用,至少做到先马后看不是…… 顺便叨逼叨一下,为什么Joshua Bloch大叔会出这第三版吧。 《Effective Java 第二版》的原版是2008年出版的,至今(2019年)已经有十一年了。 而Java作为全世界最受欢迎的编
分类: 其他 发布时间: 05-12 23:25 阅读次数: 0

用这种方式实现单例,绝对能加分!

就像强哥在上篇推文说的《Effective Java 第三版》 含Java8、Java9内容,今天我们就开始Effective Java之旅。 单例这个东西,可是说是Java基础面试必考问题,不管大小公司,提问率极高,有的面试官甚至直接让你写出具体的代码实现。所以,搞清楚单例的实现并且懂得接下来所说的,绝对能够让面试官对你有更好的印象。 Singleton(单例)就是指程序从运行开始到结束,仅仅被实例化一次的类。比如数据库连接池的设计一般也是采用单例模式,因为数据库连接是一种数据库资源。数据库
分类: 其他 发布时间: 05-12 23:24 阅读次数: 0

2019,20届阿里实习一面总结,凉经分享

版权声明:Songcz原创,如有转载请注明出处 https://blog.csdn.net/weixin_43701058/article/details/89891623 本人情况,大三在校学生无实习经验,二本末流大学,出了省没人知道的那种(省内也够呛知道)。 技术栈,简历这么写的… 熟练掌握Java及面向对象编程思想;了解分布式,JVM。 熟练使用Eclipse,熟悉项目构建工具Maven。 熟悉SSM框架,多线程;有计算机网络基础; 熟悉MySQL数据库,了解Linux操作系统。 课程体
分类: 其他 发布时间: 05-12 23:24 阅读次数: 0

数据结构与算法Java实现(1)——冒泡排序

版权声明:Songcz原创,如有转载请注明出处 https://blog.csdn.net/weixin_43701058/article/details/89893754 经过阿里的摧残,决定重新学习下数据结构与算法。 最近也有和同学聊面试的事,上个月有同学去东软面试,让他手撕算法写个冒泡排序。第一个学的排序算法就是冒泡排序,大一学C语言的时候就是冒泡排序,那就从冒泡排序开始我的学习之旅吧。 冒泡排序是一种稳定的,交换排序。 原理:比较两个相邻的元素,根据需求,将值大的元素交换至右/左端。
分类: 其他 发布时间: 05-12 23:24 阅读次数: 0

数据结构与算法Java实现(2)——快速排序

版权声明:Songcz原创,如有转载请注明出处 https://blog.csdn.net/weixin_43701058/article/details/89916649 快速排序是一种不稳定的,交换排序。 在这里补充下稳定和不稳定的概念。 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 思路:百度百科说的就还行 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据
分类: 其他 发布时间: 05-12 23:23 阅读次数: 0

第一个分布式项目总结(1)——dubbo的那些事

版权声明:Songcz原创,如有转载请注明出处 https://blog.csdn.net/weixin_43701058/article/details/89930416 自从面试被问了dubbo原理之后…。 以加深知识深度为目标,总结项目,加深认识。 项目介绍: 宜速教务,看名字就知道这一个教务系统。时间的话,从今年寒假末期就开始做,本人第一个应用了分布式的项目。 前端:Bootstrap模板…有点小丑。 后端:SOA架构,SSM框架、。 项目背景:大一选课时候就很愁…能不能抢到课极大取决
分类: 其他 发布时间: 05-12 23:23 阅读次数: 0

数据结构与算法Java实现(3)——归并排序

结束了快速排序学习之后,对其分段排序的思想的延续便是归并排序。 归并排序是一种稳定的排序算法。 时间复杂度:O(nlogn) ,空间复杂度:O(n),是一种典型的空间换时间的算法。 原理: 归并排序将待排序的元素序列分成两个长度相等的子序列,为每一个子序列排序,然后再将他们合并成一个子序列。合并两个子序列的过程也就是归并。 盗用一张图: 代码实现 import java.util.Arrays; /** * 归并排序 * @author scz */ public class Merge
分类: 其他 发布时间: 05-12 23:23 阅读次数: 0

第一个分布式项目总结(2)——Redis

版权声明:Songcz原创,如有转载请注明出处 https://blog.csdn.net/weixin_43701058/article/details/89948549 作为一个处理高并发访问的项目,就如《大型网站技术架构 核心原理与案例分析》所说,加缓存是首选。而使用NoSQL数据库的中间件,有(MongoDB,Memcache,Redis。)在本项目中使用便是Redis 介绍下Redis Redis是款开源的内存高速缓存数据库,由C语言编写(部署的时候需要gcc环境),本质上是一个K-
分类: 其他 发布时间: 05-12 23:23 阅读次数: 0

数据结构与算法Java实现(4)——插入排序

插入排序,是一种稳定的,内部排序方法(快速排序是稳定的) 时间复杂度: 最差情况O( n2)最好情况O(n) 空间复杂度: O(l) 原理 通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 代码实现 /** * 插入排序 * @author scz * */ public class InsertSort { public static int[]
分类: 其他 发布时间: 05-12 23:22 阅读次数: 0

数据结构与算法Java实现(5)——树(上)

安装排序算法应该是堆排序,但理解堆排序首先要理解堆,而理解堆便需要理解树。而树内容较多,是一种独特的数据结构,所以单开一片文章记录树。 树相比于链表,数组。 树,是非线性结构的典型例子,不再是一对一,而变成了一对多,即一个根节点有多个子节点。 如图所示 一些关于树的基本概念 1.图中的结构就像一棵倒过来的树,最顶部的节点A就是根节点 (root 节点),每棵树至多只有一个根节点。 2.根节点生出多个孩子节点,每个孩子节点只有一个父节点。 3.父子节点是相对的如图中D是B的孩子节点,D是G的父节
分类: 其他 发布时间: 05-12 23:22 阅读次数: 0

第一个分布式项目总结(3)——单点登录

版权声明:Songcz原创,如有转载请注明出处 https://blog.csdn.net/weixin_43701058/article/details/90045034 昨天电话面试的时候和面试官聊项目的时候聊的比较多就是单点登录我是怎么实现的,这篇博客便对此做点单登录系统进行总结。 SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目
分类: 其他 发布时间: 05-12 23:22 阅读次数: 0

Java基础,Object类

版权声明:Songcz原创,如有转载请注明出处 https://blog.csdn.net/weixin_43701058/article/details/90079908 基本描述 (1)Object类位于java.lang包中,java.lang包包含着Java最基础和核心的类,在编译时会自动导入; (2)Object类是所有Java类的祖先。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。可以使用类型为Object的变量指向任意类型的对象 即一个类如果不指名
分类: 其他 发布时间: 05-12 23:22 阅读次数: 0

数据结构与算法Java实现(5)——树(下)

AVL树 AVL树是高度平衡的而二叉树。它的特点是:AVL树中任何节点的两个子树的高度最大差别为1。 上面的两张图片,左边的是AVL树,它的任何节点的两个子树的高度差别都<=1;而右边的不是AVL树,因为7的两颗子树的高度相差为2(以2为根节点的树的高度是3,而以8为根节点的树的高度是1)。 关于AVL树点击此处。 红黑树 Java中TreeMap的底层实现就是黑红树。 1.性质 性质1. 节点是红色或黑色。 性质2. 根节点是黑色。 性质3 每个红色节点的两个子节点都是黑色。(从每个叶子到根
分类: 其他 发布时间: 05-12 23:21 阅读次数: 0