nWnH分析与设计艺术的融合
一、概念的认识
nWnH分析法是列举出构成事情的基本要素,从而对构成问题的主要方面进行分析。在具体应用领域,nWnH分析法能够帮助思考者有条理的分析考察问题。What:明确基本性质:是什么、做什么、条件是什么、重点是什么、目的是什么等。
When:明确时间的条件与限制:何时开始、何时完成、何时最佳、何时停止和升级。
Where:明确空间的条件...
【小家java】java中维护常量使用常量类?接口?还是枚举呢?
1、概述
在编码过程中,避免不了维护一些常量。而通过这么多的项目中发现,使用方式都不尽相同。有用常量类的、有用接口的、有用枚举的,因此本文针对于常量的管理做一些讨论
2、栗子
第一种使用接口:
public interface Constants{
int AUDIT_STATUS_PASS = 1;
int AUDIT_STATUS_NOT_PASS = 2;
}
第二...
【小家java】jdbc使用到了哪些设计模式
1、概述
jdbc作为javaEE的规范之一,我们每天都在直接或者间接的使用。本章就深入分析一下,jdbc里使用到了哪些优秀的设计模式呢?
2、栗子
大家耳熟能详的听过23种设计模式。但是我估计大家最熟悉的是23这个数字,而不太熟悉内部的实现或者说是内容
1、静态工厂方法
DriverManager.getConnection(...)
2、单例模式(这里不做说明,参考我另外一篇博...
【小家java】细说java中设计模式---单例模式
1、概述
jdbc作为javaEE的规范之一,我们每天都在直接或者间接的使用。本章就深入分析一下,jdbc里使用到了哪些优秀的设计模式呢?
2、栗子
大家耳熟能详的听过23种设计模式。但是我估计大家最熟悉的是23这个数字,而不太熟悉内部的实现或者说是内容
1、静态工厂方法
DriverManager.getConnection(...)
2、单例模式(这里不做说明,参考我另外一...
【小家java】对java中null、void、Void的理解学习
1、概述
本篇博文很简单啊,主要说说咱们平时最长看见的null、void和Void等。一般人可能不会留意,但此文通过一些简单的例子,希望可以加深同学们对他哥几个的了解
2、栗子
关于null,估计很多人可能恨透它了,因为它是NullPointerException的罪魁祸首。但是用好了它,我们还是能成为好朋友滴。null是所有引用类型的默认值,但是我要澄清一些误解,null既不是对象也不是一...
【小家java】List Map的删除操作,你知道多少?
1、概述
java中的集合框架是我们日常使用得最多的数据结构,而List作为Collection里最重要的一员,使用就更加的频繁了。因此我们平时使用中少不了对List的增删改查,本文就针对于对List的“删”操作进行一个分析,顺便说几个坑,希望能帮助到大家以后可以避免踩坑
2、栗子
有一个List,如果我们要删除其中的一个元素,怎么办呢? 这里我们先用remove方法
3、使用场景...
【小家java】大杂烩---那些年我们一起躺过的坑
1、概述
此篇博文没有具体的主题,主要针对于平时开发过程中遇到的一些小问题的记录,并且大都从源码的角度去解释为什么会报错。并且此篇博文是持续更新中
2、栗子
1、包装类型的的> < =的比较
public static void main(String[] args) {
Integer i = null;
Integer i2 = null;
Sy...
【小家java】final修饰的变量真的不可变吗?
1、概述
这可能是大家的一个共识:如果我们希望这个变量不可变,我们可以用final进行修饰。但本篇将带你深入了解不变的含义,我相信可以让你更深的了解final的原理,也能记得更牢靠
2、栗子
被final修饰过的变量,只是说栈存储的地址不能再改变,但是却没有说地址指向的内容不能改变。所以用final修饰,但内容是个对象啥的,然后改变对象属性值,这个不在本文讨论的范围以内。本文想讨论的是,直接...
【小家java】spring事务不生效的原因大解读
1、概述
事务在后端开发中无处不在,是数据一致性的最基本保证。在Spring中可以通过对方法进行事务的配置,而不是像原来通过手动写代码的方式实现事务的操作,这在很大程度上减少了开发的难度。因此我们在使用spring事务的时候,门槛变得异常的低,小学生水平就能很好的管理好事务,但是同学们或多或少都遇见过一些事务不生效的难题,为啥呢?本文就针对于此来做一些具体举例分析,尽量做到全覆盖
2、栗子
...
【小家java】spring事务嵌套引发的血案---Transaction rolled back because it has been marked as rollback-only
1、概述
相比大家一想到事务,就想到ACID,或者也会想到CAP。但笔者今天不讨论这个,哈哈~本文将从应用层面稍带一点源码,来解释一下我们平时使用事务事会遇到的问题。而本次我们讲的正式嵌套事务引发的问题:
2、栗子
我们如果使用了spring来管理我们的事务,将会使事务的管理变得异常的简单,比如如下方法就有事务:
@Transactional
@Override
public bool...
【小家java】关于java中方法重载与方法重写的区别
1、概述
事务在后端开发中无处不在,是数据一致性的最基本保证。在Spring中可以通过对方法进行事务的配置,而不是像原来通过手动写代码的方式实现事务的操作,这在很大程度上减少了开发的难度。因此我们在使用spring事务的时候,门槛变得异常的低,小学生水平就能很好的管理好事务,但是同学们或多或少都遇见过一些事务不生效的难题,为啥呢?本文就针对于此来做一些具体举例分析,尽量做到全覆盖
2、栗子...
【小家java】用 ThreadPoolExecutor/ThreadPoolTaskExecutor 线程池技术提高系统吞吐量(附带线程池参数详解和使用注意事项)
1、概述
很多人想问,线程池听起来高大上,但在实际工作中却很少使用。其实不然,在各种流行框架或者高性能的架构中,池化技术是无处不在的。所有有人就想问了,线程池有什么用呢?
一言以蔽之,就是提高系统效率。如果服务器对每个请求都分别创建一个线程的话,在很短时间内就会产生很多创建和销毁的动作,然而服务器在创建和销毁线程上花费的时间和消耗的系统资源都相当大。线程池就可以尽量减少这种情况的发生。
因此...
【小家java】剖析for、while、foreach、标签循环语句的控制( break,continue,return )
1、概述
java一共提供了3中循环语法:for循环(含增强for循环)、while循环、do…while循环。java8之后提供了基于stream的foreach循环,然后本文就针对于这几个循环,分别介绍一下循环控制语句:break,continue,return对循环体的影响。
特别隆重介绍:foreach循环中,如何停止本次循环和停止所有循环,因为stream的使用非常方便和广泛
2、...
【小家java】Java反射机制中Class.getXXX()和Class.getDeclaredXXX()的使用区别和注意事项
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
那么本文就针对性说明一下,在我们使用反射时候经常用到也是经常会让我们迷糊的一些方法的区别。
getMethods()和getDeclaredMethods的区别
我们先来看看Class...
【小家java】Java中5种创建对象的方法,你知道几种?
作为一个Java开发者,一种面向对象的语言,我们每天都创建很多对象。但后续我们开发中,采用了spring的依赖管理系统,我们就很少自己去创建对象了,全部交给容器去托管,那么本篇文章回源塑本,讲述一下java中能够创建一个对象的5中方法。
本文最大的特色是,我不仅给出案例,还给出对应的字节码解释,从底层来解释现象
1.使用new关键字
这是最常见也是最简单的创建对象的方式了。通过这种方...
【小家java】Java中Random ThreadLocalRandom 设置随机种子获取随机数精讲
我们都知道,随机数在太多的地方使用了,比如加密、混淆数据等,我们使用随机数是期望获得一个唯一的、不可仿造的数字,以避免产生相同的业务数据造成混乱。
在Java项目中通常是通过Math.random方法和Random类来获得随机数的。那么本文针对于这两种产生随机数的方法进行源码级别的精度,让你以后不再犯错。
先说平时使用
绝大多数情况,我们其实是想通过此类来生成一个随机整数。此处不鳌诉推倒...
今日推荐
周排行