江帅帅:精通 Spring Boot 系列 02
1 @SpringBootApplication 注解Spring Boot 的启动类,也就是入口类,需要使用 @SpringBootApplication 注解来标注。在启动类中,我们的 main 方法就是 Java 应用程序的入口方法。@SpringBootApplication 是一个组合注解,具体源码如下:其中,比较重要的三个注解是:@SpringBootConfigu
江帅帅:精通 Spring Boot 系列 01
1、Spring Boot 概述Spring 框架,作为一个非常优秀的轻量级容器,在企业级项目开发中非常受欢迎,但它在使用期间需要整合众多第三方资源,都会导致配置过于臃肿,这也是令大家非常头疼的问题。Spring Boot 的出现,就是为了让大家更方便去使用 Spring 框架进行开发,它基于“约定优于配置(COC)”的设计理念,它实现了自动化配置解决方案,包括自动配置第三方资源,从而简化了 Sp
江帅帅:精通 Spring Boot 系列 01
1、Spring Boot 概述Spring 框架,作为一个非常优秀的轻量级容器,在企业级项目开发中非常受欢迎,但它在使用期间需要整合众多第三方资源,都会导致配置过于臃肿,这也是令大家非常头疼的问题。Spring Boot 的出现,就是为了让大家更方便去使用 Spring 框架进行开发,它基于“约定优于配置(COC)”的设计理念,它实现了自动化配置解决方案,包括自动配置第三方资源,从而简化了 Sp
五分钟学会Elasticsearch查询代理设计
Elasticsearch(ES)是一款基于Lucene的开源分布式搜索引擎。由于其稳定、可靠、快速、安装使用方便等优良特性,目前在业界已广泛使用。ES用途主要分两个方向:分布式实时文件存储 以及 分布式实时分析搜索引擎。一、为什么需要查询代理屏蔽复杂的DSL某二手交易平台使用ES,主要用来支持商品、用户等(以下统称文档)的搜索和分析。ES为查询功能提供了基于Json的完整Qu
你真的以为计算机网络不重要吗,这份书单帮你搞定相关面试题!
公众号【程序员书单】作者黄小斜,目前是阿里Java工程师,业余时间广泛读书,在公众号里除了分享程序员必读的技术书籍之外,也会推荐很多关于个人成长、投资理财等方面的书籍。你烦恼的每个问题,书中都有答案。 在这里,我们将为你推荐帮助程序员以及互联网从业者自我提升的各类好书、优质学习资源和工具,每周pick精品书单,解读经典书籍。 在这个时代,离开了网络,简直没有办法生存,而我们所学的编程知识
经典卷积神经网络算法(2):AlexNet
上文中实现了LeNet-5卷积网络,不可否认这是一个十分经典的网络结构,但是迫于种种复杂的现实场景限制,只能在一些领域应用,所以在接下来的10年间,卷积网络的锋芒一度被SVN算法覆盖,直到2012年AlexNet的提出。2012年Imagenet图像识别大赛中,Alext提出的AlexNet网络模型一鸣惊人,引爆了神经网络的应用热潮,并且赢得了2012届图像识别大赛的冠军,这也使得卷积神经网络真正
详解Java 虚拟机(第⑥篇)——内存分配与回收策略
一、Minor GC 和 Full GC Minor GC:回收新生代,因为新生代对象存活时间很短,因此 Minor GC 会频繁执行,执行的速度一般也会比较快。Full GC:回收老年代和新生代,老年代对象其存活时间长,因此 Full GC 很少执行,执行速度会比 Minor GC 慢很多。 二、内存分配策略1. 对象优先在 Eden 分配 大多数情况下,对象在新生代 Eden 上分配
弹性分布式深度学习系统
蚂蚁金服
详解Java 虚拟机(第④篇)——8 种基本类型的包装类和常量池
Java 基本类型的包装类的大部分都实现了常量池技术, 即Byte,Short,Integer,Long,Character,Boolean; 这 5 种包装类默认创建了数值 [-128,127] 的相应类型的缓存数据, 但是超出此范围仍然会去创建新的对象。两种浮点数类型的包装类 Float , Double 并没有实现常量池技术。valueOf() 方法的实现比较简单,就是先判断值是否在
详解Java 虚拟机(第①篇)——运行时数据区域
一、程序计数器(Program Counter Register) 当前线程所执行的字节码行号指示器(逻辑)通过改变计数器的值来选取下一条需要执行的字节码指令和线程一对一的关系,即“线程私有”对 Java 方法计数,如果是 Native 方法则计数器值为 Undefined只是计数,不会发生内存泄漏 二、Java 虚拟机栈每个 Java 方法在执行的同时会创建一个栈帧用于存储局部变量表
详解Java 容器(第⑤篇)——容器源码分析 - 并发容器
如果没有特别说明,以下源码分析基于 JDK 1.8。 CopyOnWriteArrayList1.读写分离 写操作在一个复制的数组上进行,读操作还是在原始数组中进行,读写分离,互不影响。 写操作需要加锁,防止并发写入时导致写入数据丢失。 写操作结束之后需要把原始数组指向新的复制数组。 public Boolean add(E e) { //加锁 final Ree
详解Java 容器(第③篇)——容器源码分析 - List
如果没有特别说明,以下源码分析基于 JDK 1.8。 一、ArrayList1. 概览 实现了 RandomAccess 接口,因此支持随机访问。这是理所当然的,因为 ArrayList 是基于数组实现的。 public class ArrayList<E> extends AbstractList<E> implements List<E
详解Java 容器(第②篇)——容器中的设计模式
一、迭代器模式 Collection 继承了 Iterable 接口,其中的 iterator() 方法能够产生一个 Iterator 对象,通过这个对象就可以迭代遍历 Collection 中的元素。 从 JDK 1.5 之后可以使用 foreach 方法来遍历实现了 Iterable 接口的聚合对象。 List<String> list = new ArrayList&l
深入理解Java多线程与并发框(第⑪篇)——线程池参数
ThreadPoolExecutor线程池线程的创建和销毁都会消耗大量资源,就好像公司每天上午9点工作时就招进一批员工,晚上6点干完活就辞退一批员工,这都会销毁公司大量资源。所以合理利用 “池” 中固定、稳定的线程是非常有必要的。 扩展关系ThreadPoolExecutor 构造方法 ThreadPoolExecutor 共有四个构造方法: ThreadPoolExecutor(int
深入理解Java多线程与并发框(第②篇)——线程和进程的区别
线程和进程的区别1. 资源调度单位 在计算机中,进程是程序运行所使用资源的基本单位。比如传统的一个Web应用,运行它需要多少资源,操作系统应该分配多少资源,都是进程为基本单位进行分配资源(资源包括内存、CPU、磁盘、I/O等)。我们知道CPU是一台计算机的运算核心和控制核心,它的功能解释并处理计算机指令,而进程这种量级的资源对于CPU来说实在太大了,无法调度,将进程划分为多个称为线程的实体,
深入理解Java多线程与并发框(第①篇)——线程的状态
1. 新建状态(New) 万事万物都不是凭空出现的,线程也一样,它被创建后的状态称为 新建 状态。 比如: Thread thread = new Thread(); 2. 可运行状态(Runable) 线程被创建后是不能使用的,就是让用户在此期间设置一些属性, 比如: // 设置类加载器 thread.setContextClassLoader(System.
Java常见知识点汇总(完结篇)——这应该是2020年最详细的Java知识点汇总
纸上得来终觉浅,绝知此事要躬行。笔者之前对每部分的内容对做了比较深入的学习以及代码实现,基本上比较全面地讲述了每一个Java基础知识点,当然可能有些遗漏和错误,欢迎读者指正。
Java常见知识点汇总(⑳)——锁
锁的概念可重入锁 如果锁具备可重入性,则称作为可重入锁。像synchronized和ReentrantLock都是可重入锁,可重入性在我看来实际上表明了锁的分配机制:基于线程的分配,而不是基于方法调用的分配。举个简单的例子,当一个线程执行到某个synchronized方法时,比如说method1,而在method1中会调用另外一个synchronized方法method2,此时线程不必重新去
zuul使用简说
zuul路由的几个配置参数1.静态路由zuul:routes:myroute1:path: /mypath/**url: http://localhost:8080 (注意这里url要http://开头)2.静态路由+ribbon负载均衡/故障切换zuul:routes:myroutes1:path: /mypath/**serviceId: myserverIdmyserverId:ribbon
java Spring Cloud b2b2c o2o 电子商务 Eureka【Finchley 版】-b2b2c小程序电子商务
介绍了 Eureka 服务注册中心的搭建,这篇文章介绍一下如何使用 Eureka 服务注册中心,搭建一个简单的服务端注册服务,客户端去调用服务使用的案例。了解springcloud架构可以加求求:三五三六二四七二五九案例中有三个角色:服务注册中心、服务提供者、服务消费者,其中服务注册中心就是我们上一篇的 Eureka 单节点启动既可。流程如下:启动注册中心服务提供者生产服务并注册到服务中心中消费者