
Java
文章平均质量分 61
zjpp2580369
这个作者很懒,什么都没留下…
展开
-
Java知识点一
一、Java面向对象程序设计-类的基本形式1、“类”是把事物的数据与相关的功能封装在一起,形成的一种特殊结构,用以表达对真实世界的一种抽象概念。2、Java 把数据成员称为 field(属性),把方法成员称为 method(方法)。3、由类所创建的对象称为 instance,译为“实例”。4、创建属于某类的对象,可通过下面两个步骤来达成:(1)、声明指向“由类所创建的对象”的变量。(2...原创 2018-09-18 21:08:49 · 367 阅读 · 1 评论 -
Java中布尔类型操作&=,|=与^=的使用
public class MainMethod { public static void main(String[] args) { boolean flag = true; flag &= true; System.out.println("true\t&=\ttrue\t==&a原创 2018-10-28 11:02:49 · 2801 阅读 · 0 评论 -
java中length,length(),size()区别
java中的length属性是针对数组说的。比如你声明了一个数组(int[] a),想知道这个数组的长度则可以用到length这个属性。java中的length()方法是针对字符串String说的,如果想看字符串的长度则可以用到length()这个方法java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用次方法来查看....原创 2018-10-30 16:47:15 · 245 阅读 · 0 评论 -
String,StringBuffer,StringBuilder
1.String只能赋值一次,不可再更改。每次对String类型进行改变的时候,都会生成一个新的String对象,需要将指针指向这个新的String对象,所以经常改变内容的字符串最好不要用 String。2.StringBuffer是线程安全的(Synchronized)。如果要频繁对字符串内容进行修改,处于效率考虑最好使用SreingBuffer,如果想转成String类型,可以调用St...原创 2018-11-01 16:51:43 · 223 阅读 · 0 评论 -
String类
java.lang.String一、String类String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象。java把String类声明的**final类,不能有子类。String类对象创建后不能修改**,由0或多个字符组成,包含在一对双引号之间。二、String类对象的创建String stringName=new String(字符串变量...原创 2018-11-01 15:31:56 · 218 阅读 · 0 评论 -
Java IO操作—字节流(OutputStream、InputStream)和字符流(Writer、Reader)
流的概念在程序中所有的数据都是以流的方式进行传输或保存的,程序中需要数据的时候就用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。程序中的输入输出都是以流的形式保存的,流中保存的实际上全部是字节文件。字节流和字符流在java.io包中操作文件内容的主要有两大类:字节流和字符流,两类都分为输入和输出操作。在字节流中输出数据主要是使用OutputStream完成,输...原创 2018-11-10 10:34:17 · 949 阅读 · 0 评论 -
父类引用指向子类对象
父类引用指向子类对象就是多态。多态存在有三个必要条件:要有继承;要有重写;父类引用指向子类对象。比如:例如父类Animal,子类Cat,Dog。其中Animal可以是类也可以是接口,Cat和Dog是继承或实现Animal的子类。Animal animal = new Cat();即声明的是父类,实际指向的是子类的一个对象。我定义了一个子类Cat,它继承了Animal类,那么后者...原创 2018-11-10 13:02:23 · 721 阅读 · 0 评论 -
重写与重置
重写(Override)重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。例如: 父类的一个方法申明了一个检查异常 IOException,但是在重写这个方法的时候不能抛出 Exc...原创 2018-11-10 14:02:51 · 364 阅读 · 0 评论 -
volatile
一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,就具备了两层语义:保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的禁止进行指令重排序//线程1boolean stop = false;while(!stop){ doSomething();} //线程2stop = true;...原创 2018-11-22 14:08:03 · 155 阅读 · 0 评论 -
Java_Thread_interrupt
一个线程不应该由其他线程来强制中断或停止,而是应该由线程自己自行停止。所以,Thread.stop, Thread.suspend, Thread.resume 都已经被废弃了。而 Thread.interrupt 的作用其实也不是中断线程,而是「通知线程应该中断了」,具体到底中断还是继续运行,应该由被通知的线程自己处理。具体来说,当对一个线程,调用 interrupt() 时,① 如果线程处...原创 2019-01-04 14:16:52 · 293 阅读 · 0 评论 -
多线程同步
模拟卖票系统public class Ticket implements Runnable{ //当前拥有的票数 private int num = 100; public void run() { while(true) { if(num>0) { try{Thread.sleep(10);}catch (InterruptedExcept...原创 2019-01-17 10:10:40 · 243 阅读 · 0 评论 -
线程死锁案例
占坑原创 2019-01-17 10:24:27 · 302 阅读 · 0 评论 -
线程池Executor
1.为何需要线程池在java中,使用线程来执行异步任务时,线程的创建和销毁需要一定的开销,如果我们为每一个任务创建一个新的线程来执行的话,那么这些线程的创建与销毁将消耗大量的计算资源。同时为每一个任务创建一个新线程来执行,这样的方式可能会使处于高负荷状态的应用最终崩溃。所以线程池的出现为解决这个问题带来曙光。我们将在线程池中创建若干条线程,当有任务需要执行时就从该线程池中获取一条线程来执行任务...原创 2019-01-17 15:37:56 · 536 阅读 · 0 评论 -
JDK,JRE,JVM
Java Development Kit(JDK)The JDK is a superset of the JRE,and contains everything that is in the JRE,plus tools such as the compilers and debuggers necessary for developing applets and applications....原创 2019-01-08 10:38:41 · 152 阅读 · 0 评论 -
eclipse添加自动提示
https://www.jianshu.com/p/827b4563702c原创 2019-01-08 14:40:50 · 349 阅读 · 0 评论 -
Callable,Future,FutureTask
Java项目编程中,为了充分利用计算机CPU资源,一般开启多个线程来执行异步任务。但不管是继承Thread类还是实现Runnable接口,都无法获取任务执行的结果。JDK 5中引入了Callable和Future,通过它们执行异步任务可以获取执行结果。...原创 2019-01-17 09:35:29 · 179 阅读 · 0 评论 -
ReentrantLock与synchronized的区别
占坑原创 2019-03-22 14:22:02 · 112 阅读 · 0 评论 -
new 接口
接口:public interface ISay{void sayHello();}上面是一个简单的接口,下面是如何使用:public class Program{public static void main(String[] args){ISay say=new ISay(){public void sayHello(){System.out.println(“Hell...原创 2018-10-10 15:20:26 · 525 阅读 · 0 评论 -
Java知识点二
一、认识Java1、Java 程序比较特殊,它必须先经过编译,然后再利用解释的方式来运行。2、Byte-codes 最大的好处是——可越平台运行,可让“一次编写,处处运行”成为可能。3、使用 classpath 可以指定 class 的运行路径。二、走进Java1、Java 语言的注释方式有三种:(1)“//”记号开始,至该行结束;(2)“/”与“/”这两个符号之间的文字;(3)文...原创 2018-09-18 21:17:14 · 195 阅读 · 0 评论 -
Java知识点三
一、Java异常处理基础1、程序中没有处理异常代码时,Java 的默认异常处理机制会做下面的操作:(1)、抛出异常。(2)、停止程序运行。2、异常处理是由 try、catch 与 finally 三个关键字所组成的程序块。3、try 程序块中若有异常发生时,程序的运行便会中断,抛出“由系统类所产生的对象”,并依下列的步骤来运行:(1)、抛出的对象如果属于 catch()括号内所要捕捉的...原创 2018-09-18 21:20:23 · 254 阅读 · 0 评论 -
Public,Private,Protected
public 公共,加上这个修饰的属性和方法,可以在程序的任何其它地方访问private 私有的,和public相反,加上这个修饰的属性和方法,只允许在自己本身这个类里访问,程序的任何其它地方都不能访问protected 保护,位于public和private中间,加上这个修饰的属性和方法,只能在子类(extends)和同包下的程序访问,别的的地方不能访问。还有一个默认缺省的(就...转载 2018-08-09 09:30:48 · 196 阅读 · 0 评论 -
匿名内部类
使用匿名内部类有一个前提条件:必须继承一个父类或者实现一个接口注意事项: 1. 使用匿名内部类时,我们必须是继承一个类或者实现一个接口,但是两者不可兼得,同时也只能继承一个类或者实现一个接口。 2. 匿名内部类中不能定义构造函数的。 3. 匿名内部类中不能存在静态成员变量和静态方法。 4. 匿名内部类为局部内部类,所以局部内部类的所有限制同样对匿名内部类生效。 5. 匿名内...转载 2018-08-13 15:11:39 · 262 阅读 · 0 评论 -
线程池
在ThreadPool类中定义了一个LinkedList类型的workQueue成员变量,它表示工作队列,用了存放线程池要执行的任务,每个任务都是Runnable实例。ThreadPool类的客户程序(利用ThreadPool来执行任务的程序)只要调用ThreadPool类的execute (Runnable task)方法,就能向线程池提交任务。在ThreadPool类的execute()方法中...原创 2018-09-12 13:39:24 · 154 阅读 · 0 评论 -
线程
Java多线程实现方式继承Thread类,覆盖run()方法:使用Thread子类创建线程的优点是可以在子类中添加新的成员变量或方法,使线程具有某种属性或功能。但Java不支持多继承,Thread类的子类不能再扩展其他的类。实现Runnable接口:用Thread类直接创建线程对象,使用构造函数Thread(Runnable target)(参数target是一个Runnable接口),创...原创 2018-08-13 16:48:46 · 246 阅读 · 0 评论 -
static
被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。static可以用来修饰类的成员方法、类的成员变量,另外可以编写static代码来优化程序性能。1、static方法static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以访问,因此对于静态方法来说,是没有this的,因为它不依赖于任何对象,既然都没有对象,就谈不上this...原创 2018-10-12 09:37:15 · 193 阅读 · 0 评论 -
回调(callback)
1、什么是回调软件模块之间总是存在一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用。回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口。异步调用是一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方...原创 2018-10-12 15:08:39 · 39916 阅读 · 30 评论 -
接口的变量(引用变量)
例:List<?> list=new ArrayList<?>Map&amp原创 2018-10-12 17:05:49 · 5639 阅读 · 7 评论 -
接口
一个类最多只能继承一个父类,但是可以实现多个接口,java是单继承。接口要注意的事项:接口是一个特殊的类接口的成员变量默认的修饰符为:public static final,也就是说接口中的成员变量都是常量接口中的方法都是抽象的方法,默认的修饰符为:public abstract接口没有构造方法接口不能创建对象接口是给类去实现使用的,非抽象类实现一个接口的时候,必须要把接口中所有方...原创 2018-10-13 12:32:03 · 137 阅读 · 0 评论 -
多态
面向对象的三大特性:封装继承多态多态:一个对象具备多种形态。父类的引用类型变量指向子类的对象或者是接口的引用类型变量指向了接口实现类的对象。多态的前提:必须存在继承或者实现关系多态要注意的细节:多态情况下,子父类存在同名的成员变量时,访问的父类的成员变量多态情况下,子父类存在同名的非静态的成员函数时,访问的是子类的成员函数多态情况下,子父类存在同名的静态的成员函数时,...原创 2018-10-13 12:41:59 · 138 阅读 · 0 评论 -
命名规则
常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。如:MAX_STOCK_COUNT方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格,必须遵从驼峰形式。如:localValue/getHttpMessage()/inputUserId括号是数组类型的一部分。如:String[] args;...原创 2018-10-13 19:09:42 · 635 阅读 · 0 评论 -
抽象类和接口
抽象类抽象类只能作为父类,提供给子类继承并且不能被实例化。只要包含抽象方法的类都是抽象类,但并不意味着抽象类中只能有抽象方法,它和普通类一样,同样可以拥有成员变量和普通的成员方法。如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为abstract类。接口接口中可以含有变量和方法。但是接口中的变量会被隐式指定为public stati...原创 2018-09-28 20:42:01 · 271 阅读 · 0 评论 -
内部类
对于顶级类(外部类)来说,只有两种修饰符:public和默认(default)。因为外部类的上一单元是包,所以外部类只有两个作用域:同包,任意位置。因此,只需要两种控制权限:包控制权限和公开访问权限,也就对应两种控制修饰符:默认(default)和public。如果类使用private修饰符,说明是个内部类。内部类的上一级是外部类,那么对应的有四种访问控制修饰符:本类(private),同包(d...原创 2018-10-08 20:58:05 · 238 阅读 · 0 评论 -
Java基本类型和不可变类
Java基本类型共有八种,基本类型可以分为三类:字符类型char布尔类型boolean数值类型byte、short、int、long、float、double数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double...原创 2018-10-09 18:53:00 · 5064 阅读 · 0 评论 -
this,super
this: this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。 this的用法在java中大体可以分为三种: 1. 普通的直接引用 this相当于是指向当前对象本身 2. 形参与成员名字重名,用this来区分 3. 引用构造函数super super可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类。 s...转载 2018-08-13 15:39:54 · 182 阅读 · 0 评论 -
Java正则表达式 regex
占坑原创 2019-03-22 15:10:55 · 170 阅读 · 0 评论