★ JavaSE
枫眠cc
热爱是所有的理由和答案。
展开
-
Java基础:概述
Java概述Java之父-詹姆斯·高斯林Java前身Oak(橡树)特点开源,跨平台Java SE,EE,ME区别Java SE 标准版,用于桌面应用的程序开发Java SE可以开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。是EE,和ME的基础。一般就是指JDK。就是Java的基础语法(变量、方法、类之间的调用、关系,继承、接口、线程之类...原创 2019-01-29 16:20:39 · 187 阅读 · 0 评论 -
Java基础:环境变量
环境变量下载JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html(针对不同操作系统,下载不同的JDK版本。)下载最新版本点击下图图标:下载历史版本将此界面拉到最下面点击下图图标Development代表开发环境,Runtime Environment 代表运行环境,然后选择小...原创 2019-01-30 10:39:07 · 915 阅读 · 0 评论 -
Java语法:控制台,运算符
控制台图形化界面:c/s(客户机/服务器) b/s(浏览器/服务器)命令行方式输出输出字符串和转义符加英文的" "输出字符需要加' 'System.out.print("我是\t输出语句\n");输入package com.feicuiedu.test;//在使用package的时候,如果java文件中使用了package,那么该java文件必须放在命名与pac...原创 2019-01-30 12:11:58 · 530 阅读 · 0 评论 -
Java基础:命名和注释规范
命名规范数字不可以开头(可以在中间或结尾),不可以有中文,不可以有特殊字符(只允许$和_),不能是关键字;关键字goto和const是保留字,main不是关键字。特点:全部小写。项目全部小写。包全部小写。包名之前最好加上唯一的前缀,通常使用组织倒置的网络域名。例如:域名javagroup.net -> package net.javagroup.myp...原创 2019-01-30 10:56:15 · 164 阅读 · 0 评论 -
Java语法:数据类型
数据类型对于每一个数据都定义明确的具体数据类型,在内存中分配不同大小的内存空间。数据类型基本数据类型引用数据类型数值型整数类型byte,short,int,long浮点类型flort,double字符型char布尔型boolean类接口interface数组枚举基本数据类型四类八种字节数数据表示范围整型byte1-128~127short2-327...原创 2019-01-30 15:25:12 · 109 阅读 · 0 评论 -
Java语法:流程控制
流程控制语句顺序结构:从上往下,依次执行。选择结构:按照不同的选择,执行不同的代码。循环结构:做一些重复的代码。选择结构三元运算符条件判断表达式 ?结果表达式1:结果表达式2;if语句适用于boolean类型的判断;适用于一个范围的判断;适用于几个常量值的判断;if(){}//适合做单个判断if(){} else{}//适合做两个判断if(){} ...原创 2019-01-30 17:08:54 · 177 阅读 · 0 评论 -
Java语法:数组
数组含义数组是用来存储一组相同类型数据的数据类型。数组既可以存储基本数据类型,也可以存储引用数据类型。索引数组索引可以是除了long的所有整型。从0开始,最大编号是长度-1。一维数组创建定义:数据类型[] 数组名;数据类型 数组名[];静态初始化:数据类型[] 数组名 = new 数据类型[]{1,2,3};数据类型[] 数组名 = {1,2,3};...原创 2019-01-30 17:17:16 · 199 阅读 · 0 评论 -
Java面向对象:内存分析,数据结构
new关键字表示创建一个对象;表示实例化对象;表示申请内存空间。Java的内存分配栈:存储局部变量(基本数据类型的数据+引用数据类型的对象的引用)堆:存储所有new出来的(引用数据类型的数据)静态域:存储所有通过static修饰的(静态域中对象的数据是共享的,改变一个对象数据全部改变)常量池:存储所有通过final修饰的和String无new赋值类型//String...原创 2019-01-31 17:34:30 · 351 阅读 · 0 评论 -
Java面向对象:代码块,方法
代码块在Java中,使用{}括起来的代码称为代码块。根据其位置和声明的不同,可以分为构造代码块,静态代码块,局部代码块,同步代码块。局部代码块在方法中部出现:限定变量生命周期,及早释放,提高内存利用率。构造代码块在类中方法外出现:多个构造方法中相同的代码存放到在一起,每次调用构造都执行,并且在构造方法前执行。作用:可以把多个构造方法中的共同代码放到一起,对对象进行初始化...原创 2019-01-31 17:45:18 · 200 阅读 · 0 评论 -
Java面向对象:类,对象
面向对象OOP,Object Oriented Programming,面向对象程序设计面向过程:以功能行为为主体的思想体现。面向对象:以执行功能的对象为主体的思想体现。面向对象特征封装:隐藏内部实现,稳定外部接口。继承:子类继承父类成员,实现代码复用。多态:不同子类对同一消息作出不同的反映。类具有相同属性和方法的一组对象的集合。定义类名:class 类名{...原创 2019-02-01 14:46:00 · 108 阅读 · 0 评论 -
Java面向对象:封装
封装隐藏对象的属性和实现细节,仅对外提供公共访问方式。private关键字(private是封装的一种体现,并不代表封装。)是一个权限修饰符,可以修饰成员变量和成员方法。被private修饰的成员只在本类中才能访问。步骤属性私有化; 创建方法(设置属性的方法//set属性名,一般带参和获取属性的方法//get属性名,一般带返回值); 使用控制语句。this关键字代表所...原创 2019-02-01 14:51:04 · 150 阅读 · 0 评论 -
Java面向对象:继承
继承多个类中存在相同属性和行为时,将这些内容抽取到单独的一类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。有了继承以后,我们在定义一个类的时候,可以在一个已经存在的类的基础上,还可以定义自己的新成员。extends关键字class 子类名 extends 父类名 {}父类和子类被继承的类称为父类(基类或超类),去继承的类可以称为子类(派生类)。好处提...原创 2019-02-01 14:55:22 · 108 阅读 · 0 评论 -
Java面向对象:static,abstract,final
static关键字静态修饰符:可以修饰类,成员变量,成员方法和静态代码块,不可以修饰局部变量.。可以不创建对象,类名.属性名调用。特点随着类的加载而加载,优先于对象存在,被类的所有对象共享。可以通过对象调用,也可以通过类名调用,调用的都是同一个内存地址的变量。注意在静态方法中是没有this,super关键字。(静态是随着类的加载而加载,this是随着对象的创建而存在,静...原创 2019-02-01 14:58:46 · 125 阅读 · 0 评论 -
Java面向对象:多态
里氏替换原则LSP在一个软件系统中,子类对象可以替换所有使用的父类对象,且程序行为没有变化。instanceof关键字A instanceof BA必需是具体实例,B是一种类(或接口),返回boolean值。多态同一个引用类型,使用不同的实例而执行不同操作。使用多态实现思路编写父类; 编写子类,子类重写父类方法; 运行时,使用父类引用指向子类对象。多态中的成员...原创 2019-02-01 15:02:15 · 133 阅读 · 0 评论 -
Java面向对象:接口
接口为了体现事物功能的扩展性,Java中就提供了接口来定义这些额外功能,并不给出具体实现。只有抽象方法的抽象类可以用接口来表示。成员特点成员变量:接口中的变量都是静态常量。(变量默认public static final)构造方法:接口中没有构造方法。(因为接口主要是扩展功能的,而没有具体存在。)成员方法:接口中的方法都是抽象方法。(方法默认public abstract)...原创 2019-02-01 15:04:44 · 227 阅读 · 0 评论 -
Java面向对象:内部类
内部类内部类是指在一个类的内部定义的类,名称不需要和文件名相同。(顶级的外部类不但要求类名和文件名相同,而且只能使用public和default。)内部类是一个编译时的概念,一旦编译成功会有和外部类完全不同的两个类。(编译成功会出现两个class文件,外部类.class和外部类&内部类.class)内部类和外部类没有继承关系。内部类分类非静态成员内部类非静态内部...原创 2019-02-01 15:10:25 · 149 阅读 · 0 评论 -
Java常用类:数学,随机,日期,包装类
API(应用程序编程接口),是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。ObjectObject类是类层次结构的根类,每个类都使用Object作为超类,所有对象都实现这个类的方法。方法int hashCode()//返回该对象的哈希码值String toString()//返回该对象的字符...原创 2019-02-02 17:21:50 · 231 阅读 · 0 评论 -
Java常用类:数组,字符串
Arrays此类包含用来操作数组(比如排序和搜索)的各种方法,此类还包含一个允许将数组作为列表来查看的静态工厂。静态方法void sort(除了boolean的基本数据类型数组对象)//排序方法,默认为升String toString(基本数据类型数组对象)//返回指定数组内容的字符串表示形式基本数据类型数组对象 copyOf(基本数据类型数组对象,新数组长度)//复制指定的数组...原创 2019-02-02 17:29:02 · 396 阅读 · 0 评论 -
Java常用类:正则表达式
正则表达式正则表达式可以方便的对数据进行匹配,可以执行更加复杂的字符串验证、拆分、替换功能。第一种:Pattern p = Pattern.compile("regex");Matcher m = p.matcher("account");boolean b = m.matches();第二种:boolean b = Pattern.matches("regex","a...原创 2019-02-12 20:49:23 · 343 阅读 · 0 评论 -
Java集合:泛型
泛型是一种把类型明确的工作推迟到创建对象或者调用方法的时候才去明确的特殊的类型。参数化类型,把类型当作参数一样的传递。格式<引用数据类型>好处把运行时期的问题提前到了编译期间,避免了强制类型转换。优化了程序设计,解决了黄色警告线。术语泛型的基本术语,以ArrayList<E>为例:<>念typeofArraylist<E...原创 2019-02-12 20:53:08 · 271 阅读 · 0 评论 -
Java集合
目录集合Collection接口List接口ArrayListLinkedList挽救的子类VectorSet接口散列存放HashSetLinkedHashSet有序存放TreeSetMap接口Map集合遍历HashMapTreeMapCollections数组和集合区别长度区别数组的长度固定 集合的长度可变内容不同数...原创 2019-02-12 21:06:39 · 185 阅读 · 0 评论 -
Java设计模式:设计原则
设计原则在实际的开发中,我们要想更深入的了解面向对象思想,就必须熟悉前人总结过的面向对象的思想的设计原则。单一职责原则其实就是开发人员经常说的“高内聚,低耦合”。也就是说,每个类应该只有一个职责,对外只能提供一种功能,而引起类变化的原因应该只有一个。在设计模式中,所有的设计模式都遵循这一原则。开闭原则核心思想是:一个对象对扩展开放,对修改关闭。其实开闭原则的意思就是:对...原创 2019-02-13 20:11:04 · 246 阅读 · 0 评论 -
Java设计模式:单例Singleton
单例(基于多线程的编程)Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。在项目的很多地方都会用到它,比如说数据库的链接。使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数,有利于Java垃圾回收(garbage collection)。实现方法确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类...原创 2019-02-13 20:24:26 · 250 阅读 · 0 评论 -
Java设计模式:简单工厂,模版,装饰
简单工厂(基于接口的编程)简单工厂模式:又称为静态工厂方法模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式包含如下角色Factory:工厂角色Product:抽象产品角色ConcreteProduct:具体产品角色总结将对象的创建和对象...原创 2019-02-13 20:30:33 · 181 阅读 · 0 评论 -
Java异常
异常异常就是Java程序在运行过程中出现的错误。由来问题也是现实生活中一个具体事务,也可以通过java的类的形式进行描述,并封装成对象。其实就是Java对不正常情况进行描述后的对象体现。体系程序的异常:Throwable(是Java语言中所有错误或异常的超类)严重问题:Erroe(不处理,很严重处理不了) 问题 :Exception 编译期问题:不是Runtim...原创 2019-02-13 20:41:50 · 110 阅读 · 0 评论 -
Java IO流:File类,递归
File类为了很方便的代表文件的概念,以及存储一些对于文件的基本操作,在java.io包中设计了一个专门的类——File类。文件和目录(文件夹)路径名的抽象表示形式。构造方法File(String pathname)//根据一个路径得到File对象File(String parent, String child)//根据一个目录和一个子文件/目录得到File对象File(Fi...原创 2019-02-13 20:53:04 · 145 阅读 · 0 评论 -
Java IO流:字节流
流流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。Java对数据的操作是通过流的方式。IO流所谓的IO就是指流的读(input输入)和写(output输出)操作的简称。IO流用来处理设备之间的数据传输。注意:Java用于操作流的对象都是IO包中。IO流分类根据数据流向不同分为:输入流和输出流根据处理数据类型的不同:字节流和字符流流向:...原创 2019-02-13 21:01:58 · 145 阅读 · 0 评论 -
Java IO流:编码表,字符流
编码表由字符及其对应的数值组成的一张表。计算机只能识别二进制数据,早期由来是电信号。为了方便应用计算机,让它可以识别各个国家的文字,就将各个国家的文字用数字来表示,并一一对应,形成一张表。常见编码表ASCII:美国标准信息交换码。(用一个字节的7位可以表示。)ISO8859-1:拉丁码表。欧洲码表。(用一个字节的8位表示。)GB2312:中国的中文编码表。GBK:中国的...原创 2019-02-13 21:08:29 · 330 阅读 · 0 评论 -
Java IO流:高级流
带行号的缓冲区:LineNumberReader操作基本数据类型的流:DataInputStream/DataOutputStream内存操作流用于处理临时存储信息的,程序结束,数据就从内存中消失。通过查看源码我们知道close()什么都没做,所以根本不需要close()。操作字节数组:ByteArrayInputStream/ByteArrayOutputStream操作...原创 2019-02-13 21:14:53 · 851 阅读 · 0 评论 -
Java多线程
进程是一个程序在其自身的地址空间中的一次执行活动,是程序独立运行的基本单位。进程:就是正在运行的程序。进程是系统进行资源分配和调用的独立单位。每一个进程都有它自己的内存空间和系统资源。多进程单进程的计算机只能做一件事情,而我们现在的计算机都可以做多件事情。举例:一边玩游戏(游戏进程),一边听音乐(音乐进程)。也就是说现在的计算机都是支持多进程的,可以在一个时间段内执...原创 2019-02-14 19:34:58 · 128 阅读 · 1 评论 -
Java多线程:线程安全
线程安全导致安全问题出现的原因是否是多线程环境是否有共享数据是否有多条语句操作共享数据同步(synchronized)在多线程中,可能有多个线程试图访问一个有限的资源,必须预防这种情况的发生。所以引入了同步机制:在线程使用一个资源时为其加锁,这样其他的线程便不能访问那个资源了,直到解锁后才可以访问。格式synchronized(//对象){ //需要同步的...原创 2019-02-14 19:47:17 · 119 阅读 · 0 评论 -
Java GUI
GUIGraphical User Interface(图形用户接口)用图形的方式,来显示计算机操作的界面,这样更方便更直观。CLICommand line User Interface(命令行用户接口)就是常见的Dos命令行操作。需要记忆一些常用的命令,操作不直观。java.awt:Abstract Window ToolKit(抽象窗口工具包),需要调用本地系统方法实现...原创 2019-02-14 19:56:01 · 124 阅读 · 0 评论 -
Java网络编程
网络编程计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络编程就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。网络模型计算机网络之间以何种规则进行通信,就是网络模型研究问题。网络模型一般是指:OSI(Open Syst...原创 2019-02-14 20:09:18 · 1038 阅读 · 0 评论 -
Java网络编程:Socket
Socket套接字网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标识符套接字。Socket原理机制通信的两端都有Socket。 网络通信其实就是Socket间的通信。 数据在两个Socket间通过IO传输。UDP协议UDP协议发送数据import java.io.IOException;import java.net.DatagramPacke...原创 2019-02-15 21:16:54 · 187 阅读 · 0 评论 -
Java反射
类的加载当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化。加载就是指将class文件读入内存,并为之创建一个Class对象。任何类被使用时系统都会建立一个Class对象。连接验证:是否有正确的内部结构,并和其他类协调一致。准备:负责为类的静态成员分配内存,并设置默认初始化值。解析:将类的二进制数据中的符号引...原创 2019-02-15 21:30:19 · 171 阅读 · 0 评论 -
Java反射:内省,BeanUtils
内省开发框架时,经常需要使用java对象的属性来封装程序的数据,每次都使用反射技术完成此类操作过于麻烦,所以sun公司开发了一套API,专门用于操作java对象的属性。JavaBean所有属性为private。 这个类必须有一个公共的缺省构造函数。即是提供无参数的构造器。 这个类的属性使用getter和setter来访问,其他方法遵从标准命名规范。 这个类应是可序列化的。实现se...原创 2019-02-15 21:37:05 · 272 阅读 · 0 评论 -
JDK5新特性
静态导入静态导入用于简化程序对类静态属性和方法的调用。语法:import static 包名.类名.静态属性|静态方法|*例如:import static java.lang.System.out;out.print("静态导入");自动装箱/拆箱自动装箱:指开发人员可以把一个基本数据类型直接赋给对应的包装类。自动拆箱:指开发人员可以把一个包装类对象直接赋给对应的基本...原创 2019-02-15 21:43:26 · 111 阅读 · 0 评论 -
JDK5新特性:枚举
枚举一些程序在运行时,他需要的数据不能是任意的,而必须是一定范围内的值,JDK5以前采用自定义类来解决,JDK5以后可以直接采用枚举解决。在JDK5之后,使用enum关键字定义一种新的类型,称为枚举类型。Enum类和enum关键字使用enum关键字定义的枚举类,实际上就相当于定义了一个类,此类继承了Enum类而已。无参class Grade{ private Gr...原创 2019-02-17 15:17:53 · 176 阅读 · 0 评论 -
JDK7新特性
JDK7新特性二进制字面量JDK7开始,终于可以用二进制来表示整数(byte,short,int和long)。使用二进制字面量的好处是,可以使代码更容易被理解。语法非常简单,只要在二进制数值前面加 0b或者0B。例如:int x = 0b110110数字字面量可以出现下划线为了增强对数值的阅读性,如我们经常把数据用逗号分隔一样。JDK7提供了_对数据分隔。例如:int ...原创 2019-02-17 15:20:38 · 96 阅读 · 0 评论 -
Properties文件
资源文件(.properties)资源文件就是一个文本文件,资源文件的后缀是.properties。资源文件的编写必须严格按Map(key=value)方式。资源文件对中文不支持,需要转码。Properties类java.util.Properties类。因为资源文件的内容格式(key=value),所以使用来操作资源文件的类Properties类也要符合(key=va...原创 2019-02-17 15:24:42 · 1163 阅读 · 0 评论