
Java
以十
装饰过去,构造现在,设计未来
展开
-
Java随机数Random出来是固定值
Random提供种子时,以种子为参考进行一系列操作,所以是固定值如下:在进行实例化Random时,如果使用空构造,则会使用随机种子(seed);如果提供了初始的seed,则会使用提供的seed。在进行next操作时seed会更新public Random() { this(seedUniquifier() ^ System.nanoTime());}public Random(...原创 2020-04-20 19:50:04 · 1799 阅读 · 0 评论 -
装饰器模式-小餐馆
我家小餐馆github地址:https://github.com/zuojingang/common-tools-intergrated/blob/develop/src/main/java/pers/zuo/component/restaurant/Kitchen.java食谱接口package pers.zuo.component.restaurant.meal;/** * @a...原创 2019-09-11 19:06:41 · 344 阅读 · 0 评论 -
非设计模式-简单工厂
简单工厂例:org.springframework.beans.factory.BeanFactory核心奥义:不作区分,所有的实例化放在同一个类中,根据标识进行选择;传入一个标识,返回一个(或一组)实例。Spring的xml<bean id="beanId" class="clazz"></bean>实例化bean的时候是使用显性id或者classname...原创 2019-09-12 11:20:35 · 150 阅读 · 0 评论 -
静态工厂方法
例:java.util.concurrent.Executors核心奥义:用来实例化的静态方法原创 2019-09-12 11:23:15 · 397 阅读 · 0 评论 -
模版方法模式
例:org.springframework.context.support.AbstractApplicationContext定义算法预留插槽有自己的工厂,实例在具体的工厂中产生。因为多态、依赖抽象这两个点,通常我们在使用工厂方法时,会在上层定义一个获取当前工厂实例的方法。...原创 2019-09-12 11:44:36 · 191 阅读 · 0 评论 -
抽象工厂模式
例:org.springframework.beans.factory.support.DefaultListableBeanFactory核心奥义:【组装】从各方获取原料,然后在当前类依照一定的逻辑组装成实例对象。原创 2019-09-12 15:36:20 · 182 阅读 · 0 评论 -
单例模式-三种实现【延迟实例化、急切实例化、内部类】
例:org.springframework.beans.factory.support.DefaultSingletonBeanRegistry核心奥义:相同条件下,最多只存在一个实例,每次使用时进行获取,获取不到时进行实例化,同一时间只允许一个线程进行实例化延迟实例化使用同步锁保障线程安全,同时可以使用volatile保证线程通信(数据同步)缺点:第一次实例化时,线程需要等待,如果同...原创 2019-09-12 17:01:40 · 448 阅读 · 0 评论 -
命令模式-Spring框架JdbcTemplate
概述最近回顾了一下设计模式。想到Spring框架中,使用设计模式挺多的。于是搜索了一下Spring中有没有使用命令模式?参照:命令模式浅析,然后对Spring中的JdbcTemplate类进行了源码阅读,现在就命令模式,对JdbcTemplate中的部分代码做一下解读。命令模式简介在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们...转载 2019-09-12 17:21:26 · 581 阅读 · 0 评论 -
适配器模式-披着羊皮的狼
例:org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter核心奥义:间谍?卧底?披着羊皮的狼?总之就是使外在表现发生变化,以适用于目标群体;适配器模式要达到的目标是,通过一些处理,将狼(行为)伪装成羊目标接口(狼)适配器(羊皮)小绵羊...原创 2019-09-12 17:47:21 · 274 阅读 · 0 评论 -
外观模式-智能遥控
例:核心奥义:方便、快捷、友好;外观模式的目的是,在保留原有能力的前提下,通过整合、转化提供一个更优秀的交互方式原创 2019-09-16 09:21:24 · 166 阅读 · 0 评论 -
获取mybatis的BaseDao的范型类型
类结构public interface BaseDao<T> extends Mapper<T> {}public interface PoDao extends BaseDao<Po> {}@Servicepublic class PoService { @Autowired private PoDao poDao; ...原创 2019-09-19 15:49:20 · 727 阅读 · 0 评论 -
SpringBoot YML 配置List<Bean>
异常:Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘companyNewsService’: Unsatisfied dependency expressed through field ‘capricornSftpConfig...原创 2019-09-26 14:01:36 · 5839 阅读 · 5 评论 -
探测器-观察者模式
探测器:探头可灵活组装;安装不同探头组合,可组装出不同的探测器;策略模式通过条件选择适合的处理过程(其中条件判断比较简单,逻辑主要在处理过程里),观察者模式则是通过一些因素判断是否满足条件(其中所有的逻辑都是为了作出判定,得到判定结果即结束),两者可认为是相辅相成的复杂情景下的 策略+观察者模式:一、使用观察者模式进行条件判定二、使用策略模式进行数据的具体逻辑处理探测器接口packag...原创 2019-08-20 10:18:41 · 498 阅读 · 0 评论 -
Java的拆箱比较
直接来看个比较Integer num = null;System.out.println(num == 1);//这块会报空指针异常乍一看好像很正常我印象很深的是:null == obj;之类的语句,好像已经是写的最多的语句但是稍一尝试就会发现,两者之间是有区别的:null 和 包装类型比较没有任何问题,但是基础类型和包装类型之间的比较存在自动拆装箱类似这样:num.intV...原创 2019-06-18 15:16:31 · 246 阅读 · 0 评论 -
java.lang.NoSuchMethodError: org.yaml.snakeyaml.nodes.ScalarNode.getStyle()Ljava/lang/Character;
启动报错如题 <dependency> <groupId>com.ebay.auth</groupId> <artifactId>ebay-oauth-java-client</artifactId> <version>${ebay.aut...原创 2019-06-21 11:50:48 · 6122 阅读 · 0 评论 -
Java-mockMaskPhone
https://github.com/zuojingang/common-tools-intergrated/blob/develop/src/main/java/pers/zuo/util/PhoneUtil.javapackage util;import java.util.Random;public class PhoneUtil { /** * 手机号码...原创 2018-04-18 15:46:50 · 238 阅读 · 0 评论 -
关于mybatis和mysql的几点体会
原理不明,纯属经验 查询返回结果为Map<!--<select id="test" resultType="map">--><!--这是一个统计某天数据的例子,resultType两种写法应该都是可以的--><select id="test" resultType="java.util.Map">原创 2018-04-25 15:56:35 · 5694 阅读 · 0 评论 -
Java图形验证码实现
GitHub 地址: https://github.com/zuojingang/common-tools-intergrated/blob/master/src/main/java/pers/zuo/util/verify/GraphVerifyCodeUtil.java原创 2018-05-23 15:34:07 · 375 阅读 · 0 评论 -
spring+hibernate4异常……续
继无session可用之后,又出现了新的问题:1、update,saveOrUpdate报出持久化对象重复错误 解决方法:update:该方法在hibernate中用来更新来自于session已经存在的对象,如果该对象是new出来的,或者从前段传过来的(此两者我统称为非 session实例),那么在多线程环境下调用该方法会报错,目前尚不知为什么单线程共享 session是没有报出这...原创 2018-07-18 17:23:44 · 141 阅读 · 0 评论 -
Java大数据量(多线程)分段分批处理
package *.common.component;import java.util.ArrayList;import java.util.List;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.Execut...原创 2018-07-13 10:44:11 · 31182 阅读 · 16 评论 -
spring+hibernate4异常org.hibernate.HibernateExc和createCriteria is not valid without active transaction
在一个从来没有用过多线程的项目里面使用了多线程之后,引发的问题,所谓自作孽不可活~~~让我叹口气~~~Spring提供的sessionFactory管理:org.springframework.orm.hibernate4.LocalSessionFactoryBean起初获取session使用的是:sessionFactory.currentSession();出现的问题是:...原创 2018-07-14 03:31:28 · 859 阅读 · 0 评论 -
Java设计模式之策略模式
一、接口public interface ProcessInterface { //此方法用来注册一些不能通过spring上下文获取的实例,比如:FeignClient ProcessInterface register(Object... services); &amp;amp;lt;T&amp;amp;gt; T getBean(Class&amp;amp;lt;T&amp;amp;gt; clazz);原创 2018-09-06 10:58:31 · 411 阅读 · 0 评论 -
Java内部初始化类成员变量,局部变量不执行初始化
Java成员变量:Java类在生成实例时,jvm会在Java堆中分配一块内存空间,分配到的地址空间存储所有的成员变量,根据成员变量数据类型的不同,拥有不同的默认值,实例如果有赋值则会覆盖掉默认值,否则不做更改——即,无论如何,属性都会拥有初始值Java局部变量(个人理解)The local variable i may not have been initializedJav...原创 2018-12-19 21:21:04 · 1440 阅读 · 0 评论 -
PermGen and Metaspace
原文地址In this post, we take a look at Metaspace, and explain how to increase the performance of your JVM with a few simple commands.PermGen is an abbreviation for Permanent Generation and it’s a speci...转载 2018-12-22 06:07:32 · 193 阅读 · 0 评论 -
jvisualvm在线调试BTrace插件
写个测试类如下Tip:一定要用JDK8以后版本的工具,否则会出现问题,之前版本的插件地址已经废弃了,新的地址都是域名中包含有github的package a.b.c;public class Test1 { public static void main(String[] args) { System.out.println("main method start!"); whi...原创 2018-12-22 16:52:23 · 574 阅读 · 0 评论 -
Java构造器模式+泛型+lamda函数式编程=通用Builder
/** * @author 左金剛 * @Title: Builder * @Description: This is a common builder to create a bean, * the generic type must have a default construct, * otherwise will throw a exception * @date 2019/5...原创 2019-05-22 02:35:24 · 2203 阅读 · 6 评论