spring总结
spring 简介Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能。Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。因此, Spring不仅仅能应用于J2EE应用程序之中,也可以应用于桌面应用程序以及小应用程序之中。 目的:解决企业应用开发的复杂性。 2004年3月24日,Spring框架以interface21框架为基础,经过重新设计,发布了1.0正式版。 理念:使现有的技术更加容易使用,本身就是一个大杂烩,整合了现有技术框架。 Rod Johnson,Java和J2EE开发领域的专家。Spring框架的创始人,同时也是SpringSource的联合创始人。Spring是面向切面编程(AOP)和控制反转(IOC)的容器...
数据结构与算法
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间,空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。 数组数组的基本使用public class TestArray { public static void main(String[] args) { // 创建一个数组 int[] arr1=new int[3]; // 获取数组的长度 int length = arr1.length; System.out.p...
java8
java8 java8新特性简介: 速度更快 代码更少(增加了新的语法Lambda表达式) 强大的Stream API 便于并行 最大化减少空指针异常Optional 其中最为核心的为Lambda表达式与Stream API Lambda表达式Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使java的语言表达能力得到了提升。 java8中引入了一个新的操作符 -> 该操作符称为箭头操作符或Lmabda操作符,箭头操作符将Lambda表达式拆分成两部分: 左侧:lambda表达式的参数列表 右侧:Lambda表达式中所需要执行的功能,即Lambda体 语法一:无参数,无返回值 () -> System.out.print(“Hello Lambda”); @Testpublic void test1(){ Runnable runnable1 = () -> System.out.println("...
jenkins
jenkins简介 简介Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。 Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。 CI全称 Continuous Integration,表示持续集成 CD 持续交付Continuous Delivery和持续部署Continuous Deployment Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具。主要做的事情就是从git中拉取代码,根据配置信息打包;把打好的包传输到目标服务器,并可以执行一些shell脚本,使项目打包发布一键完成。 Jenkins 用户手册 Jenkins 的安装和设置 jenkins官网 清华大学开源软件镜像站 持续部署、持续集成、持续交付。 安装gitlab[官网文档] gitlab官方网站 极狐GitLab 极狐GitLab下载安装 安装和配置...
Nacos简介
Nacos简介 官网:https://nacos.io/zh-cn/ Nacos文档:https://nacos.io/zh-cn/docs/what-is-nacos.html github地址:https://github.com/alibaba/nacos 安装运行1.4.2版本下载:https://github.com/alibaba/nacos/releases/tag/1.4.2 Windows下载后打开目录 启动nacos D:\nacos-server-1.4.2\nacos\bin>startup.cmd"nacos is starting with cluster" ,--. ,--.'| ,--,: : | Nacos 1.4.2,`--.'`| ' : ,---. Running in cluster m...
openFeign简介
openFeign简介 openFeign使用在消费者pom.xml引入如下依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId></dependency> 在启动类上加注解@EnableFeignClients @SpringBootApplication@EnableDiscoveryClient@EnableFeignClientspublic class NacosConsumer { public static void main(String[] args) { SpringApplication.run(NacosConsumer.class,args); }} 在服务提供者中有这样一个controller @RestControlle...
redis简介
redis简介redis是什么? Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。 免费和开源!是当下最热门的NoSql技术之一!也被人们称为结构化数据库! redis能干嘛? 内存存储、持久化,内存是断电即失的,所以需要持久化(RDB、AOF) 高效率、用于高速缓冲 发布订阅系统 地图信息分析 计时器、计数器(eg:浏览量) redis特性? 多样的数据类型 持久化 集群 事务 redis是单线程的,redis是基于内存操作的,cpu不是redis的性能瓶颈,redis的瓶颈是根据机器的内存和网络宽带,既然可以使用单线程来实现,就使用单线程了 linux安装下载地址:https://redis.io/ 下载:redis-6.2.10.tar.gz [root@quan q...
docker简介
docker简介、安装、常用命令 简介Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。 Docker的应用场景 Web 应用的自动化打包和发布。 自动化测试和持续集成、发布。 在服务型环境中部署和调整数据库或其他的后台应用。 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。 Docker 的优点Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docke...
maven简介
简介Maven 翻译为”专家”、”内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。 Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。 Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。 安装 检查JAVA_HOME环境变量 打开cmd输入下面命令,检查是否安装了jdk。 echo %JAVA_HOME% 下载 下载apache-maven-3.6.3-src.zip 配置环境变量 MAVEN_HOME或者M2_HOME 编辑path 查看maven版本 mvn -v 目录结构 常用命令注意:执行与构建过程相关的 Maven命令,必须进入 pom.xml所在的目录。与构建过程相关:编译、测试、打包、…… mvn clean清理缓存,删除target文件夹中的一...
JVM与Java体系结构
JVM与Java体系结构 JVM内存与垃圾回收篇概述每个语言都需要转换成字节码文件,最后转换的字节码文件都能通过Java虚拟机进行运行和处理 字节码 我们平时说的java字节码,指的是用java语言编译成的字节码。准确的说任何能在jvm平台上执行的字节码格式都是一样的。所以应该统称为:jvm字节码。 不同的编译器,可以编译出相同的字节码文件,字节码文件也可以在不同的JVM上运行。 Java虚拟机与Java语言并没有必然的联系,它只与特定的二进制文件格式—Class文件格式所关联,Class文件中包含了Java虚拟机指令集(或者称为字节码、Bytecodes)和符号表,还有一些其他辅助信息。 多语言混合编程 Java平台上的多语言混合编程正成为主流,通过特定领域的语言去解决特定领域的问题是当前软件开发应对日趋复杂的项目需求的一个方向。 试想一下,在一个项目之中,并行处理用clojure语言编写,展示层使用JRuby/Rails,中间层则是Java,每个应用层都将使用不同的编程语言来完成,而且,接口对每一层的开发者都是透明的,各种语言之间的交互不存在任何困难,就像使用...














