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下载安装 安装和配置...
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...
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...
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,每个应用层都将使用不同的编程语言来完成,而且,接口对每一层的开发者都是透明的,各种语言之间的交互不存在任何困难,就像使用...
tomcat的安装与配置
Tomcat的下载,安装,配置,部署,优化 jdk的环境变量配置在’系统变量’中, 新建JAVA_HOME在PATH中添加 %JAVA_HOME%\bin在’系统变量’中, 新建CLASSPATH,变量值为 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;测试java是否配置成功 $ java -versionjava version "1.8.0_261"Java(TM) SE Runtime Environment (build 1.8.0_261-b12)Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode) Tomcat下载进入tomcat官网,选择tomcat9点击64-bit Windows zip (pgp, sha512)下载下载到E盘,解压 Tomcat配置环境变量在’系统变量’中, 新建变量名:CATALINA_HOME,变量值:E:\apache-tomcat-9.0.37在PATH中添加 %CATALIN...
mysql数据库设计规范
在使用MySQL数据库的时候需要遵循一定规范,扬长避短。本规范旨在帮助或指导开发、测试、数据库操作人员等做出适合线上业务的数据库设计和规范化操作。在数据库变更和处理流程、数据库表设计、SQL编写等方面予以规范。 基础规范 【强制】数据库表结构字符集统一使用UTF8mb4。 【强制】新建表,必须显式指定主键。 【强制】不在数据库中存储图片、大文件等大数据。 【强制】所有表名、表字段必须添加注释。 【强制】无特殊需求,必须统一使用INNODB存储引擎。 命名规则 【强制】数据库名、表名、字段名必须统一使用小写字母,采用26个英文字母和0-9的自然数组合,命名不能只含数字,加上下划线“_”组成,不建议加数字。 【强制】特殊情况下,需要数字与字母组合一起命名时,名称必须用英文字母开头,采用可体现业务模块含义的单词或缩写,单词中间用“_”分割,单词只能由英文字母、数字组成,不能只含数字。正例: service_level2 【强制】禁止使用大小写字母混合方式命名数据库名、表名、字段名。 【强制】数据库名、表名、字段名禁止使用拼音或夹带拼音。 【强制】数据库名、表名、字段名禁止使用My...














