![](https://img-blog.csdnimg.cn/20190729094552267.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
JavaSE
文章平均质量分 67
JavaSE专栏
zhouym_
这个作者很懒,什么都没留下…
展开
-
Java8新特性之Lambda表达式
(一) Lambda表达式初探lambda表达式也可以成为闭包,它是java8最重要的特性之一。Lambda允许把函数作为一个方法的参数使用。使用Lambda表达式可以使我们的代码变得更加简洁紧凑,其实Lambda表达式的本质是一个“语法糖”,由编译器推断并转换为常规的代码,因此可以使用更少的代码来实现同样的功能。Lambda表达式的格式:(parameters) -> express...原创 2019-10-29 00:06:09 · 544 阅读 · 0 评论 -
Tomcat服务器的安装及虚拟路径的配置
一、Tomcat安装过程当用户在浏览器浏览一些数据的时候,需要向服务器发送请求,服务器要对请求进行处理,做出响应,这是客户端和服务器的一种数据交互,完成这个交互功能的是一个容器,叫做web容器,web容器有很多种,常见的有Jboss、Weblogic、Jetty(SpringBoot默认的服务器就是Jetty)、Tomcat本篇文章主要来了解一下Tomcat。1、下载Tomcat下载地址:...原创 2019-06-02 11:51:27 · 4238 阅读 · 1 评论 -
线程的几个知识点总结
1.说明几个概念: 对象锁、sleep、wait、notify、notifyAll答:对象锁:(方法锁)针对一个对象,它只是在该对象的某个内存位置声明一个标识该对象是否拥有锁,所以它只会锁住当前对象,一般一个对象锁是对一个非静态成员变量进行Synchronzed修饰,或者对一个非静态成员方法进行synchronzed进行修饰,对于对象锁,不同对象访问同一个被synchronzed修饰的方法的时候...原创 2019-05-12 15:23:20 · 334 阅读 · 0 评论 -
多线程相关知识整理
进程先来了解下什么是进程进程:指正在运行的程序,例如:QQ,微信,浏览器等等进程有前台进程,后台进程一个进程可以有一条线程,也可以有多条线程线程线程:具有完成独立任务的一条执行路径public class Thread extends Object implements Runnable线程是程序中的执行线程。Java虚拟机允许应用程序并发的运行多个执行线程每个线程都有一个...原创 2019-05-10 20:08:58 · 633 阅读 · 0 评论 -
注解相关知识整理
注解(Annotation)public interface Annotation所有 annotation 类型都要扩展的公共接口。注意,手动扩展该公共接口的接口不 定义 annotation 类型。还要注意此接口本身不定义 annotation 类型。引入注解的优点1、能够灵活的使用框架提供的注解,最后能够读懂框架的源码2、能够配合反射将代码书写的更加灵活,更加易于维护易于扩展(通过...原创 2019-05-09 20:40:15 · 217 阅读 · 0 评论 -
JVM的类加载机制和类加载过程
JVM的启动与销毁类的加载,连接,初始化系统可能在第一次使用某个类时加载该类,也可能采用预加载机制来加载某个类JVM和类当调用java命令运行某个Java程序是,该命令会启动一个Java虚拟机进程,不管该Java程序有多么复杂,给程序启动了多少个线程,他们都处于Java虚拟机进程同一个JVM的所有线程、所有变量都处于同一个进程里,他们都是用该JVM进程的内存区,当系统出现以下几种情况...原创 2019-05-07 21:04:46 · 523 阅读 · 0 评论 -
反射
反射Java是面向对象语言,Java编译生成的字节码文件(xxx.class)应该也是一个对象,而这个对象不需要我们定义, Java已经事先定义好了一个类叫做ClassClass类是用来描述现实事物的,是Java语言的最基本单位,类作为一个概念存在,概念本身也是一个对象而我们使用Class类来描述这个概念类反射的好处:通过反射技术可以获取到字节码文件对象,使用这个字节码文件对象就可以获...原创 2019-05-07 19:54:09 · 152 阅读 · 0 评论 -
IO流和NIO流的区别
IO流和NIO流的区别IONIO面向流编程面向块(缓冲区)编程阻塞IO非阻塞IO无选择器selectorNIO和IO最大的区别是:IO是面向流的,NIO是面向缓冲区的。IO面向流意味着每次从流中读一个或多个字节,直到读取所有字节,它们没有被缓存在任何地方。此外,它不能前后移动流中的数据。如果需要前后移动从流中读取的数据,需要先将它缓存到一个缓冲区。...原创 2019-05-06 20:06:33 · 1648 阅读 · 0 评论 -
NIO流整理
NIO在jdk1.4引入,是面向块(缓冲区)编程,而IO是面向流编程面向块(缓冲区)编程:数据的读写必须经过缓冲区我们可以使用Buffer所对应的子类将数据从通道(Channel)流向缓冲区从缓冲区写到通道叫做读取缓冲区NIO主要有三大核心部分:Channel(通道)Buffer(缓冲区)Selector(选择器)还有一个charset(编码)了解下Buffer(缓冲区)Bu...原创 2019-05-06 19:54:48 · 508 阅读 · 0 评论 -
IO流整理
IO流体系结构图IO流的引入我们知道将数据保存到变量中,集合等内存区域,但是这样存在一个弊端,就是程序一旦结束,数据就会立刻消失,无法做到数据的持久化存储。如何做到数据的持久化呢?数据从内存写入文件系统做到持久化如何将数据写入呢?Java提供了IO流(输入输出流)流:观察生活中的水流、物流等,描述一下数据流的概念。IO流概述在程序中所有的数据都是以流的方式进行传输或保存的,程序...原创 2019-05-05 22:21:16 · 346 阅读 · 0 评论 -
数据类型
数据类型: Java是一门强语言类型,Java对每一种数据都提供了对应的类型Java数据类型分为基本数据类型和引用类型基本数据类型常量: 在程序的执行过程中,其值不会发生改变的量 常量的分类: 字面值常量 整型常量 二进制 由0,1组成,由0b开头 0101010101 ...原创 2019-05-01 12:00:40 · 763 阅读 · 0 评论 -
计算机的基础知识
计算机的发展历史计算机的诞生: 1946年2月14日,在美国宾夕法尼亚大学,世界上第一台电子数字计算机ENIAC。第一代 电子管计算机(1946-1957)特点是操作指令是为特定任务而编制的,体积大,每种机器有各自不同的机器语言,功能受到限制,速度也慢,维护困难且价格昂贵。在软件上,通常使用机器语言或者汇编语言来编写应用程序第二代晶体管计算机(1958-1964)在整体性能上,比第一代计算机...原创 2019-05-01 10:14:32 · 3129 阅读 · 0 评论 -
JVM、JRE、JDK三者的区别
JVM、JRE和JDK三者的区别和联系JVM:Java Virtual Machine Java虚拟机1、JVM是一种规范,Oracle实现了这种规范2、JVM是跨平台的基础3、一次编译,到处运行JRE:Java Runtime Environment Java运行时环境1、JRE中提供了Java运行时需要用到的核心jar(核心开发类,接口等)JDK:Java Development...原创 2019-05-01 09:51:53 · 399 阅读 · 0 评论 -
IO流之File类
File类概述:文件(File)和目录(文件夹Folder)路径名的抽象表示形式文件指的是一个路径的抽象表现形式static String pathSeparator与系统有关的路径分隔符,为了方便,它被表示为一个字符串。System.out.println(File.pathSeparator);//路径分隔符;static char pathSeparatorChar与系统有关...原创 2019-04-30 15:58:43 · 232 阅读 · 0 评论 -
枚举
枚举的概述:枚举是在一定范围内取值,并且这个值必须是枚举类型中的任意一个,并且只能有一个特点:1.必须在规定范围内取值2.这个值只能取一个3.这个值可以是规定范围内的任意一个枚举的本质就是一个Java类枚举的引入public class EnumDemo01 {// private int state;// private GAME2 state;// private GAM...原创 2019-04-29 18:51:04 · 22806 阅读 · 1 评论 -
Set接口
Set接口概述一个不包含重复元素的 collection。更确切地讲,set 不包含满足 e1.equals(e2) 的元素对e1 和 e2,并且最多包含一个 null 元素特点Set接口是无序的Set 是继承于Collection的接口。它是一个不允许有重复元素的集合。Set可以存储null值,但是null不能重复Set的实现类都是基于Map来实现的(HashSet是通过H...原创 2019-04-29 18:42:54 · 419 阅读 · 0 评论 -
List接口
List接口概述有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。Collection将集合划分为两大类:**List集合Set集合List接口的特点有序【存储有序】可重复可以存储 null值部分子集合线程安全,部分不安全 例如 ...原创 2019-04-28 19:14:08 · 5090 阅读 · 2 评论 -
泛型
泛型泛型的引入来看一下这个例子:Collection c = new ArrayList();c.add("张三");c.add("李四");c.add("王五");c.add(20);c.add(2.5);// 遍历集合for (Iterator it = c.iterator(); it.hasNext(); ) { Object oj = it.next();...原创 2019-04-27 19:30:56 · 385 阅读 · 0 评论 -
集合框架
集合的特点:1.集合能够对数据进行增加删除修改查询的操作2.集合能够存储引用类型,如果是基本类型可以是包装类类型3.集合的长度是可变的4.部分集合是有序的,部分集合是无序的 (这里的有序指的是存储有序,并不是排序)5.部分集合是唯一的,部分集合是可重复 (11, 22 ,33, 33, 22)6.部分集合是可排序的,部分集合是不可排序的 33 44 55 11 -> 11 ...原创 2019-04-27 19:20:20 · 230 阅读 · 0 评论 -
异常类
异常概述:异常是指在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序,简而言之就是程序出现了不正常的情况。异常的本质就是java当中对可能出现的问题进行描述的一种对象体现。常见的异常有:1.ArithmeticException除数不能为0异常2.NullPointException空指针异常3.ArrayIndexOutOfBoundsException数组越界异常4.C...原创 2019-04-25 17:28:28 · 333 阅读 · 0 评论 -
包装类
包装类包装类的引入1、如何判断一个字符是大写,小写还是数字字符?c >= ‘a’ && c <= ‘z’该判断是与字符相关,应该放在字符类里面 Character char2、如何计算65的二进制,八进制,十六进制呢? – 那么27进制该计算与整数有关,应该放在整数类里面 Integer Byte Short Long有了包装类,我们就可以访问和数据类...原创 2019-04-24 20:22:45 · 1237 阅读 · 0 评论 -
又爱又恨的正则表示式
正则表达式谈起到正则表达式,很多开发人员都会感觉到又爱又恨,爱的是什么呢?恨的又是什么呢?爱的是正则表达式确实在开发当中非常有用,可以处理很多棘手的问题,恨的是正则表达式确实很难理解,又很难记忆,更别说去自己使用正则表达式来解决实际当中的开发问题了。下面我来给大家分享一下,让大家能够轻松掌握正则表达式。正则表达式的引入,用个例子来说明下吧:现在有个需求是这样的,比如验证一个QQ号,要求:...原创 2019-04-24 19:58:11 · 212 阅读 · 0 评论 -
Calendar类
Calendar类概述:Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法,瞬间可用毫秒值来表示。成员方法public static Calendar getInstance()public int get(int field)...原创 2019-04-24 19:30:58 · 134 阅读 · 0 评论 -
Date和DateFormate类
Date类Date类概述:类 Date 表示特定的瞬间,精确到毫秒。构造方法public Date() 根据当前的默认毫秒值创建日期对象public Date(long date) 根据给定的毫秒值创建日期对象成员方法public long getTime() 获取时间,以毫秒为单位public void setTime(long time)) 设置时间如果需要获取年月日...原创 2019-04-24 19:27:47 · 917 阅读 · 0 评论 -
Object类
类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。所有的类都直接或者间接的继承自Object类。该类的设计也符合面向对象中“万事万物皆对象”的思想。构造方法 :public Object()Object类的特点:1.Object类是所有类的根类,可以利用多态创建对象2.当一个方法的形参是Object类的时候,我们可以传入任...原创 2019-04-23 19:17:30 · 420 阅读 · 0 评论 -
StringBuffer类和StringBuilder类
缓冲区的概念:本质就是数组缓冲区的引入:可以提高效率,减少每次创建对象消耗的时候,减少内存占用池的设计初始容量最大容量增量最大空闲数最小空闲数等待时间字符串缓冲区字符串池字符流缓冲池 数据库连接池 线程池…StringBufferStringBuffer() :构造一个其中不带字符的字符串缓冲区,初始容量为 16 个字符。StringBuffer(CharSeq...原创 2019-04-23 19:02:51 · 248 阅读 · 0 评论 -
String类
String类概念: 多个字符组成的字符序列,也可以理解为字符数组。CharSequenceString, StringBuffer, StringBuilderpublic void show(CharSequence seqence);char charAt(int index) ---------------返回指定索引的 char 值。int length() -------...原创 2019-04-23 18:51:20 · 247 阅读 · 0 评论 -
内部类
内部类什么情况下外部不能够创建类的对象:1.抽象类2.接口3.构造方法全部私有4.内部类内部类的引入:提高了类的安全性内部类的概念:将类定义类的内部,那么该类就成为内部类注意: 内部类是一个相对的概念:如果A类中有一个B类,那么A类相对于B类来说就是外部类,那么B类相对于A类来说就是内部类内部类的分类1.局部内部类2.成员内部类3.静态内部类4.匿名内部类内部类的...原创 2019-04-22 21:07:12 · 109 阅读 · 0 评论 -
多态的应用
多态的应用方法:返回值类型 参数列表 方法名多态的两种实现方式使用父类作为方法形参实现多态使用父类作为方法返回值实现多态当这个作为参数的父类是普通类或者抽象类时,构成继承多态当这个作为参数的父类是一个接口时,构成接口多态多态作为形参形式参数基本类型(前面讲过,不解释) 满足类型转换的规则引用类型普通类1.当一个形参希望我们传入的是一个普通类时,我们实际上传入的是该类的对象...原创 2019-04-22 20:55:53 · 791 阅读 · 0 评论 -
JVM概述
转自:https://blog.csdn.net/u012152619/article/details/46923185JVM是什么JVM全称是Java Virtual Machine(java虚拟机)。它之所以被称之为是“虚拟”的,就是因为它仅仅是由一个规范来定义的抽象计算机。我们平时经常使用的Sun HotSpot虚拟机只是其中一个具体的实现(另外还有BEA JRockit、IBM J9等...转载 2019-04-20 19:16:27 · 176 阅读 · 0 评论 -
接口interface
接口interface接口的引入:生活中的接口是指某些企业和组织等制定的一种约定或标准(USB)USB风扇按照电脑产商的USB接口设计生产就可以使得电脑具备风扇散热的功能。USB鼠标按照电脑产商的USB接口设计生产就可以使得电脑具备鼠标移动的功能。U盘按照电脑产商的USB接口设计生产就可以使得电脑具备U盘存储的功能。接口1.接口是一种标准,是一种规范,是一种约定2.接口可以扩展功能...原创 2019-04-20 19:08:40 · 211 阅读 · 0 评论 -
面向对象之抽象
抽象类Abstract抽象类形状类:三角形 圆形 矩形父类的方法必须要存在,因为我们多态的必要条件是必须存在方法重写方法的实现毫无意义提供一个方法的声明即可,不需要实现,就是抽象方法抽象类的特点:1.抽象方法和抽象类使用 abstract 修饰2.有一个抽象方法的类必须是抽象类3.抽象类中一定有抽象方法吗? --> 不一定4.没有抽象方法的抽象类有意义吗? --> ...原创 2019-04-20 18:52:02 · 5510 阅读 · 0 评论 -
面向对象之多态
面向对象之多态先给大家讲个笑话多态的引入:生活中的多态在生活中我们听到“打”一声可能只是 击,敲,攻击的意思,但是其实在不同的环境下,打的意思非常多。例如:打车,打电话,打雷,打证明,打包裹多态的概述生活中: 同一个动作在不同环境下表现出来的不同状态Java中: 同一个方法在不同的对象中体现出来不同的状态内存中: 父类引用指向子类对象多态的实现的必要条件:(重点要记下)1....原创 2019-04-20 18:41:17 · 3956 阅读 · 0 评论 -
final关键字
final关键字概述表示最终的,可以修饰类,成员变量,成员方法。常量字面值常量10 0.5 false true ‘a’ “abc” null…自定义常量final修饰变量成为常量局部变量: 可以暂时不赋初始值,但是只能够赋值一次成员变量: 必须给出初始值注意点:final修饰的方法不能够被子类重写final修饰的类不能够被子类继承例如: Stringfinal细节:...原创 2019-04-20 18:24:40 · 104 阅读 · 0 评论 -
访问权限修饰符
访问权限修饰符修饰符的种类:publicprotecteddefault[只是一种默认状态]private概述: 本质就是用来控制类中成员的访问权限,封装的核心访问权限修饰符本类同包下(普通类,子类)不同包的子类不同包的普通类publicYYYYprotectedYYYNdefaultYYNNprivateYN...原创 2019-04-19 20:34:04 · 359 阅读 · 0 评论 -
面向对象之方法重写
方法重写方法重写的引入当父类的方法不能够满足子类的需求的时候,需要方法重写方法重写的特点:1.发生在具有子父类的两个类中2.方法名相同3.参数列表完全相同4.返回值类型可以相同或者是其子类5.访问权限修饰符不能够严于父类访问权限修饰符的宽严关系public > protected > default > private6.抛出的异常不能够被扩大注意事项:...原创 2019-04-19 20:24:05 · 829 阅读 · 0 评论 -
面向对象之包package
包package包(package)的引入1.分门别类地管理Java文件2.处理同一个文件夹中类名重名的问题包的概述:本质就是文件夹包的声明:package 包名1.包名2…;包的导入:import java.util.Scanner;包的特点:1.同包下的类相互调用不需要导入2.在同一个类中使用不同包中的同名类,需要显示导入,例如Date3.如果一个类没有包,那么默认在...原创 2019-04-19 20:20:32 · 232 阅读 · 0 评论 -
面向对象之super关键字
super关键字首先来了解下this和super的区别this可以理解为当前对象,谁调用this就代指那个调用者对象,每次创建一个对象,默认都会创建一个this变量指向同一个堆区空间super本质是父类存储空间的标识,但是你可以理解为父类对象,那么同样可以使用super这个关键字来访问父类的成员访问成员成员变量this.成员变量super.成员变量成员方法this.成员...原创 2019-04-19 20:16:03 · 193 阅读 · 0 评论 -
面向对象之继承
面向对象之继承继承的引入:之前我们了解到类是对对象的抽象,具有共同属性和行为的许多对象抽象出一个类。例如:有三个学生小明,小红,小李都有姓名,年龄,身高,体重,都会吃,睡,学习等等,我们可以将这些属性和行为抽象出来成为一个类,也就是人类。假设多个类存在相同属性和行为时,我们同样可以将这些内容抽取到单独的一个类中,那么这多个类没有必要再定义这些属性和行为,只需要继承这个单独的类就好了,这就是...原创 2019-04-19 20:00:40 · 165 阅读 · 0 评论 -
面向对象之Static关键字以及代码块
Static关键字static关键字的应用场景针对某一个变量属于类而不属于某一个具体的对象的时候,我们可以考虑使用static关键字static的概述多个对象共享同一份数据static的特点:1.static修饰变量又称为共享变量,类变量,静态变量2.静态变量属于某一个类的,而不属于某一个具体的对象3.访问静态成员的方式:a.通过对象访问 不建议b.通过类名访问c.通过读写方...原创 2019-04-19 19:51:07 · 189 阅读 · 0 评论