maven的简单介绍
摘要:#maven是什么 Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。 在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可重复使用,Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。 概
阅读全文
20rabbitmq介绍
摘要:RabbitMQ介绍前言RabbitMQ是基于AMQP协议(Advanced Message Queue Protocol)的消息中间件什么是消息队列消息队列属于进程间通信的一种方式,使用消息队列可以通过异步方式处理数据,借此可以提高系统性能。我们可以把消息当作存放数据的容器,消息的消费者可以从队列
阅读全文
Docker
摘要:Docker Docker介绍 http://www.runoob.com/docker/docker-tutorial.html 什么是docker Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一
阅读全文
dcoker-componse-2
摘要:思考 前面我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build、docker run 等命令操作容器。然而微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知 使用 Do
阅读全文
MyBatis的基本使用
摘要:前言 本章我们将开始学习一个非常优秀的ORM(对象关系映射)框架:MyBatis,它是目前企业中使用最多的数据库框架。 MyBatis简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集
阅读全文
SpringMVC实现文件上传和下载
摘要:SpringMVC实现文件上传和下载 文件上传 依赖jar 导入的jar包 commons-fileupload commons-io 配置视图解析器 在SpringMVC的配置文件中设置文件上传解析器 编写上传页面 使用from表单实现文件的上传 编写上传控制器 上传文件对应方法的参数类型为@Re
阅读全文
JDBC初体验
摘要:JDBC简介- JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写
阅读全文
SpringMVC之@ResponseBody注解
摘要:前言 本章我们学习到SpringMVC的服务器端如何提供数据查询服务,这里需要使用两个重要的注解:@ResponseBody和@RestController。 @ResponseBody注解 在前面使用SpringMVC时,Controller中的方法返回值会通过视图处理器ViewResolver处
阅读全文
简单案例来看JS中的面向对象
摘要:在JS中,一般情况下我们都是直接写函数,直接调用,但是发现JS中也有new关键字,那么new关键字作为创建对象的关键字,给我们的感觉就是在JS中可以定义一个类,然后用new创建对象,那么在JS中如何做呢?我们先看如下案例,下面的案例是写一个简单的喷泉效果的。 window.onload = func
阅读全文
实战Tomcat性能优化
摘要:前言 由于不同的硬件配置导致默认的tomcat配置无法达到最佳的性能,导致我们需要对tomcat的进行相应的配置调整。 Tomcat内存优化 配置信息:JAVA_OPTS=’-Xms1024m -Xmx2048m -XX: PermSize=256M -XX:MaxNewSize=256m -XX:
阅读全文
JAVA之坦克大战系列11-高级瞄准策略
摘要:前言 本篇将给大家准备一个高级瞄准运动方法。 高级运动瞄准 其基本原理是: change in x = cos(initialheading) * radius - cos(initialheading + changeinheading) * radius change in y = sin(in
阅读全文
原生Ajax的使用
摘要:#什么是 AJAX ? AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 AJAX 就是 异步、JavaScript 和 XML。 AJAX 是一种用于创建快速动态网页的技术。 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个
阅读全文
Java中的国际化
摘要:国际化,就是项目能够让所有的国家的语言都能够支持。Java既然作为一个跨平台的语言就必然要在各种不同的语言环境中使用。而为了解决这个问题Java给我们提供了一个工具类ResourceBundle,帮助我们实现Java的国际化, 核心的思想就是, 对不同的语言提供一个不同的资源文件。 Java实现国际
阅读全文
springcloud介绍
摘要:SOA:更注重于相同功能的重用,来构建一条企业功能的主线,其他的功能在这条主线上进行开发和扩展。有点类似于EJB的功能。 微服务:将整个功能拆分成若干个服务,各个服务独立部署,此时的重点是业务拆分的粒度。 微服务:dubbo、springcloud Dubbo 我们已经讲过了,接下来主要讲sprin
阅读全文
SpringMVC之请求和响应
摘要:前言 前面我们学习了SpringMVC的基本配置,接下来一个非常重要的知识点是如何接受用户的请求以及如何将数据发送给用户。 获得请求参数 获得页面参数的几种方式 1)通过参数名获得 给控制器的方法设置参数名和表单name相同 2)通过@RequestParam("参数名")注解设置参数 @Reque
阅读全文
JAVA坦克大战系列10-高效雷达(下)
摘要:前言 本篇将给大家准备一个非常高效的雷达扫描坦克,可以有效的锁定敌人。 高效雷达坦克示例 废话就不多说了,直接上代码吧。 1. import java.awt.Color; 2. 3. import robocode.AdvancedRobot; 4. import robocode.RobotDe
阅读全文
5分钟了解基数排序
摘要:5分钟了解基数排序 前言 基数排序无需进行比较和交换,而是利用分配和收集两种基本操作实现排序。基数排序分为两种:第一种是LSD ,从最低位开始排序;第二种是 MSD, 从最高位开始排序。 。 基数排序思想介绍 分配:对于数字,每位的取值范围是0-9,因此需要10个容器(我们可以将其称为桶),这10个
阅读全文
finalize()方法详解
摘要:前言 finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法。。 finalize的作用 (1)finalize()与C++中的析构函数不是对应的。C++中的析构函数调用的时机是确定的(对象离开作用域或delete掉),但Jav
阅读全文
Java中的位移运算
摘要:在Java中,位移运算属于基本运算,符号是<<和>>,即向左位移和向右位移。在Java中只有整数才能位移,所以其他的不考虑,位移运算是将整数在内存中表示的二进制进行位移,所以在Java中分为正数和负数的位移。 对于正数来说,向左位移,即<<相当于乘以2,移动多少次即乘以多少次2,例如5<<2即5 *
阅读全文
JSP对象
摘要:一.JSP隐含对象 JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明。JSP隐式对象也被称为预定义变量。JSP支持九个自动定义的变量,被称为隐含对象。这九个隐含对象的简介见下表:rId4 1.request对象 request对象是javax.servle
阅读全文
SpringMVC之基本配置
摘要:前言 前面我们了解了MVC模式,本章我们将学习SpringMVC框架的基本使用,掌握SpringMVC的配置方式是使用SpringMVC框架的基础。 SpringMVC的配置流程 导入maven依赖 添加spring的配置 配置web.xml文件 使用注解配置控制器 导入Maven依赖 这里我们需要
阅读全文
技术分享:集合
摘要:1. Iterator 1.1什么是Iterator? 概念:Iterator是一个接口,它是集合的迭代器,集合可以通过Iterator去遍历集合中的元素,常用API接口: 例子: 注意: (1)Iterator只能单向移动。 (2)Iterator.remove()是唯一安全的方式来在迭代过程中修
阅读全文
JAVA之坦克大战系列9-高效雷达(上)
摘要:前言 本篇之前的内容介绍了瞄准策略,让大家明白了如何能让我们的雷达更好的锁定到敌人,本篇将分享给大家一个非常高效的雷达,供大家参考。 主要内容复习 第一, heading 角度系 如图所示,所谓heading角,即从Y轴出发,然后顺时针绕回Y轴的这么个角度区间,取值范围: [0,360] 第二, b
阅读全文
5分钟了解计数排序
摘要:前言 计数排序是一种非比较性质的排序算法,计数排序借助辅助空间记录每个元素出现的次数,根据次数确定每一个元素最终的位置。 计数排序思想介绍 1根据待排序数组,获取最大值和最小值,得到所有元素的范围 [m,n] 2新建一个长度为n-m+1的临时数组 3遍历待排序数组,元素的值-m作为临时数组下标,该下
阅读全文
Java中的float在内存中的存储
摘要:最近在讲Java基础,讲到数据类型的转换,提到整数类型长字节类型数据放到短字节类型数据中时,由于字节数不够,会截断数据,所以需要程序员手动强制类型转换,例如将int型的数据放到byte类型中。 后来学生提出一个问题,为什么float只有4个字节,而long有8个字节,将一个long数据放入到一个fl
阅读全文
MySQL的执行计划
摘要:MySQL的执行计划 什么是执行计划? 执行计划通常是开发者优化SQL语句的第一步。MySQL在解析SQL语句时,会生成多套执行方案,然后内部会进行一个成本的计算,然后通过优化器选择一个最优的方案执行,然后根据这个方案会生成一个执行计划。开发者通过查看SQL语句的执行计划,可以直观的了解到MySQL
阅读全文
SpringCloud
摘要:SpringCloud,主讲:韩永恒 一、Web应用架构的演变 随着互联网的发展,网站应用的规模不断扩大,Web应用架构也在不断的演变四个阶段:单一应用、垂直应用、分布式服务、流动计算 单一应用架构 当网站访问量很小时,只需要一个应用程序,将所有的功能都部署在一起,以减少部署节点和成本 此时关键问题
阅读全文
SpringMVC之MVC概述
摘要:前言 目前Web开发的主流模式是MVC,Spring提供了SpringMVC模块,支持MVC模式开发,本章我们将对MVC模式进行一个整体认识。 Web开发模式的演变 在早期的java web开发中,我们将页面显示、业务逻辑、数据操作全部放到JSP或JavaBean中实现,也就是Model1 这种模式
阅读全文
初学者必须知道的idea设置
摘要:初学者必须知道的idea设置 解决输入法卡住的问题 使用idea的时候中文搜狗输入法会卡住,在安装路径下有两个jre文件夹,32位系统改jre32,64位系统改jre64,重命名一下文件夹就好了。 修改配置文件位置 idea默认的把配置文件和插件之类的都放到c盘,文件会越来越大,还有tomcat跑项
阅读全文