摘要:
概述 对于大多数第一次看spring源码的人来说,都会感觉不知从哪开始看起,因为spring项目源码由多个子项目组成,如spring-beans,spring-context,spring-core,spring-aop,spring-web,spring-webmvc等,整个项目结构如图: 可能有 阅读全文
摘要:
传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop、事物,这么做有两个缺点:1、如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大;如果按需求分开.xml文件,那么.xml文件又会非常多。总之这将导致配置文件的可读性与可维护性变得很低。2、在开发中在.jav 阅读全文
摘要:
背景 HashMap 的相关问题在校招面试中十分常见, 作为新人, HashMap 的各个问题应该要理解的十分透彻才行. 此外, ConcurrentHashMap, Hashtable 也是经常与 HashMap 一同被问, 下文中都有介绍. HashMap 原理 1. 底层数据结构 HashMa 阅读全文
摘要:
在上一篇文章中跟大家分享了关于函数命名的一些实践心得,今天我们继续命名这个话题,来讲一讲如何对变量命名。 以下是本文的目录大纲: 一. 变量命名风格 二. 变量命名最高境界 三. 变量命名最佳实践 一.变量命名风格 变量命名风格通常会根据不同的变量类型来区分,以Java语言为例,根据变量类型不同有两 阅读全文
摘要:
早在2013年,国外有个程序员做了一个有意思的投票统计(原始链接请见:《程序员:你认为最难做的事情是什么?》),该投票是让程序员从以下几个选项中选出平时在工作中自己认为最难做的事情: 做项目方案设计 编写测试用例 撰写设计文档 向别人解释我们在做什么事情 实现你不认同的feature 在别人写的代码 阅读全文
摘要:
前言: mybatis是我们常用的一种操作数据库的框架。 我们在使用的mybatis有多种方式:原生mybatis、与Spring结合使用的mybatis、与SprinBoot结合使用的mybatis。 使用的方式越来越简单,需要我们配置的项也越来越少,但是原理都是通用的,底层都是mybatis框架 阅读全文
摘要:
前言:最近工作上遇到个问题,项目开发过程中,开发代码可以通过svn来版本控制,但数据库又该如何来管理呢?多个人接触数据库,当对表、字段或数据修改后,又怎么来同步呢?经过苦寻,发现了个叫flyway的开源项目:http://flywaydb.org/,java编写,官方的介绍就是我的初衷,岂能不心动? 阅读全文
摘要:
先来简单了解 Fork/Join 框架 Fork/Join 框架:就是在必要的情况下,将一个大任务,进行拆分(fork)成若干个小任务(拆到不可再拆时),再将一个个的小任务运算的结果进行 join 汇总。 Fork/Join 框架与传统线程池的区别采用“工作窃取”模式(work-stealing): 阅读全文
摘要:
最近项目使用原生的多线程使用方式,有点遗忘,赶紧写个demo温习一下。 一、Executors 在Java用有一个Executors工具类,可以为我们创建一个线程池,其本质就是new了一个ThreadPoolExecutor对象。 建议使用较为方便的 Executors 工厂方法来创建线程池。 Ex 阅读全文
摘要:
这个问题纠缠了我很久了,终于在今天早上解决了,感谢自己的不放弃和不断尝试的决心,我坚信,我可以找到解决方式!! 项目用的spring 、spring mvc、hibernate框架,关于统一错误页面在开发的过程中就做过编码,并且一直都很有效,像500,404,403等常规错误码都能得到有效处理, 但 阅读全文
摘要:
作为一个java开发人员,大家或多或少的要写或者接触一些http接口。而当我们需要本地调试接口常常会因为没有一款好用的工具而烦恼。今天要给大家介绍一款非常好用、实用且方便的http接口测试工具。 获取 链接:https://pan.baidu.com/s/10KeUQETtju1lqWyCCS_jh 阅读全文
摘要:
公司的项目需要电科院测评,必须保证数据的完整性和保密性,为这两个特性不得不搞个RSA+SHA1加密。 页面处理过程: 每次登录前,先向后端发送请求,由RSA生成一对公钥和私钥,获取公钥中的模modulus和指数exponent,然后传到前端,私钥存入当前请求的session中。前端使用securit 阅读全文
摘要:
背景:使用监听器处理业务,需要使用自己的service方法; 错误:使用@Autowired注入service对象,最终得到的为null; 原因:listener、fitter都不是Spring容器管理的,无法在这些类中直接使用Spring注解的方式来注入我们需要的对象。 解决:写一个bean工厂, 阅读全文
摘要:
PBKDF2(Password-Based Key Derivation Function)。 通过哈希算法进行加密。由于哈希算法是单向的,能够将不论什么大小的数据转化为定长的“指纹”,并且无法被反向计算。 另外,即使数据源仅仅修改了一丁点。哈希的结果也会全然不同。 这种特性使得它很适合用于保存pa 阅读全文
摘要:
1. 疑问 我们在项目中使用了spring mvc作为MVC框架,shiro作为权限控制框架,在使用过程中慢慢地产生了下面几个疑惑,本篇文章将会带着疑问慢慢地解析shiro源码,从而解开心里面的那点小纠纠。 (1)在spring controller中,request有何不同呢? 于是,在contr 阅读全文
摘要:
package com.founder.mrp.util; import java.nio.charset.StandardCharsets; import java.security.Key; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import com.founder.mrp.web.jsonEnt 阅读全文
摘要:
楼主一直习惯使用public,偶尔手误也可能使用private,但是发觉也没啥区别,都能调用service层,注入bean。 后来做一个新项目时,发觉自己以前的写的部分功能报错,当时有点懵逼,,找了半天都没发现哪里写错了,代码啥的都确定无错(这种时候最蛋疼,因为报错不太准确),以前写好的啥都没改,突 阅读全文
摘要:
密码强度正则表达式 – 必须包含大写字母,小写字母和数字,至少8个字符等 发表于 2017年09月8日 by 天涯孤雁 被浏览 3,953 次 分享到: 2 小编推荐:掘金是一个高质量的技术社区,从 ECMAScript 6 到 Vue.js,性能优化到开源类库,让你不错过前端开发的每一个技术干货。各大应用市场搜索「掘金」即可下载APP,技术干货尽在掌握.. 需要一个密码强度正则表达式在... 阅读全文
摘要:
1、实现目标 输入:两个日期 输出:两个日期相差的天数 2、代码实现 方法1: 通过Calendar类的日期比较。注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的 年份是分闰年和平年的,各自的天数不同 方法2: 直接通过计算两个日期的毫秒数,他们的差除以一天的毫秒数, 阅读全文
摘要:
1.Calendar 转化 String //获取当前时间的具体情况,如年,月,日,week,date,分,秒等 Calendar calendat = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy 阅读全文