Java
文章平均质量分 83
Java相关
SileeLiu
仰望星空,脚踏实地
小萌新的进阶之路!
展开
-
Servlet的生命周期
1. Servlet的生命周期就是Web服务器如何创建一个Servlet,如何初始化一个Servlet,如何调用一个Servlet来响应请求,如何销毁一个Servlet。2.Servlet生命周期分为4个阶段创建初始化就绪销毁3. 创建默认情况:当用户第一次请求一个Servlet映射的url时,Web服务器会找到该Servlet的class文件,加载并实例化后续用户多...原创 2019-04-19 16:01:18 · 489 阅读 · 0 评论 -
Java语言基础------循环流程控制之break和continue
breakbreak 用于结束当前循环案例:代码:public static void main(String[] args) { /** * break 案例 * 检测一个数字,是否为质数(素数) * 质数:如果一个数只能被1和自身整除,则这个数是 * 质数。 */ Scanner console = new Scanner(System.in);...原创 2019-03-02 16:51:42 · 194 阅读 · 0 评论 -
Java语言基础------数组(二)
数组的复制Java 提供了API,实现了高效的数组赋值原理:案例1: public static void main(String[] args) { /* * 数组的复制 * System.arraycopy() */ //源数组 int[] arr1 = {1,1,0,0,1,0,1}; //目标数组 int[] arr0 = {1...原创 2019-03-04 08:39:12 · 163 阅读 · 0 评论 -
Java语言基础------排序和冒泡排序
排序排序是一种算法将一组数据,按照一定次序进行排列的计算步骤。Java 提供了排序算法API,都是由小到大升序排序Arrays.sort(数组)案例: public static void main(String[] args) { /* * Java 排序API */ int[] arr = {3,19,5,7,9,10,8}; Arrays.sort(...原创 2019-03-04 08:39:30 · 227 阅读 · 0 评论 -
Java面向对象------方法
方法什么是方法方法用于封装一个计算过程(算法)定义方法的目的是便于复用算法通过复用可以减少编码量,提高开发效率定义一个方法语法: 修饰词 返回值类型 方法名(参数类型 参数名,参数类型 参数名...){ 方法体 }方法体:就是算法的计算步骤。方法名:是方法标识,根据方法名找到需要调用的方法。一般情况下,按照方法功能进行命名参数列表:计算时候的输入数据作...原创 2019-03-04 08:39:42 · 158 阅读 · 0 评论 -
Java语言基础------数组(一)
数组数组:用于存储类型一致的一组数据数组在内存中是连续存储的。数组是连续数据存储结构, 用于简便管理一组数据。也就是用一个变量代表一组数据在软件中数据类型相同的相关数据采用数组存储很多数据结构的底层都是数组字符串底层是数组集合底层是数组数组的初始化使用长度初始化数组原理:案例代码: public static void main(String...原创 2019-03-04 08:40:28 · 280 阅读 · 0 评论 -
Java语言基础------流程控制经典案例
九九乘法表分析一行如何输出分析多行如何输出代码: public static void main(String[] args) { /* * 99 乘法表 */ for(int j=1;j<=9;j++) { for(int i=1; i<=j; i++) { System.out.print(i+"X"+j+"="+(i*j)...原创 2019-03-04 08:40:40 · 345 阅读 · 0 评论 -
Java面向对象------继承
继承生活中的继承: 继承财产(不劳而获)。软件中的继承:子类可以继承(获得)父类中的属性和方法。子类无需声明就可以获得父类中的属性和方法。利用“泛化”实现继承!泛化是指,将子类中共同的属性和方法抽取到父类中的过程。 父类的设计思路是:通过“泛化”方法将子类的属性和方法抽取到父类中。所以在面向对象设计中,是先有子类再抽象出父类的。继承语法:使用extends实现继承被继承者是父...原创 2019-03-04 10:10:17 · 102 阅读 · 0 评论 -
Java面向对象------方法的重载与重写
方法的重载方法的重载: 方法名一样,参数不同的,不同功能方法的集合方法名相同,完全相同参数不同,包含参数的个数和顺序不同参数名不参与比较方法体(算法)可以完全不同设计重载的方法,往往是显示设计的优雅。实现重载:声明相同的方法名参数必须不同。如果参数相同就会出现编译错误!方法体没有限制,返回值没有限制。调用方法时候,根据方法名和参数列表 识别调用那个方法。...原创 2019-03-04 08:58:30 · 286 阅读 · 0 评论 -
Java语言基础------循环流程控制
while循环do while循环for循环for循环的特殊用法原创 2019-03-02 16:43:57 · 159 阅读 · 0 评论 -
Java语言基础------分支流程控制
分支流程控制if 单路分支if的原理案例:案例代码: public static void main(String[] args) { /** * if 流程控制 */ int i = 5; Scanner console = new Scanner(System.in); System.out.print("输入总价:"); double total =...原创 2019-03-02 16:26:58 · 230 阅读 · 0 评论 -
了解SpringBoot
了解SpringBoot1.什么是SpringBootSpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品:我们可以看到下面的一段介绍:Takes an opinionated view of building production-ready Spring applications. Spring Boot f...原创 2019-09-29 15:07:52 · 172 阅读 · 0 评论 -
Java开发环境及其特点
##java开发环境java编译运行过程:编译期:.java源文件,经过编译,生成.class字节码文件运行期:JVM加载.class并运行.class名词解释:JVM:java虚拟机:加载.class并运行.classJRE:java运行环境除了包含JVM以外还包含了运行java程序所必须的环境JRE=JVM+java系统类库(小零件)JDK: java开发...原创 2019-03-02 10:21:11 · 2506 阅读 · 0 评论 -
Java语言基础------变量
变量什么是变量:存数的,代词,指代的就是它所存的那个数声明: int a; //声明一个整型的变量,名为a int b,c,d; //声明三个整型的变量,名为b,c,d初始化:第一次赋值 int a = 250; //声明整型变量a并赋值为250 int b; //声明整型变量b b = 250; //给变量b赋值为250 b = 360; //修改变量b的值为36...原创 2019-03-02 10:31:53 · 202 阅读 · 0 评论 -
Java语言基础------数据类型
Java数据类型数据类型bit和byte:bit (位):位是计算机中存储数据的最小单位,指二进制数中的一个位数,其为“0”或“1”。byte (字节):字节是计算机存储容量的基本单位,一个字节由8位二进制数组成。Java中的数据类型:四类八种数据类型整型:byte: 1个字节short: 2个字节int:4个字节整数直接量默认为int类型,但不能...原创 2019-03-02 11:38:01 · 152 阅读 · 0 评论 -
Java语言基础------运算符(一)
运算符数学运算符:+ - * / %双目运算:参与运算的变量有两个取余计算(%):n%m余数特点1. 范围: [0,m)2. 周期变化:0 1 2 … m-1 0 1 2 … m-13. 结果的数学意义:是不够m个数的剩余个数单目运算符:(++ --)只有一个变量参与运算,称为单目运算,将当前变量的值,增加1或者减少案例: int a = 8; a++; /...原创 2019-03-02 14:48:29 · 211 阅读 · 0 评论 -
Java语言基础------运算符(二)
运算符逻辑运算与运算 && (并且):有 false 就是 false false && false -> false false && true -> false true && false -> false true && true -> true或运算 ||原创 2019-03-02 15:49:11 · 1292 阅读 · 0 评论 -
Java语言基础------运算符(三)
赋值计算“=”称为赋值运算符,用于对变量赋值。关于赋值运算符,用于将右边的表达式计算出来赋给左边赋值计算的优先级很低,一般是最后计算赋值表达式本身也有值,其本身之值即为所赋之值。案例: int a; a = 6;//将6赋值给a //赋值本身是一种表达式,有整体值, 值是最后赋值的结果 System.out.println(a=8); //8 int b =...原创 2019-03-02 15:55:43 · 208 阅读 · 0 评论 -
Java语言基础------运算符(四)
运算符字符串连接计算加号 + 是Java中唯一的一个“重载”运算符(重载: 一个符号两种以上功能);数值计算:加号两端都是数值时候,是数学加法计算字符串连接:加号两端出现一个字符串时候,是字符串连接案例: int a = 5, b = 6; System.out.println(a + b); System.out.println("a=" + a); //"a=5" Syste...原创 2019-03-02 16:04:15 · 214 阅读 · 0 评论 -
Java面向对象------构造器
构造器(构造器方法)什么是构造器用于封装对象属性的实例化过程,创建对象时候调用构造器,复用对象属性实例化过程语法在类中声明,方法名与类名一致(包含大小写)不能定义返回值,也不能使用void构造方法可以有参数,参数用于初始化对象的属性使用 new 运算调用构造器,创建对象如果不定义构造器,Java 编译器会自动提供 默认构造器如果定义了任何构造器,Java编译器将不...原创 2019-03-04 10:11:06 · 533 阅读 · 0 评论 -
Java面向对象------内部类
内部类什么是内部类: 在类内部定义的类,称为内部类内部类的优点:可以隐藏类的定义可以共享外部的属性、方法何时使用内部类:如果需要隐藏类的定义,或者内部类共享外部的属性或者方法时候,使用内部类。如果不需要如上特性,就不要使用内部类!提示:内部类一般只在类的内部使用,不在外部使用。案例: public class Demo01 { publ...原创 2019-03-04 10:20:13 · 106 阅读 · 0 评论 -
Cookie
1. 什么是Cookie?将用户的会话状态保存在浏览器的技术2. Cookie的原理服务器使用set-cookie的响应头,将用户的会话状态发送给浏览器进行保存浏览器使用cookie的请求头,将自己保存的会话状态发送给服务器,供服务器使用)3. 具体的API原始的API response.setHeader("set-cookie","name=admin"); String...原创 2019-04-19 14:35:09 · 110 阅读 · 0 评论 -
Session
SessionSession是将会话状态保存在服务器的技术1. 原理当用户需要保存会话状态时,在服务器上为用户创建一个Session对象,保存会话状态服务器将该Session对象的ID发给用户,方式是Cookie,内容JSESSIONID=123用户在后续的请求中,会自动携带JSESSIONID的Cookie,服务器收到后,根据其值,查找用户对应的Session对象,获取用户的会话状态...原创 2019-04-19 14:54:23 · 276 阅读 · 0 评论 -
Filter
1. 什么是Filter是Sun公司提供的一种特殊的JavaEE组件,可以对用户的请求进行拦截,以实现特定的功能常见的功能:访问权限控制,敏感词过滤,压缩响应内容等2. 如何开发一个Filter1. 开发一个Filter类,实现Filter接口2. 实现接口中定义的3个抽象方法 1. doFilter() 2. init() 3. destory()3. 在web.xml...原创 2019-04-19 15:03:26 · 237 阅读 · 0 评论 -
Listener
Listener指Sun公司提供的JavaEE的监听器,可以监听Web项目在运行中的各种具体事件,执行开发者指定的处理逻辑1. 可以监听的事件特殊对象的创建和销毁Request对象Session对象ServletContext对象特殊对象中存入了值、修改值、删除值Request对象Session对象ServletContext对象其他2. 如何开发...原创 2019-04-19 15:06:29 · 606 阅读 · 0 评论 -
JSP的标签技术(EL表达式和JSTL)
JSP的标签技术1. 背景Sun公司推出了自定义标签技术,用于替代JSP中的Java代码apche推出了一套标准标签Sun公司在JSP的更新中引入标准标签2. EL和JSTLEL表达式语言,替代JSP表达式 <%= %>JSTL(JSP标准标签库),替代 <% %>2. EL(表达式语言,EL表达式)用于替代JSP中的JSP表达式 &...原创 2019-04-19 15:26:45 · 1642 阅读 · 0 评论 -
Servlet(一)
1. 什么是Servlet?Servlet是运行在Web服务器上的代码片段(组件),用于处理用户的http请求,是Sun公司定义的JavaEE的组件规范2. 为什么要用Servlet?可以简化Web服务器端的开发,将复杂的网络通信细节封装在WebServer中,开发者仅需要提供Servlet,就可以完成服务器端开发3. 什么时候用Servlet?Web服务器端处理http协议,使用Se...原创 2019-04-19 15:38:54 · 149 阅读 · 0 评论 -
Servlet(二)
1. Servlet接收用户请求参数在Servlet中接收用户发来的请求参数1. 为什么要在Servlet中接收?之前是需要自己从请求数据包中去解析数据,现在使用WebServer,WebServer已经解析过请求数据包,将请求参数读取出来了,开发者仅需要在Servlet中通过API来获取就可以了2. 如何获取?通过request对象去获取request提供了一个API St...原创 2019-04-19 15:48:16 · 188 阅读 · 0 评论 -
请求转发和重定向
1. 请求的转发1)什么是请求转发?是指Servlet对一个请求进行初步的处理,然后交给另一个组件(Servlet,JSP,Html)来生成响应内容一般情况下,都是Servlet对请求进行处理,然后交给JSP来生成响应内容2) 为什么用请求转发?充分利用不同组件的特点,发挥组件的优势,让组件配合工作,提高开发的效率3)如何实现转发?1. 向request中绑定数据 存:req...原创 2019-04-19 15:58:00 · 230 阅读 · 0 评论 -
File类
1. File类File的每一个实例用于表示文件系统中的一个文件或目录使用File可以:查看其表示的文件或目录的属性信息(名字,大小等)创建,删除文件或目录访问一个个目录的所有子项注意:不能访问文件数据创建file时需要指定其表示的文件或目录的路径,而路径有两种:1. 绝对路径:优点:清晰明了缺点:是不同操作系统的路径定义不同,并且绝对路径不灵活可变,跨平台使用非常不便,...原创 2019-03-12 19:31:46 · 148 阅读 · 0 评论 -
Object类
1. Object类object类是java中的一个特殊的类,Java中的所有类都直接或间接继承了Object 类。当定义了一个新类时,如果没有用extends确定这个类继承了某类,那么则默认继承 Object类2. equals与 “==” String s1 = "ABC"; String s2 = "ABC"; String s3 = new String("ABC"); ...原创 2019-03-11 20:26:55 · 112 阅读 · 0 评论 -
Java面向对象------对象数组
对象数组存储一组对象的数组。当需要存储一组类型一致的一组对象时候,采用对象数组存储其好处是,用一个变量管理一组数据。使用对象数组: 类类型[] 变量 = new 类类型[长度]; 类类型[] 变量 = new 类类型[]{对象,对象,对象};对象数组元素的默认值是 null案例: String[] arr = new String[5]; //声明了长...原创 2019-03-04 10:29:53 · 561 阅读 · 0 评论 -
Java面向对象------抽象类和抽象方法
抽象类和抽象方法抽象(abstract)类使用 abstract 声明的类是抽象类,抽象类不能直接实例化,只能被继承。软件中作为父类使用的“半成品”类,在逻辑上不应该直接实例化。Java提供了 abstract 关键字,实现在语法层面限制一个类,避免实例化。软件的编写者,在团队协作时候,利用abstract限制类的实例化,可以使合作者避免不必要的错误。何时使用:一般情况下,作为半成品...原创 2019-03-05 09:29:31 · 215 阅读 · 0 评论 -
Java面向对象------访问控制
访问控制什么是访问控制:用于控制 类 属性 方法等的可见范围。为啥使用访问控制:可以控制数据及方法的可见范围,保护软件组件(对象)的安全可靠。访问控制修饰词public 公有的: 在任何位置都可以看见可以修饰类:类可以在任何位置被访问可以修饰属性:属性可以在任何位置被访问可以修饰方法:方法可以在任何位置被访问protected 保护的 :在同包中可见,子类可见...原创 2019-03-05 09:29:43 · 162 阅读 · 0 评论 -
Java面向对象------static
staticstatic 静态的属于对象的属性和方法是动态的,相反属于类的就是静态的。静态的用途修饰类的成员变量,称为静态变量,静态变量是属于类的变量,可以使用“类名.变量名”访问, 在类的内部可以省略类名。静态变量只有一份,可以被全体对象共享!软件中只有一份的数据应该使用static修饰。静态变量在类加载期间,随着类在方法区中初始化,只有一份属于类。 publi...原创 2019-03-05 09:29:55 · 202 阅读 · 0 评论 -
Java面向对象------final
finalfinal修饰变量(局部变量,方法参数,实例变量)可以初始化一次,以后不能再改变 public class Demo01 { public static void main(String[] args) { /* * final 修饰的变量 * 1. final 修饰的变量,可以初始化一次,不能再修改 */ //在方法中声明的变量是...原创 2019-03-05 09:30:07 · 118 阅读 · 0 评论 -
Java面向对象------接口
接口何为接口接口:不同类别的公共行为抽象为接口。在软件继承关系中,部分类型拥有公共方法,需要抽取到接口中。当一个类型继承自己的父类,同时又实现接口,这种现象称为多继承。如果软件继承结构中出现了一部分类型拥有相同的方法时候,需要使用接口进行抽象设计。如果全部类型都有的公共方法,直接抽取到父类中。接口的语法语法:接口中只能定义常量和抽象方法可以省略常量的修饰词可以省略...原创 2019-03-05 09:30:21 · 451 阅读 · 0 评论 -
String类的常用操作
1. 字符串长度和遍历字符串字符串封装了一个长度不可变的char数组每个char字符都存储是Unicode编码字符串的长度,就是其存储的char字符个数String提供length()方法可以获取字符串的长度,也就是字符的个数,中文和英文都是一个字符注意:字符的长度是str.length()方法,数组长度是属性arr.lengthlength()方法和charAt()方法配合可以用...原创 2019-03-11 19:50:07 · 880 阅读 · 0 评论 -
包装类
1. 基本类型与包装类Java的基本数据类型包括:boolean、char、byte、short、int、float、long、double 8种。分别对应的包装类是:Boolean、Character、Byte、Short、Integer、Float、Long、Double。包装类的默认值为null int i = 5;//基本类型 Integer n = new Integer(i...原创 2019-03-11 20:14:43 · 139 阅读 · 0 评论 -
雪花算法实现分布式自增长ID
/** * <p>名称:IdWorker.java</p> * <p>描述:分布式自增长ID</p> * <pre> * Twitter的 Snowflake JAVA实现方案 * </pre> * 核心代码为其IdWorker这个类实现,其原理结构如下,我分别用一个0表示一位,用—分割开部分的作用: *...原创 2019-09-29 16:37:28 · 436 阅读 · 0 评论