传统的JavaWeb服务中,后端基本上可以分为三层: Interfaces层:用于直接与前端交互,没有任何的业务逻辑,功能是定位到具体的后续处理逻辑中。 Application层:用于编写业务逻辑、与数据库交互的层。在Spring MVC里,Application层实际上就是Service层+DAO(mapper)层+一些封装数据对象的包。 Inf…
开个新坑 做一下大名鼎鼎的hot 100。用Java做。 字母异位词分组 排序&哈希 通过将字符串转换成字符数组,对数组进行排序,就能将同分异位词转换成相同的词。将相同的词作为键值,对其进行插入。 首先就是这几个函数,String的toCharArray(),将字符串转换成字符数组;然后是Array.sort()函数,对一个数组内元素排序的…
q:什么时候需要拆分微服务? 如果是创业型公司,最好先用单体架构快速迭代开发,验证市场运作模型,快速试错。当业务跑通以后,随着业务规模扩大、人员规模增加,再考虑拆分微服务。 如果是大型企业,有充足的资源,可以在项目开始之初就搭建微服务架构。 q:如何拆分? 首先要做到高内聚、低耦合 从拆分方式来说,有横向拆分和纵向拆分两种。纵向就是按照业务功能模块…
很久很久没更新,因为这三个月都在学Java,现在准备去面试了,把自己对于这些项目的理解和知识点都梳理一遍。希望面试能过 Redis在Java客户端的使用 SpringDataRedis的使用 SpringDataRedis模块是对Jedis和Lettuce的整合与封装,并且提供了一套相同的Redis操作接口RedisTemplate. 1.引入Sp…
100块钱都不给我 进到容器,是一个经典的梗 一百块都不给我。。 不知道还有多少人记得。。时代的回忆。。。 用dirsearch扫描后发现了反爬文本,尝试访问该文本 发现了一个disallow的Index.php1 你disallow那我肯定要去看看 发现了这段代码,让我get传一个参数,并且执行以这个参数作为方法名的方法,那我直接传phpinfo…
ArrayList<String> lines = IoUtil.readLines(in, StandardCharsets.UTF_8, new ArrayList<>()); java的语法糖机制可以确定new出来的对象是ArrayList<>()是ArrayList<String>,java中可以直接传递…
Part1 线性动态规划 P2679 [NOIP 2015 提高组] 子串 很有手法的一道动态规划。考虑用四维dp[i][j][k][v]来进行动态规划。dp[i][j][k][v]表示当a串到第i位时,b串已经匹配到了第j位,同时使用了k个子串,并且a[i]这个字符是否使用了(v=0表示没有用,1表示用了)。那么存在两种情况:a[i]==b[j]…