
java语法
@ ^ @
...
展开
-
继承类型
当一个类派生自基类,该基类可以被继承为 public、protected 或 private 几种类型。继承类型是通过上面讲解的访问修饰符 access-specifier 来指定的。我们几乎不使用 protected 或 private 继承,通常使用 public 继承。当使用不同类型的继承时,遵循以下几个规则:公有继承(public)当一个类派生自公有基类时,基类的公有成员也是派生类的...原创 2019-06-11 21:15:41 · 495 阅读 · 0 评论 -
Java-String.intern方法
java帮助文档String java.lang.String.intern()Returns a canonical representation for the string object. A pool of strings, initially empty, is maintained privately by the class String. When the intern met...转载 2019-07-10 13:57:42 · 119 阅读 · 0 评论 -
java关键字native
在查看java源码,翻看String的insert()方法时看到源码并未给出相关实现方法,如下: public native String intern();查阅才知道,native关键字是一个Java调用非Java代码的接口的关键字。方法的实现由非Java语言实现,比如C或C++。下面开始复制粘贴之旅native简介“A native method is a Java metho...原创 2019-07-10 15:08:37 · 87 阅读 · 0 评论 -
jvm
参见百度:https://baike.baidu.com/item/JVM/2902369?fr=aladdin原创 2019-07-10 16:20:03 · 176 阅读 · 0 评论 -
java中创建数组的三种方法
public static void main(String[] args) { //创建数组的第一种方法 int[] arr=new int[6]; int intValue=arr[5]; //System.out.println(intValue); //创建数组的第二种方法 int[] x={1,2,3,4}; //System.out.println(x[1]); //...原创 2019-07-10 20:43:45 · 73264 阅读 · 3 评论 -
Java Applet和Java Application区别
Java Applet和Java Application在结构方面的主要区别表现在:(1)运行方式不同。Java Applet程序不能单独运行,它必须依附于一个用HTML语言编写的网页并嵌入其中,通过与Java兼容的浏览器来控制执行。 Java Application是完整的程序,可以独立运行,只要有支持Java的虚拟机,它就可以独立运行而不需要其他文件的支持。(2)运行工具不同。运行Java...原创 2019-07-10 20:58:08 · 299 阅读 · 0 评论 -
java异常详解
https://yq.aliyun.com/articles/618578?spm=a2c4e.11155435.0.0.55054394tJ2yzj转载 2019-07-11 09:03:36 · 117 阅读 · 0 评论 -
Java 集合系列目录(Category)
https://www.cnblogs.com/skywang12345/p/3323085.html转载 2019-07-26 18:38:09 · 230 阅读 · 0 评论 -
Java中类的构造方法
https://blog.youkuaiyun.com/zw1996/article/details/52878270转载 2019-07-11 15:10:46 · 326 阅读 · 0 评论 -
子对象
定义当一个类的成员是某一个对象的类时,该对象就是子对象,驻留在另一个对象中的对象,在一个类的定义中,声明另一个类的对象来作为成员变量。作用减少代码重用基类子对象基类中的某个数据成员,该数据成员是一个类的对象class A{private: int a;public: A(){}};class BaseClass{private: A a1;public BaseClass(...原创 2019-06-11 21:04:15 · 475 阅读 · 0 评论 -
子类与父类之间类型转换问题
子类转换成父类:可以。父类转换成子类:不一定可以。如果父类对象的引用指向的实际是一个子类的对象,那么父类对象的引用可以强制转化成子类对象的引用。如:Parent p=new Son()Son s=(Son)p; --正确Parent p=new Parent()Son s=(Son)p; --错误因为继承的概念就是子孙类会越来越比祖先类详细,所以可以将子孙...转载 2019-07-30 18:36:01 · 2803 阅读 · 1 评论 -
Java中main方法的6种声明形式:
Java中main方法的6种声明形式:第一种,最常规形式public static void main(String[] args)第二种,方括号在形参后面public static void main(String args[])第三种,可变长参数形式,三个点前后有无空格都可以public static void main(String... args)第四到六种:将前三种中...转载 2019-07-24 14:23:27 · 2249 阅读 · 0 评论 -
Java——Iterator迭代器
迭代器(Iterator)迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。java中的Iterator功能比较简单,并且只能单向移动: (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注...原创 2019-08-22 15:19:28 · 155 阅读 · 0 评论 -
Servlet容器
1. 什么是Web服务器?想要知道什么是Servlet容器,我们首先要知道什么是Web服务器。Web服务器使用HTTP协议来传输数据。最简单的一种情况是,用户在浏览器(客户端,client)中输入一个URL(如,www.programcreek.com/static.html),然后就能获取网页进行阅览。因此,服务器完成的工作就是发送网页至客户端。传输过程遵循HTTP协议,它指明了请求(re...原创 2019-08-15 21:48:39 · 113 阅读 · 0 评论 -
assert
什么是断言编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真。可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言,而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言。java中assertassert是在J2SE1.4中引入的新...原创 2019-08-19 08:25:06 · 513 阅读 · 0 评论 -
volatile
https://baike.baidu.com/item/volatile/10606957?fr=aladdin原创 2019-08-08 08:51:55 · 174 阅读 · 0 评论 -
Java 集合总体框架
Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.*Java集合主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)、。Java集合工具包框架图(如下):大致说明:看上面的框架图,先抓住它的...转载 2019-07-26 18:36:04 · 90 阅读 · 0 评论 -
三元运算符
/** * 三元运算符 * 1.结构:(表达式条件)?表达式一:表达式二 * 2.说明:条件表达式的结果是一个boolean类型 * 根据表达式的真或假判断执行表达式一还是表达式二 * 为true时执行表达式一 * 为false时执行表达式二 * 表达式一二要求一致 * @author kans * */public class TernaryOperation ...原创 2019-07-26 13:57:03 · 184 阅读 · 0 评论 -
Constructor的getName()有一个小BUG
反射中用Constructor获取构造函数的名称时,使用getName()方法时,在不同的编译环境下返回不同结果,可能会返回包+类的名称,而不是simpleNameimport java.lang.reflect.Constructor;public class GetName { public static void main(String[] args) { Cons...原创 2019-07-22 13:17:55 · 162 阅读 · 0 评论 -
Java对象的序列化和反序列化
一、序列化和反序列化的概念把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服务器中的Sessio...原创 2019-07-25 21:54:13 · 460 阅读 · 0 评论 -
Java 重写(Override)与重载(Overload)
重写(Override)重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。例如: 父类的一个方法申明了一个检查异常 IOException,但是在重写这个方法的时候不能抛出 Exc...转载 2019-07-11 16:10:52 · 90 阅读 · 0 评论 -
Java 中 this 和 super 的用法总结
thisthis 是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。this 的用法在 Java 中大体可以分为3种:1.普通的直接引用这种就不用讲了,this 相当于是指向当前对象本身。2.形参与成员名字重名,用 this 来区分:实例class Person { private int age = 10; public Person(){ ...转载 2019-07-11 16:41:04 · 86 阅读 · 0 评论 -
Java IO流 位(bit)、字节(byte)、字符、编码之间的关系
位(bit)、字节(byte)、字符、编码之间的关系1、位: 数据存储的最小单位。每个二进制数字0或者1就是1个位;2、字节: 8个位构成一个字节;即:1 byte (字节)= 8 bit(位); 1 KB = 1024 B(字节); 1 MB = 1024 KB; (2^10 B) 1 GB = 1024 MB; (2^20 B) 1 TB = 1024 GB; ...转载 2019-07-18 21:57:08 · 675 阅读 · 0 评论 -
Java IO流 字节流与字符流的区别详解
流的概念:在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。字节流与字符流在java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。在字节流中输出数据主要是使用OutputStream完成,输...转载 2019-07-18 22:11:18 · 938 阅读 · 0 评论 -
Java获取二维数组行列长度
二维数组int array[][] = new int[3][3];行长度:array.length列长度:array[i].length原创 2019-07-19 22:48:54 · 5503 阅读 · 0 评论 -
ClassCastException
ClassCastException是JVM在检测到两个类型间转换不兼容时引发的运行时异常。此类错误通常会终止用户请求。在执行任何子系统的应用程序代码时都有可能发生ClassCastException异常。通过转换,可以指示Java编译器将给定类型的变量作为另一种变量来处理。对基础类型和用户定义类型都可以转换。Java语言规范定义了允许的转换,其中大多数可在编译时进行验证。不过,某些转换还需要运行...转载 2019-07-30 09:00:19 · 611 阅读 · 0 评论 -
float doule long
float f1 = 1.2;//报错,虚拟机默认为double float f2 = 1.2f;//正确 float f3 = 1.2F;//正确 Float f4 = 1.2;//报错,虚拟机默认为double Float f5 = 1.2F;//正确 Float f6 = 1.2f;//正确 ...原创 2019-07-30 08:51:45 · 94 阅读 · 0 评论 -
Java内部类详解
说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲:一.内部类基础二.深入理解内部类三.内部类的使用场景和好处四.常见的与内部类相关的笔试面试题若有不正之处,请多谅解并欢迎批评指正。请尊重作者劳动成果,转载请标明原文链接:h...转载 2019-07-25 08:55:07 · 84 阅读 · 0 评论 -
java try、catch、finally及finally执行顺序详解
1.为什么要用finally先看一个没有finally的异常处理try-catch语句:假设count为要使用到的资源,并且用完要求释放此资源。那么我们可以把释放资源的语句放到try-catch后执行,当前的程序不管是在执行完try语句块还是catch语句块,都会顺序执行到下面释放资源的语句。int count = 0; //初始化资源try{ count++; if(count...转载 2019-07-24 19:57:49 · 235 阅读 · 0 评论 -
CompareTo()和Compare()的用法
compareTocompareTo(Object o)方法是java.lang.Comparable接口中的方法,当需要对某个类的对象进行排序时,该类需要实现Comparable接口的,必须重写public int compareTo(T o)方法。它强行将实现它的每一个类的对象进行整体排序-----称为该类的自然排序,实现此接口的对象列表和数组可以用Collections.sort(),...转载 2019-07-29 08:33:30 · 4372 阅读 · 0 评论 -
Java 抽象类——abstract
Java 抽象类在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计...转载 2019-07-24 08:03:03 · 522 阅读 · 0 评论 -
同一个线程多次调用start()会出现的问题
测试代码package com.led.test;/** * @author Alan * @date 2018/6/18 15:09 * @description 测试同一个线程多次调用start()方法 */public class MuchStart implements Runnable{ //实现Runnable接口 public void run() { ...转载 2019-07-23 23:15:20 · 1484 阅读 · 0 评论 -
Java 浅析 Thread.join()
1. join() 的示例和作用1.1 示例// 父线程 public class Parent extends Thread { public void run() { Child child = new Child(); child.start(); child.join(); // ... } ...转载 2019-07-23 21:47:55 · 92 阅读 · 0 评论 -
锁和监视器之间的区别
在面试中你可能遇到过这样的问题:锁(lock)和监视器(monitor)有什么区别?嗯,要回答这个问题,你必须深入理解Java的多线程底层是如何工作的。简短的答案是,锁为实现监视器提供必要的支持。详细答案如下。锁(lock)逻辑上锁是对象内存堆中头部的一部分数据。JVM中的每个对象都有一个锁(或互斥锁),任何程序都可以使用它来协调对对象的多线程访问。如果任何线程想要访问该对象的实例变量,那...转载 2019-07-23 19:37:44 · 184 阅读 · 0 评论 -
线程obj.wait()和obj.notify()详解
wait()和notify()同属于Object里面的成员方法。Obj.wait(),与Obj.notify()必须要与synchronized(Obj)一起使用,也就是wait,与notify是针对已经获取了Obj锁进行操作,从语法角度来说就是Obj.wait(),Obj.notify必须在synchronized(Obj){…}语句块内。从功能上来说wait就是说线程在获取对象锁后,主动释...转载 2019-07-23 19:11:14 · 989 阅读 · 0 评论 -
Java IO流(一)
字节:字节输入Inputstream FilterInputStream //包含其他一些输入流,它将这些流用作其基本数据源, //它可以直接传输数据或提供一些额外的功能。 FilteInputStream //从文件系统中的某个文件中获得输入字节。哪些文件可用取决于主机环境。 //用于读取诸如图像数据之类的原始字节流。 BufferedInputStream ...原创 2019-07-18 12:51:52 · 90 阅读 · 0 评论 -
Runnable和Thread比较
在线程使用过程中,我们肯定会用到Runnable与Thread,前者的实现方式是实现其接口即可,后者的实现方式是继承其类。两者实现方式带来最明显的区别就是,由于Java不允许多继承,因此实现了Runnable接口可以再继承其他类,但是Thread明显不可以。1.Runnable和Thread比较如上所述,Runnable相比Thread存在明显的优点,同时也是两者最大的区别。这点就不再做...转载 2019-07-16 23:19:38 · 5616 阅读 · 0 评论 -
static、new
问题描述:创建了一个类bank,bank下方法action开始未声明为static,创建对象时未使用new创建,程序报错异常NullPointerExceptionpublic class Bank { public Bank() { // TODO Auto-generated constructor stub } public synchronized void action(A...原创 2019-07-12 19:44:42 · 428 阅读 · 0 评论 -
Java 接口
https://www.runoob.com/java/java-interfaces.html转载 2019-07-12 19:49:23 · 85 阅读 · 0 评论 -
Java 继承接口同名函数问题
在Java中如果一个类同时继承接口A与B,并且这两个接口中具有同名方法,会怎么样?会报错若函数名不同(包括传入参数但不包括返回值类型),则不会报错...原创 2019-07-14 19:44:22 · 528 阅读 · 0 评论