Java常用类
常用类1.字符串相关的类1.String类的概述12345678910111213141516171819import org.junit.Test;public class StringTest { /** * String:字符串,使用一对“”引起来表示。 * 1.String声明为final的,不可被继承 * 2.String实现了Serializable接口:表示字符串是支持序列化的。 * 实现了Comparable接口:表示String可以比较大小 * 3.String内部定义了final char[] value用于存储字符串数据 * 4.String:代表不可变的字符序列。简称:不可变性。 * 体现: * */ @Test public void Test1(){ }} 2.理解String的不可变性123456789101112131415161718192021222324252627282930313233 ...
Java SE
Java SE基础入门1.Java特性和优势 简单性 面向对象 可移植性 高性能 分布式 动态性 多线程 安全性 健壮性 2.java三大版本 Write Once、Run Anywhere JavaSE :标准版(桌面程序,控制台开发……) JavaME:嵌入式开发(手机,小家电……) JavaEE:企业级开发(Web端,服务器开发……) 3.JDK、JRE、JVM JDK:Java Development Kit JRE:Java Runtime Environment JVM:Java Virtual Machine 4.HelloWorld1.随便新建一个文件夹,存放代码 2.新建一个Java文件 文件后缀名为.java 例如:Hello.java 系统可能没有显示文件后缀名,我们需要手动打开 3.编写代码 12345public class Hello{ public static void main(String[] args){ System.out.print("Hello World!Java!" ...
Maven
Maven目录一、Maven简介1、为什么学习Maven1.1、Maven是一个依赖管理工具①jar 包的规模 随着我们使用越来越多的框架,或者框架封装程度越来越高,项目中使用的jar包也越来越多。项目中,一个模块里面用到上百个jar包是非常正常的。 比如下面的例子,我们只用到 SpringBoot、SpringCloud 框架中的三个功能: Nacos 服务注册发现 Web 框架环境 视图模板技术 Thymeleaf 最终却导入了 106 个 jar 包: org.springframework.security:spring-security-rsa:jar:1.0.9.RELEASE:compilecom.netflix.ribbon: ribbon:jar:2.3.0:compileorg.springframework.boot:spring-boot-starter-thymeleaf:jar:2.3.6.RELEASE:compilecommons-configuration:commons-configuration:jar:1.8:compileorg.apac ...
多线程
多线程1.线程简介1.多任务 现实中太多这样同时做多件事情的例子了,看起来是多个任务都在做,其实本质上我们的大脑在同一时间依旧只做了一件事情。 2.多线程 原来是一条路,慢慢因为车太多了,道路阻塞,效率极低。为了提高使用的效率,能够充分利用道路,于是加了多个车道。从此,妈妈再也不用担心道路阻塞了。 普通方法调用和多线程 3.程序.进程.线程 一个进程可以有多个线程,如视频中同时听声音,看图像,看弹幕,等等。 4.Process与Thread 说起进程,就不得不说下程序。程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。 而进程则是执行程序的依次执行过程,它是一个动态的概念。是系统资源分配的单位。 通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度和执行的单位。 注意: 很多多线程是模拟出来的,真正的多线程是指有多个cpu,即多核,如服务器。如果是模拟出来的多线程,即在一个cpu的情况下,在同一个时间点,cpu只能执行一个代码,因为切换的很快,所以就有同时执行的错局。 5.核心概念 线程就 ...
Java Web
JavaWeb快速入门 1.基本概念1.前言 web开发: web,网页的意思 , www.baidu.com 静态web html,css 提供给所有人看的数据始终不会发生变化! 动态web 淘宝,几乎是所有的网站; 提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同! 技术栈:Servlet/JSP,ASP,PHP。 在Java中,==动态web资源开发的技术统称为JavaWeb==。 2.web应用程序 web应用程序:可以提供浏览器访问的程序。 a.html.b.html……多个web资源,这些web资源可以被外界访问,对外界提供服务。 我们能访问到的任何一个页面或者资源,都存在于这个世界的某一个角落的计算机上。 URL 这些统一的web资源会被放在同一个文件夹下,web应用程序–>Tomcat:服务器。 一个web应用由多部分组成 (静态web,动态web)。 html,css,js jsp,servlet Java程序 jar包 配置文件 (Pr ...
Java集合
集合1.Java 集合框架概述1.集合框架与数组的对比及概述1234567891011121314151617/** * 一、集合的框架 * * 1.集合、数组都是对多个数据进行存储操作的结构,简称Java容器。 * 说明;此时的存储,主要是指能存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中) * * 2.1数组在存储多个数据封面的特点: * 》一旦初始化以后,它的长度就确定了。 * 》数组一旦定义好,它的数据类型也就确定了。我们就只能操作指定类型的数据了。 * 比如:String[] arr;int[] str; * 2.2数组在存储多个数据方面的特点: * 》一旦初始化以后,其长度就不可修改。 * 》数组中提供的方法非常有限,对于添加、删除、插入数据等操作,非常不便,同时效率不高。 * 》获取数组中实际元素的个数的需求,数组没有现成的属性或方法可用 * 》数组存储数据的特点:有序、可重复。对于无序、不可重复的需求,不能满足。 * */ 集合的使用场景 2.集合框架涉及到的A ...
Mybatis
Mybatis环境: JDK 1.8 Mysql 5.7 maven 3.6.3 IDEA 2020.2 SSM框架:配置文件的。 最好的方式:看官网文档; 1、简介1.1、什么是Mybatis MyBatis 是一款优秀的持久层框架 它支持定制化 SQL、存储过程以及高级映射。 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。 2013年11月迁移到Github。 如何获得Mybatis? maven仓库: 123456<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> ...
Nginx
Nginx快速入门 在低并发的情况下,一个jar包启动应用就够了,然后内部tomcat返回内容给用户。 随着用户越来越多了,并发量慢慢增大了,此时一台服务器满足不了需求了。 于是进行横向扩展,又增加了服务器。这个时候几个项目启动在不同的服务器上,用户要访问,就需要增加一个代理服务器了,通过代理服务器来帮开发者转发和处理请求。 开发者希望这个代理服务器可以帮助开发者接收用户的请求,然后将用户的请求按照规则帮开发者转发到不同的服务器节点之上。这个过程用户是无感知的,用户并不知道是哪个服务器返回的结果,开发者还希望他可以按照服务器的性能提供不同的权重选择。保证最佳体验!所以需要使用Nginx。 1.什么是Nginx?Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。2011年6月1日,nginx 1.0.4发布。 其特点是 ...
Node.js
Node.js安装1.什么是Node.jsNode.js 是一个开源的、跨平台的JavaScript运行时环境,用于开发服务器端和网络应用。Node.js 允许开发者使用JavaScript编写命令行工具和服务器端的应用程序,这意味着你可以用JavaScript来控制整个客户端和服务端的编程,无需像传统的web应用那样将JavaScript局限于浏览器中。 1.主要特点 事件驱动:Node.js 采用事件驱动模型,这使得它非常适合处理并发请求,可以高效地处理大量连接。 非阻塞 I/O:Node.js 使用非阻塞I/O调用,这样在等待I/O操作(如文件读写、网络请求等)完成时不会阻塞线程,而是继续执行其他任务,当I/O操作完成后通过回调函数通知结果。 单线程:Node.js 应用程序是单线程的,所有的代码都在一个线程上运行,这简化了并发问题。 **包管理器 (npm)**:Node.js 自带了一个包管理器叫做 npm (Node Package Manager),它是 JavaScript 最大的模块生态系统,提供了大量的第三方模块供开发者使用。 ...
MybatisPlus
MyBatisPlus快速入门 需要的基础: MyBatis Spring SpringMVC 是什么? MyBatis 本来就是简化 JDBC 操作的! 官网:https://mp.baomidou.com/ MyBatis Plus,==简化 MyBatis== 1.MyBatisPlus概述 MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 愿景 是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。 特性 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写 ...