`
文章列表
List集合使用toArray方法转成数组,该方法重载了两种形式,无参的和有参的,有参的又可以指定目的数组的不同长度,根据数组长度和原有List元素个数(size)的比较又可以分为几种情况,每一种方式对性能的影响不一。本文主要以实例结合源码来分析不同情况性能问题,供实际工作和面试时参考。不多说,直接上干货 创建一个简单的List,插入3个元素 List<String> list1 = new ArrayList<>(); list1.add("a")
     Spring Boot可以使用条件装配来灵活地指定什么时候将哪些bean实例化并纳入容器,条件装配是spring boot自动配置机制(auto configure)的重要一环,也是理解spring boot原理的重要基础。本文以实例为引导,展示spring条件装配的常用使用场景,其间也会涉及一些spring的原理。阅读本文,要求有一些spring和spring boot的基本使用经验,最好对java config配置有一定了解。       条件装配主要以@ConditionalOnXXX系列注解和@Conditional注解两大类注解结合java config配置来实现。其 ...
   1.安装     1)下载:自己百度。注意需要先安装好JDK并配置JAVA_HOME     2)安装好后的目录结构       可以看到同其他的java应用类似,bin目录里放相关命令,conf目录里放相应配置文件   3)启动 进入bin目录,发现有win32和win64两个文件夹,这2个文件夹分别对应
  两种消息模型:点对点和发布订阅 1.P2P (点对点)模式 1)核心组件 消息队列(Queue)--消息存放的地方 发送者(Sender)--就是消息生产者 接收者(Receiver)--就是消息消费者 生产者生产的每个消息都被发送到一个特定的队列(queue),消费者从队列中获取消息。队列保留着(未被消费的)消息,直到他们被消费或超时。   2)P2P模式的特点 A. 每个消息只有一个消费者(Consumer)(即一旦被消费,消息就不再留在消息队列中)
  (一)消息中间件、JMS和ActiveMQ概述 1. 消息中间件产生的背景 同步vs异步 在客户端与服务器进行通讯时,当客户端发起请求后,通常必须等待服务对象完成处理返回结果才能继续执行(同步)。这就造成了服务请求方与服务提供方之间生命周期的紧密紧密耦合,客户进程和服务对象进程都都必须同时正常运行,是为同步。从而造成性能低下,而且如果在过程中出现任何故障,很可能导致响应数据的丢失。 2.消息中间件 隔离于应用逻辑,专门处理消息的组件。面向消息的中间件(MOM)较好的解决了以上问题。发送者将消息发送给消息服务器,消息服务器将消息存放在若干队列中,在合适的时候再将消息转发给接收 ...
接上一篇:docker实例入门(上) https://www.iteye.com/blog/songdi5403-2477645   继续以nginx镜像为例介绍docker的一些基本操作     7. 编写Dockerfile文件创建自己的镜像 Dockerfile 文件用于指示如何创建你的镜像。格式由一行行命令语句 ...
       docker是目前微服务和devops中流行的自动化部署技术,也是目前对开发和运维岗位新的要求。docker的概念相对比较新颖,抽象,本文以实例为引导,图文并茂,尽量以比较通俗的语言描述docker的概念及使用入门,以帮助初 ...
      Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。下面以一个简单示例来帮助初学者快速上手,也便于自己查阅。示例涵盖了markdown常用语法,语法说明的部分就直接以markdown编辑的文档内容呈现,一看就能明白,你可以用有道云笔记创建,也可以下一个markdownpad之类的单独编辑器编写。   --文档开始 hello markdown  注意:两个空格再回车才能换行 *斜体*  **粗体***** 水平分割线  ***粗斜体*** # 一级标题## 二级标题### 三级标题。。。 ***1. 有序 ...
      本文简介Java自定义注解的使用,并且结合在使用POI导出excel表格中的一个应用来加深对annotation的理解。预备知识:Java基础、反射机制、略微了解POI或JXL等读写EXCEL的工具。      Annontation(注解)是Java5开始引入的新特征。它用来将一些元数据/元信息(metadata)与程序元素(类、方法、成员变量等)进行关联,为程序的元素(类、方法、成员变量)加上更直观更明了的说明,并且供指定的工具或框架使用,起到说明、配置的功能。常用的注解如@Override,@Controller、@Repository等各种框架的注解等,Annon ...
1.404 就不说了 2. 405 客户端请求method与spring mvc controller方法上声明的method不一致,比如请求是get,controller是post或相反等情况,报405错误(method not allowed)    3. 请求参数映射不到服务端去(非请求报错,但是服务端收不 ...
Thymeleaf 是一个页面模板引擎(独立的)(spring boot推荐的模板引擎),可以完全替代 JSP ,使用html+thymeleaf的方式可以在 静态页面中加入动态内容。本文抛砖引玉,讲解spring boot中集成thymeleaf的基本步骤,以及thymeleaf基本使用(附件中附有后端和前端的源码文件) 特点: 1.页面内容动静分离 前端后端工作分离 2.与spring boot集成较好:Spring Boot默认就是使用thymeleaf模板引擎的,如果使用SpringBoot框架开发,使用thymeleaf可以省去了很多繁琐的配置步骤 3.在有网 ...
     Java有各种数据类型,但页面传到服务端的数据通常都是字符串型的,springmvc对常用的基本数据类型做了自动类型转换,但对于日期类型,由于日期格式多种多样,所以spring mvc无法统一处理,看下面的例子:       /** *  * @author 演示常用客户端参数接收方式 * */@Controller@RequestMapping("/paramPassDemo")public class ParamPassDemo {   /**     * 使用领域对象来接收参数     *      * @param user     * @retur ...
     异或的运算是一个二进制运算: 两个操作数相等为0,不等为11^1=0 0^0=0 1^0=1 0^1=1            两个char类型变量做异或操作时,要上转成二进制位,并按位异或,直接输出表达式结果就是数字,要想知道异或后的字符是什么,需要向下转回到char型,例子如下: public static void main(String[] args) {        char[] arr = {'我','是','谁'};        char b = 'c';                for (char c : arr) {            Syste ...
(一)概述 1.索引的作用:相当于数据的目录,用于提高查询速度 2.索引的原理、如何起作用的:所谓索引就是为特定的mysql字段(一个或多个)进行一些特定的算法排序,常用的排序算法有二叉树的算法和哈希算法   (二)索引分类 INDEX普通索引 施加的字段值允许重复 UNIQUE唯一索引 施加的字段不可重复,但可以有NULL值。 PRIMARY KEY主键索引 施加的字段不允许出现相同的值,且不能为NULL值,一个表只能有一个primary_key索引。设置主键约束时自动添加
     以前经常适用关系型数据库存储父子级联数据,比如一个菜单下面可能有子菜单,上面可能有父级菜单。实际上就是一种单表自关联结构,通过在当前记录中设置parentId指向父记录的id来实现递归。      在mongodb中可以利用聚合+$graphLookup表达式+$match表达式+管道(pipeline)来实现类似操作,具体用一个例子来说明:    1. 场景:员工的报告关系(reportingTo),比如程序员向组长报告,组长向经理报告,经理向分管副总报告。。。,可以形成一个递归的层级关系保存在一个collection里,mongodb数据如下: { "_id&q ...
Global site tag (gtag.js) - Google Analytics