10 2019 档案

摘要:一、什么是工厂模式 实现了创建者和调用者分离,工厂模式分为简单工厂、工厂方法、抽象工厂模式 二、工厂模式好处 工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。 利用工厂模式可以降低程序的耦合性,为后期的维护修改提供了很大的便利。 将选择实现类、创建对象统一管理和控制。从 阅读全文
posted @ 2019-10-30 14:01 codeobj 阅读(301) 评论(0) 推荐(0)
摘要:一、设计模式 1、设计模式分类 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式 阅读全文
posted @ 2019-10-28 16:03 codeobj 阅读(343) 评论(0) 推荐(0)
摘要:一、 什么是Java反射 就是正在运行,动态获取这个类的所有信息。 1、反射机制的作用 1,反编译:.class .java 2.通过反射机制访问java对象的属性,方法,构造方法等; 2、反射机制的应用场景 Jdbc 加载驱动 Spring IOC 3、反射机制获取类有三种方法 4、反射创建对象的 阅读全文
posted @ 2019-10-28 09:14 codeobj 阅读(772) 评论(0) 推荐(0)
摘要:一、什么是Disruptor Martin Fowler在自己网站上写了一篇LMAX架构的文章,在文章中他介绍了LMAX是一种新型零售金融交易平台,它能够以很低的延迟产生大量交易。这个系统是建立在JVM平台上,其核心是一个业务逻辑处理器,它能够在一个线程里每秒处理6百万订单。业务逻辑处理器完全是运行 阅读全文
posted @ 2019-10-24 09:53 codeobj 阅读(957) 评论(0) 推荐(0)
摘要:一、重入锁 锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized(重量级) 和 ReentrantLock(轻量级)等等 ) 。这些已经写好提供的锁为我们开发提供了便利。 重入锁,也叫做递归锁,指的是同一线程 外层函数获得锁之后 ,内层递归函数仍然有获取该锁的 阅读全文
posted @ 2019-10-22 09:52 codeobj 阅读(284) 评论(0) 推荐(0)
摘要:Callable 在Java中,创建线程一般有两种方式,一种是继承Thread类,一种是实现Runnable接口。然而,这两种方式的缺点是在线程任务执行结束后,无法获取执行结果。我们一般只能采用共享变量或共享存储区以及线程通信的方式实现获得任务结果的目的。 不过,Java中,也提供了使用Callab 阅读全文
posted @ 2019-10-19 18:37 codeobj 阅读(3609) 评论(0) 推荐(0)
摘要:一、线程池 1、什么是线程池 Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序 都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个好处。 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 第二:提高响应速度。当任务到达时,任务可以不 阅读全文
posted @ 2019-10-15 09:17 codeobj 阅读(345) 评论(0) 推荐(0)
摘要:Java中使用HttpPost上传文件以及HttpGet进行API请求(包含HttpPost上传文件) 一、HttpPost上传文件 二、HttpGet对API进行Get请求 两种方式: 使用在URL中拼接,已经进行过测试 使用URI进行参数构造的方式未进行测试 1、在URL中拼接 2、使用参数的方 阅读全文
posted @ 2019-10-14 10:27 codeobj 阅读(2899) 评论(0) 推荐(0)
摘要:一、并发队列 在并发队列上JDK提供了两套实现, 一个是以ConcurrentLinkedQueue为代表的高性能队列非阻塞, 一个是以BlockingQueue接口为代表的阻塞队列,无论哪种都继承自Queue。 1、阻塞队列与非阻塞队 阻塞队列与普通队列的区别在于: 阻塞队列: 当队列是空的时,从 阅读全文
posted @ 2019-10-13 18:30 codeobj 阅读(2485) 评论(0) 推荐(3)
摘要:多线程之间通讯实现(并解决线程安全问题) 这种方式的问题在于,会进行多次消费 wait、notify方法 多线程之间通讯,其实就是多个线程在操作同一个资源,但是操作的动作不同。 1. 因为涉及到对象锁,他们必须都放在synchronized中来使用. Wait、Notify一定要在synchroni 阅读全文
posted @ 2019-10-10 21:19 codeobj 阅读(334) 评论(0) 推荐(0)
摘要:一、什么是线程安全? 为什么有线程安全问题? 当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作是不会发生数据冲突问题。 案例:需求现在有100张火车票,有两个窗口同时抢火车票,请使用多线程模拟抢票效果。 代码: 运行结果: 一号窗口 阅读全文
posted @ 2019-10-07 18:07 codeobj 阅读(346) 评论(0) 推荐(0)
摘要:一、线程与进程区别 每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行 使用线程可以把占 阅读全文
posted @ 2019-10-06 16:09 codeobj 阅读(183) 评论(0) 推荐(0)