Java 设计模式   设计模式是对大家实际工作中写的各种代码进行高层次抽象的总结 设计模式分为 23 种经典的模式,根据用途我们又可以分为三大类.分别是创建型模式.结构型模式和行为型模式 列举几种设计原则,这几种设计原则将贯通全文: 面向接口编程,而不是面向实现.这个尤为重要,也是优雅的.可扩展的代码的第一步,这就不需要多说了吧 职责单一原则.每个类都应该只有一个单一的功能,并且该功能应该由这个类完全封装起来 对修改关闭,对扩展开放.对修改关闭是说,我们辛辛苦苦加班写出来的代码,该实现的功能和…
大家好,这里是<齐姐聊数据结构>系列之大集合. 话不多说,直接上图: Java 集合,也称作容器,主要是由两大接口 (Interface) 派生出来的: Collection 和 Map 顾名思义,容器就是用来存放数据的. 那么这两大接口的不同之处在于: Collection 存放单一元素: Map 存放 key-value 键值对. 就是单身狗放 Collection 里面,couple 就放 Map 里.(所以你属于哪里? 学习这些集合框架,我认为有 4 个目标: 明确每个接口和类的对应关…
原文链接:https://mp.weixin.qq.com/s/c9tkrokcDQR375kiwCeV9w? 现在使用NIO的场景越来越多,很多网上的技术框架或多或少的使用NIO技术,譬如Tomcat,Jetty.学习和掌握NIO技术已经不是一个JAVA攻城狮的加分技能,而是一个必备技能.在前篇文章<NIO基础>中我们学习了NIO的相关理论知识,而在本篇中我们一起来学习一下Java NIO的实战知识. 一.概述 NIO主要有三大核心部分:Channel(通道),Buffer(缓冲区), Se…
注解 1.概念 注解:说明程序的.给计算机看的 注释:用文字描述程序的.给程序员看的 注解的定义:注解(Annotation),也叫元数据.一种代码级别的说明.它是JDK1.5及以后版本引入的一个特性,与类.接口.枚举是在同一个层次.它可以声明在包.类.字段.方法.局部变量.方法参数等的前面,用来对这些元素进行说明,注释. 2.作用 ①编写文档:通过代码里标识的注解生成文档[生成文档doc文档]: ​ shift+右键 -> 在此处打开Powershell窗口 -> 输入:javadoc .\…
前言 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,即进程空间或(虚空间).进程不依赖于线程而独立存在,一个进程中可以启动多个线程. 线程是指进程中的一个执行流程,一个进程中可以运行多个线程.线程总是属于某个进程,线程没有自己的虚拟地址空间,与进程内的其他线程一起共享分配给该进程的所有资源,统一进程内的线程共享一个堆内存,每个线程具有自己的栈内存."同时"执行是人的感觉,在线程之间实际上轮换执行. 同步与异步 同步:排队执行,效率低但是安全. 异步:同步执行,效…
此文主要讲述在初学 Java 时,常用的 Log4J 日志记录配置文件详解及实例源代码整理.希望能对初学 Java 编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激!源代码测试通过日期为:2015-1-30 13:54:02,请知悉. 所需的 jar 包下载链接为:http://yunpan.cn/cKE56sxqtQCfP  访问密码 63d8 有关 Log4J 日志文件中日志级别及文件配置的详细情况,在 Log4J 的配置文件(xml.properties)中有详细的介绍,敬请参阅!…
转载:https://www.jianshu.com/p/7601ba434ff4 想必大家多多少少听过spi,具体的解释我就不多说了.但是它具体是怎么实现的呢?它的原理是什么呢?下面我就围绕这两个问题来解释: 实现: 其实具体的实现类就是java.util.ServiceLoader这个类. 要想了解一个机制的原理,首先得知道它是怎么运行的,需要什么配置,才能运行起来.然后再分解来了解实现.对于技术实现也是一样,先看这个类是怎么实现的,先让它跑起来,看到效果.然后再讲原理.按照使用说明文档,应…
如果对什么是线程.什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内. 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现.说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟,当然也没法说能用单线程来实现:比如最常见的“生产者,消费者模型”. 很多人都对其中的一些概念不够明确,如同步.并发等等,让我们先建立一个数据字典,以免产生误会. 多线程:指的是这个程序(一个进程)运…
Java和Ibatis调用存储过程并取得返回值详解 2011-07-19 17:33 jiandanfeng2 CSDN博客 字号:T | T 本文主要介绍了Java和Ibatis调用存储过程的方法,并给出了详细的代码,希望能对读者有所帮助. AD:WOT2014课程推荐:实战MSA:用开源软件搭建微服务系统 存储过程可以减少sql语句的网络传输,使得很多开发人员喜欢用存储过程,但是如果想把存储过程用好,用灵活还是需要花费一定的时间和努力的.本文主要java调用存储过程和ibatis调用存储过程…
紧接着上篇<关于 Docker 镜像的操作,看完这篇就够啦 !(上)>,奉上下篇 !!! 镜像作为 Docker 三大核心概念中最重要的一个关键词,它有很多操作,是您想学习容器技术不得不掌握的.本文将带您一步一步,图文并重,上手操作来学习它. 目录: 一.Docker 删除镜像 1.1 通过标签删除镜像 1.2 通过 ID 删除镜像 1.3 删除镜像的限制 1.4 清理镜像 二.Docker 创建镜像 2.1 基于已有的镜像创建 2.2 基于 Dockerfile 创建 三.Docker 导出…