java
xyz1253587469
记录我的学习资料,希望不会断更。送给未来的自己。
展开
-
Java I/O模型从BIO到NIO和Reactor模式
原文地址:添加链接描述转载 2019-11-08 11:51:09 · 293 阅读 · 0 评论 -
java设计模式之模板方法模式
java设计模式参考文章: Java设计模式实战,23种设计模式介绍以及在Java中的实现,Java设计模式, Java经典设计模式之五大创建型模式## 定义 ##定义一个操作中算法的骨架,而将一些步骤延迟到子类中。模板方法使子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。处理某个流程的骨架代码已经具备, 但其中某节点的具体实现暂不确定, 此时可采用模板方法, 将该节点的代码实现转转载 2017-11-29 16:54:13 · 212 阅读 · 0 评论 -
java设计模式之命令模式
java设计模式参考文章: Java设计模式实战,23种设计模式介绍以及在Java中的实现,Java设计模式, Java经典设计模式之五大创建型模式## 定义 ##将一个请求封装为一个对象,从而使用户可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。## 代码举例 ##模拟对电视机的操作有开机、关机命令/** * @author bwx * @date 201转载 2017-11-29 17:47:46 · 226 阅读 · 0 评论 -
java设计模式之工厂方法模式
java设计模式参考文章: Java设计模式实战,23种设计模式介绍以及在Java中的实现,Java设计模式, Java经典设计模式之五大创建型模式简单工厂模式(静态工厂模式)## 定义 ##简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。## 代码举例 ##// 抽象水果类public interface转载 2017-11-23 11:11:07 · 156 阅读 · 0 评论 -
java设计模式之抽象工厂模式
java设计模式参考文章: Java设计模式实战,23种设计模式介绍以及在Java中的实现,Java设计模式, Java经典设计模式之五大创建型模式## 定义 ##抽象工厂模式是所有形态的工厂模式中最为抽象和最其一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。## 代码举例 ##// 抽象产品 引擎public in转载 2017-11-23 16:27:27 · 141 阅读 · 0 评论 -
java设计模式之单例模式
java设计模式参考文章: Java设计模式实战,23种设计模式介绍以及在Java中的实现,Java设计模式, Java经典设计模式之五大创建型模式## 定义 ##单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。其实,GoF对单例模式的定义是:保证一个类、只有一个实例存在,同时提供能对该实例加以访问的全转载 2017-11-24 17:10:08 · 177 阅读 · 0 评论 -
【dubbo】服务提供者运行的三种方式
## 参考文章 ##【dubbo】服务运行的三种方式How to create spring-based executable jar with maven?How can I create an executable JAR with dependencies using Maven?使用Servlet容器运行(Tomcat、Jetty等) ## 不可取增加复杂性(端口,管理)浪费资源转载 2017-12-04 18:29:02 · 4299 阅读 · 1 评论 -
常用的分布式事务解决方案
参考文章: “分布式事务”解决方案汇总 – 2PC/TCC/事务消息/1PC, 常用的分布式事务解决方案介绍有多少种?, 大规模SOA系统中的分布事务处事_程立, (微服务)分布式事务-最大努力交付 && 消息最终一致性方案, 分布式事务以及解决方法, 常用的分布式事务解决方案介绍一 刚性事务全局事务(标准的分布式事务)二 柔性事务可靠消息最终一致(异步确认型)TCC (两阶段型转载 2017-12-07 18:31:31 · 263 阅读 · 0 评论 -
分布式事务解决方案之消息发送一致性(可靠消息的前提保障)
本文主要参考龙果学院的微服务架构的分布式事务解决方案,深入理解分布式事务消息一致性大体流程消息一致性异常情况分析分布式环境下,在任何环节都有可能出现问题。从主动方应用角度分析从消息中间件的角度来分析异常情况总结异常处理消息最终一致性之本地消息服务1.主动方业务操作和消息数据在同一个数据库,则业务操作和消息存储发送可以作为事务执行。 a.执行成功,进入下一步。 b.执行失败,则业务操作转载 2017-12-08 15:57:59 · 616 阅读 · 0 评论 -
java设计模式之状态模式
java设计模式参考文章: Java设计模式实战,23种设计模式介绍以及在Java中的实现,Java设计模式, Java经典设计模式之五大创建型模式## 定义 ##允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。代码举例案例: 问题跟踪(Bug状态流转): 新建(New) -> 打开(Open) -> 解决(Fixed) -> 关闭(Closed)……..public转载 2017-11-29 17:20:53 · 179 阅读 · 0 评论 -
java设计模式之备忘录模式
java设计模式参考文章: Java设计模式实战,23种设计模式介绍以及在Java中的实现,Java设计模式, Java经典设计模式之五大创建型模式## 定义 ##在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存该状态,这样就可以将该对象恢复到之前保存的状态。## 代码举例 ##/** * @author bwx * @date 2017/11/29 * 游戏角色, 原发转载 2017-11-29 16:57:59 · 216 阅读 · 0 评论 -
Java设计模式之代理模式实现及原理
原文地址:http://blog.csdn.net/goskalrie/article/details/52458773简介Java编程的目标是实现现实不能完成的,优化现实能够完成的,是一种虚拟技术。生活中的方方面面都可以虚拟到代码中。代理模式所讲的就是现实生活中的这么一个概念:中介。代理模式的定义:给某一个对象提供一个代理,并由代理对象控制对原对象的引用。转载 2017-04-10 10:47:25 · 442 阅读 · 0 评论 -
java设计模式之外观模式(门面模式)
java设计模式参考文章: Java设计模式实战,23种设计模式介绍以及在Java中的实现,Java设计模式, Java经典设计模式之五大创建型模式## 定义 ##为系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式是一种很简单的模式,我们有意无意都在使用这种模式。## 代码示例 ##每个Computer都有CPU、Memory转载 2017-11-28 15:53:22 · 160 阅读 · 0 评论 -
java设计模式之组合模式
java设计模式参考文章: Java设计模式实战,23种设计模式介绍以及在Java中的实现,Java设计模式, Java经典设计模式之五大创建型模式## 定义 ##将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使用户对单个对象和组合对象的使用具有一致性。## 代码举例 ##Sunny软件公司欲开发一个杀毒(AntiVirus)软件,该软件既可以对某个文件夹(Folder)转载 2017-11-28 16:32:27 · 301 阅读 · 0 评论 -
java设计模式之桥接模式
java设计模式参考文章: Java设计模式实战,23种设计模式介绍以及在Java中的实现,Java设计模式, Java经典设计模式之五大创建型模式## 定义 ##业务场景参考这篇文章将抽象部分与它的实现部分分离,使它们都可以独立的变化。## 代码举例 ##/** * @author bwx * @date 2017/11/28 * 品牌抽象接口 */public interface B转载 2017-11-28 17:07:44 · 162 阅读 · 0 评论 -
java设计模式之适配器模式
java设计模式参考文章: Java设计模式实战,23种设计模式介绍以及在Java中的实现,Java设计模式, Java经典设计模式之五大创建型模式## 定义 ##将一个类的接口转换成客户希望的另外一个接口。该模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。## 代码举例 ## 在大规模的系统开发过程中,我们常常碰到诸如以下这些情况:我们需要实现某些功能,这些功能已有还不太成熟的转载 2017-11-28 17:30:46 · 161 阅读 · 0 评论 -
java设计模式之抽象工厂模式
java设计模式参考文章: Java设计模式实战,23种设计模式介绍以及在Java中的实现,Java设计模式, Java经典设计模式之五大创建型模式## 定义 ##Mediator模式也叫中介者模式,Mediator模式是行为模式之一,在Mediator模式中,类之间的交互行为被统一放在Mediator的对象中,对象通过Mediator对象同其他对象交互,Mediator对象起着控制器的作用。##转载 2017-11-28 18:02:11 · 167 阅读 · 0 评论 -
java设计模式之责任链模式
java设计模式参考文章: Java设计模式实战,23种设计模式介绍以及在Java中的实现,Java设计模式, Java经典设计模式之五大创建型模式## 定义 ##Chain of Responsibility(CoR)模式也叫职责链模式或者职责连锁模式,是行为模式之一,该模式构造一系列分别担当不同的职责的类的对象来共同完成一个任务,这些类的对象之间像链条一样紧密相连,所以被称作职责链模式。##转载 2017-11-28 18:23:49 · 212 阅读 · 0 评论 -
jvm一问一答
写一个程序,让程序在运行之后,最终抛出由于Perm区溢出引起的OOM,给出运行的jdk版本,程序源码,运行参数,并说明你的基本思路/** 1. jdk 1.7 2. @author bwx 3. @date 2017/11/16 4. question : 要求perm区溢出.Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收转载 2017-11-17 11:51:09 · 237 阅读 · 0 评论 -
java设计模式之迭代器模式
java设计模式参考文章: Java设计模式实战,23种设计模式介绍以及在Java中的实现,Java设计模式, Java经典设计模式之五大创建型模式## 定义 ##提供一种方法顺序访问一个聚合对象中的各个元素,而由不需要暴露该对象的内部细节。## 代码举例 ##/** * @author bwx * @date 2017/11/29 * 迭代器接口 */public interface转载 2017-11-29 16:07:56 · 201 阅读 · 0 评论 -
java设计模式之原型模式
java设计模式参考文章: Java设计模式实战,23种设计模式介绍以及在Java中的实现,Java设计模式, Java经典设计模式之五大创建型模式## 定义 ##Prototype模式是一种对象创建型模式,它采取复制原型对象的方法来创建对象的实例。使用Prototype模式创建的实例,具有与原型一样的数据。## 代码示例 ##package com.design_pattern.Protot转载 2017-11-27 12:02:37 · 145 阅读 · 0 评论 -
Java类加载器
参考文章:Java类加载器总结, Java高新技术第一篇:类加载器详解1.类加载器1)Bootstrap ClassLoader负责加载$JAVA_HOME中jre/lib/rt.jar里所有的class,由C++实现,不是ClassLoader子类2)Extension ClassLoader负责加载java平台中扩展功能的一些jar包,包括$JAVA_HOME中jre/lib/*.jar或转载 2017-12-07 21:37:08 · 224 阅读 · 0 评论 -
java设计模式之装饰模式
java设计模式参考文章: Java设计模式实战,23种设计模式介绍以及在Java中的实现,Java设计模式, Java经典设计模式之五大创建型模式## 定义 ## 装饰者模式(Decorator): 又称包装器(Wrapper), 可以动态地为一个对象添加一些额外的职责. 就增加功能来说, 装饰者模式是一种用于替代继承的技术, 他无须通过增加子类继承就能扩展对象的已有功能, 而是使用对象的关转载 2017-11-27 16:36:27 · 134 阅读 · 0 评论 -
Java动态代理
JDK动态代理spring-aop源码关于通过JDK获取代理对象的源码中,获取的代理对象可以强转为所需要的对象。 为什么Java 动态代理可以将 $Proxy0 强转成接口的实现类?final class $Proxy0 extends Proxy implements Bird { private static Method m1; private static...转载 2018-08-17 09:29:35 · 192 阅读 · 0 评论 -
深入理解事务--Spring事务的传播机制
原文地址事务的嵌套概念所谓事务的嵌套就是两个事务方法之间相互调用。spring事务开启 ,或者是基于接口的或者是基于类的代理被创建(注意一定要是代理,不能手动new 一个对象,并且此类(有无接口都行)一定要被代理——spring中的bean只要纳入了IOC管理都是被代理的)。所以在同一个类中一个方法调用另一个方法有事务的方法,事务是不会起作用的 。如何在同一个类中,调用另一个方法有事务的方法...转载 2018-09-20 17:10:43 · 210 阅读 · 0 评论 -
动态修改Java 枚举类的值
参考地址:111package com.itmuch.empty;import javassist.ClassPool;import javassist.CtClass;import javassist.CtField;import sun.reflect.ConstructorAccessor;import sun.reflect.FieldAccessor;import sun...转载 2018-09-28 16:56:10 · 9042 阅读 · 0 评论 -
Java静态内部类
原文地址:Java静态内部类,参考地址:为什么Java内部类要设计成静态和非静态两种?Java的内部类有两种,一种是静态内部类,另一种是普通内部类。普通内部类可以获得外部对象的引用,所以在普通内部类能够访问外部对象的成员变量 ,也就能够使用外部类的资源,可以说普通内部类依赖于外部类,普通内部类与外部类是共生共死的,创建普通内部类的对象之前,必须先创建外部类的对象。创建普通内部类的代码如下...转载 2019-03-25 10:23:25 · 204 阅读 · 0 评论 -
阿里云Redis开发规范
原文地址2.【推荐】:禁用命令禁止线上使用keys、flushall、flushdb等,通过redis的rename机制禁掉命令,或者使用scan的方式渐进式处理。转载 2019-03-27 11:41:15 · 359 阅读 · 0 评论 -
spring ioc之@Import解析
原文地址@Import注解给Spring bean创建带来很大的灵活性,因其对配置的封装,极大简化了Spring的使用。Spring中的Enable*基本上都是通过Import注解来实现的。定义@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Import {...转载 2019-04-16 10:16:37 · 346 阅读 · 0 评论 -
文件下载输出--零拷贝
Linux探秘之用户态与内核态JVM致命错误日志(hs_err_pid.log)分析###问题在并发情况下,从远程下载文件,copy到outPutStream中,再删除文件,服务会挂掉。## A fatal error has been detected by the Java Runtime Environment:## SIGBUS (0x7) at pc=0x00007f...转载 2019-06-03 14:59:06 · 2343 阅读 · 0 评论 -
Spring Boot 自动配置之@Enable*与@Import注解
原文地址:添加链接描述SpringBoot 的自动配置如此强大,比如我们经常使用的@Enable* 注解来开启对某方面的支持。那么@Enable* 注解的原理是什么呢?一、@Enable* 注解与 @Import 注解之间的关系@Enable* 举例:@EnableScheduling 开启计划任务的支持@EnableAsync 开启异步方法的支持@EnableAspectJAutoP...转载 2019-06-20 11:33:16 · 420 阅读 · 0 评论 -
spring cloud 两个feignclient 名称相同时的问题
1.报错现象线上发版发现以前能用的功能,线上报错。列表内容 如下:Caused by: feign.codec.EncodeException: Could not write request: no suitable HttpMessageConverter found for request type [java.util.HashMap] and content type...原创 2018-08-10 11:39:46 · 16324 阅读 · 0 评论 -
spring cloud 简单介绍
原文地址:点击打开链接文档地址 https://www.springcloud.cc/spring-cloud-dalston.html具体流程(1)创建springboot 应用(2)创建spring cloud 分布式配置(如平时的properties,xml配置文件,当存在开发,生产等多个版本时,保持配置文件一致性)应用可以使用git做,转载 2018-03-26 13:47:19 · 319 阅读 · 0 评论 -
Java Web项目RSA加密
原文地址Java Web项目RSA加密 最近做的一个项目,服务器为Java,采用SSH框架,客户端为Android和IOS。当用户登录时,从客户端向服务器提交用户名和密码。这就存在一个问题,如果数据包在网络上被其他人截取了,密码就有可能泄露。可以采用Base64对密码编码,但是Base64要进行解码是很容易的事。另一种方法是对密码进行MD5加密,MD5是不可逆的,只能加密不能解密。但是其他人截取了转载 2018-03-22 09:44:28 · 866 阅读 · 0 评论 -
java设计模式之策略模式
java设计模式参考文章: Java设计模式实战,23种设计模式介绍以及在Java中的实现,Java设计模式, Java经典设计模式之五大创建型模式## 定义 ##定义一系列算法,把他们一个个封装起来,并且使他们可相互替换。本模式使得算法可独立于其他客户端而变化。## 代码示例 ##/** * @author bwx * @date 2017/11/27 */public interfa转载 2017-11-27 17:15:27 · 147 阅读 · 0 评论 -
java设计模式之观察者模式
java设计模式参考文章: Java设计模式实战,23种设计模式介绍以及在Java中的实现,Java设计模式, Java经典设计模式之五大创建型模式## 定义 ##Observer模式是行为模式之一,定义对象间的一种一对多的依赖关系,当一个对象状态发生改变时,所有依赖它的对象都得到通知并被自动更新。## 代码示例 ##在博客里,有个订阅功能,当你订阅后,当博主发布新的博客,你都能收到消息。这转载 2017-11-28 11:23:06 · 200 阅读 · 0 评论 -
java设计模式之享元模式
java设计模式参考文章: Java设计模式实战,23种设计模式介绍以及在Java中的实现,Java设计模式, Java经典设计模式之五大创建型模式## 定义 ##运用共享技术有效地支持大量细粒度的对象。## 代码示例 ##一盘棋的棋子大小、材质、颜色(黑/白)往往都是确定的,而围棋落子的位置却不一定, 因此我们可以将棋子位置从棋子对象中剥离,然后让棋子对象共享大小、材质、颜色属性, 并在调用时转载 2017-11-28 14:06:45 · 208 阅读 · 0 评论 -
dubbo基于SPI思想的实现
参考文章:ServiceLoader详解 什么是SPI SPI即Service Provider Interface,服务提供接口. SPI思想 我们系统里抽象的各个模块,往往有很多不同的实现方案,比如日志模块的方案,xml解析模块、jdbc模块的方案等。面向的对象的设计里,我们一般推荐模块之间基于接口编程,模块之间不对实现类进行硬编码。一旦代码里涉及具体的实现类,就违反了可拔...转载 2017-12-18 15:46:38 · 398 阅读 · 0 评论 -
Intellij IDEA调试功能使用总结
原文地址转载 2017-12-18 17:27:37 · 245 阅读 · 0 评论 -
java多线程之线程状态
原文地址:这里写链接内容新建(NEW):新创建了一个线程对象。可运行(RUNNABLE):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态 的线程位于可运行线程池中,等待被线程调度选中,获取cpu 的使用权 。运行(RUNNING):可运行状态(runnable)的线程获得了cpu 时间片(timeslice) ,执行程序代码。阻塞(BLOCKED):转载 2018-02-28 17:03:07 · 250 阅读 · 0 评论