JAVA基础
ipllt
能让你走下去的,是对知识的渴求与无数个孤独寂静的深夜中的思考和沉淀。
展开
-
JAVA集合的理解
什么是集合存储对象的容器,面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式。集合的出现就是为了持有对象。集合中可以存储任意类型的对象, 而且长度可变。在程序中有可能无法预先知道需要多少个对象, 那么用数组来装对象的话, 长度不好定义, 而集合解决了这样的问题。集合和数组的区别数组和集合类都是容器数组长...原创 2018-09-15 20:24:13 · 929 阅读 · 0 评论 -
JAVA异常体系
/* * Throwable 所有错误与异常的父类 * | -- Error 错误 一般 是由于jvm或者 硬件引发的问题,一般不会通过代码 处理错误 * | -- Exception 异常 是我们需要通过代码去处理的 * * 异常的方式处理: try-catch块的处理方式 捕获异常 * try{ * 可能会出现异常的代码 * } * ...原创 2018-10-22 22:50:15 · 470 阅读 · 0 评论 -
JDBC连接Oracle数据库步骤
1,数据库建立表(此处省略)2,将数据库连接的Jar包导入项目的lib包中3,创建编写db.properties配置文件创建文件更改名字保存就可以了,因为我已经创建过,所以报错 将配置代码复制到创建的properties配置文件中drivername=oracle.jdbc.driver.OracleDriver //(驱动名,直接复制)url=jdbc:...原创 2018-10-23 23:27:02 · 7438 阅读 · 0 评论 -
JAVA三大特性之 封装
我们日常使用的电脑主机,把cpu、内存、主板等等都封装到机箱里面去。假如没有机箱的话的出现什么问题,主机、主板全部都散落在一处,然后开机没有开机按钮,那么需要我们直接操作接跳线才能把电脑开启。这样子的话假如操作不慎的话,会让机器损坏危险,那么假如用机箱封装起来的话,那么就不需要这样子做了。体现了封装的---安全特性。你拿电脑去加内存,可以直接给电脑给维修的人,等他加好内存了之后。你拿到的还是那...原创 2018-11-10 19:41:23 · 167 阅读 · 0 评论 -
JAVA三大特性之 继承详解
类和类之间的常见关系。既然继承是描述类和类之间的关系,就需要先来了解类和类之间的常见关系现实生活的整体与部分举例说明现实生活学生 是人 狗 是动物球队 包含 球员 整体与部分的关系,部分可以删除和增加笔记本包含 cpu 整体与部分的关系,部分不可以删除和增加航母编队 包含(航母 护卫舰 驱逐舰 舰载机 核潜艇)jav...原创 2018-11-10 19:52:27 · 174 阅读 · 0 评论 -
JAVA中的主函数main方法详解
main方法详解主函数是静态的public static void main(String[] args){ }主函数是什么:主函数是一个特殊的函数,作为程序的入口,可以被jvm识别。主函数的定义: public :代表该函数的访问权限是最大的。 static :代表主函数随着类的加载,就已经存在了。 void: 主函数...原创 2018-11-11 16:28:10 · 1321 阅读 · 0 评论 -
JAVA中static和final的区别
static强调只有一份,final强调不变。final在使用之前必须初始化 还能用于匿名内部类传参 final方法也是一种非虚方法 在编译器会直接被确定原创 2019-03-04 21:40:30 · 2144 阅读 · 0 评论 -
JAVA虚拟机JVM基础理解
下面有关JVM内存,说法错误的是?A 程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的B 虚拟机栈描述的是Java方法执行的内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的C 方法区用于存储JVM加载的类信息、常量、静态变量、以及编译器编译后的代码等数据,是线程隔离的D 原则上讲,所有的对象都在堆区上分配内存,是线...原创 2019-03-06 20:27:44 · 253 阅读 · 0 评论 -
Statement、PreparedStatement和CallableStatement的区别
下面有关jdbc statement的说法错误的是? A JDBC提供了Statement、PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedStatement 用于执行参数化查询,而 CallableStatement则是用于存储过程B 对于PreparedStatement来说,...原创 2019-03-07 19:53:39 · 313 阅读 · 0 评论 -
JAVA中的修饰符解析
分类Java语言提供了很多修饰符,大概分为两类:1. 访问权限修饰符2. 非访问权限修饰符访问权限修饰符public:共有访问。对所有的类都可见。 protected:保护型访问。对同一个包可见,对不同的包的子类可见。 default:默认访问权限。只对同一个包可见,注意对不同的包的子类不可见。 private:私有访问。只对同一个类可见,其余都不见。...转载 2019-03-07 20:20:45 · 204 阅读 · 0 评论 -
JAVA类初始化过程
输入结果为类的初始化过程:一个类要创建实例需要先加载并初始化该类(main方法所在的类需要先加载和初始化 )一个子类要初始化需要先初始化父类 一个类初始化就是执行<clinit>()方法 <clinit>()方法由静态类变量显示赋值代码和静态代码块组成 类变量显示赋值代码和静态代码块代码从上到下顺序执行 <clinit>()方法...原创 2019-03-20 11:17:16 · 1021 阅读 · 0 评论 -
JAVA三大特性之 多态特性详解
* 多态: 父类的 引用变量 指向了子类的对象 或者 * 接口的 引用变量 指向了接口实现类对象 * 多态前提:必须存在 继承或者 实现关系 * 多态要注意的细节: * 1.多态情况下,子父类 存在 同名的成员变量(包括 非静态和 静态),默认 访问父类的成员变量 * 2.多态情况下,子父类 存在 同名的非静态函数时,默认...原创 2018-10-17 20:56:00 · 259 阅读 · 0 评论 -
JDK中java.exe,javadoc.exe,jdb.exe,javaprof.exe分别是什么,有什么作用?
javac.exe 是编译程序,用于编译.java文件java.exe 是执行程序,用于执行编译好的.class文件javadoc.exe 是JAVA文档工具,用于生成Java说明文档jdb.exe 是调试器,用于调试JAVA代码javaprof.exe 是剖析工具...原创 2018-10-10 10:18:50 · 6988 阅读 · 0 评论 -
JAVA多线程的理解
疑问: windows号称是多任务的操作系统,windows真的是同时运行多个应用程序吗? * * 宏观角度:windows确实在同时运行多个应用程序 * * 微观角度:cpu在做一个 快速的切换过程,再每一个时间片上,cpu有且仅可能去 执行 一个 进程。 * 但是 ,由于切换的速度特别快,所以我们没有感觉到而已 * *********...原创 2018-09-12 16:06:52 · 133 阅读 · 0 评论 -
JAVA内部类详解
* 内部类:在一个类的内部 定义 另外一个类,那么另一个类 则称为内部类 * 内部类的class文件名: 外部类$内部类.class * 成员内部类(内部类的定义 是在 外部类的成员 位置上) * 成员内部类的访问方式: * 方式一: 在其他类中直接创建内部类的对象进行访问 * 格式: * 外部类.内部类 变量名 = n...原创 2018-10-17 21:14:00 · 273 阅读 · 0 评论 -
多线程创建方式,JAVA线程安全问题
* 需求: 模拟电影院卖票问题 * 三个窗口 一共卖 50 张票 * * 问题1:50张票 被卖了150次? * 原因:num是非静态的成员变量,非静态的成员变量每创建一个 SaleTickets对象的时候,都会 * 在内部维护一份num数据,所以,现在三个窗口 就有三份 num 数据 * * 解决方案:使用 ...原创 2018-10-18 00:44:07 · 199 阅读 · 0 评论 -
守护线程
/* * 守护线程(后台线程):当前 java 程序 只剩下 守护线程的时候,那么守护线程 马上结束 * * 守护线程应用场景: * 新的软件版本的下载 * ... * * 守护线程要注意的事项: * 1.所有的线程 默认 都不是守护线程 * * * *///QQ 更新的线程class QQUpdate extends Thread...原创 2018-10-18 00:45:23 · 96 阅读 · 0 评论 -
线程让步
/* * 线程让步: join方法 * * 需求:模拟小时候 没有盐去买盐 * * * */class Mother extends Thread{ @Override public void run() { System.out.println("老妈洗菜..."); System.out.println("老妈切菜..."); System.o...原创 2018-10-18 00:46:45 · 194 阅读 · 0 评论 -
多线程:生产者和消费者模型
* 线程通讯:当一个线程 完成了一个任务的时候, * 要通知另外一个线程取处理其他的事情 * * 生产者和消费者模型 * * 问题1:价格错乱 (线程安全问题) * 问题2:生产一个,消费一个 * * 线程通讯的一些方法: * wait():让当前线程进入等待状态 * notify():唤醒等待状态下的线程...原创 2018-10-18 00:48:55 · 280 阅读 · 0 评论 -
线程死锁问题
* 死锁问题 * java同步机制 解决了 线程安全问题,但是同时也引发了死锁问题 * * 死锁现象如何解决:没有办法解决,只能尽量的避免 死锁问题 * * 死锁问题出现的根本原因: * 1.存在两个或者两个以上的线程 * 2.多个线程 必须 共享两个或者 两个以上的...原创 2018-10-18 00:54:16 · 192 阅读 · 0 评论 -
Java static方法里为什么不能使用this关键字
Static方法是类方法,先于任何的实例(对象)存在。即Static方法在类加载时就已经存在了(JAVA虚拟机初始化时),但是对象是在创建时才在内存中生成。而this指代的是当前的对象。 参考:https://zhidao.baidu.com/question/205972833.html...原创 2018-10-18 01:05:10 · 3599 阅读 · 0 评论 -
多线程的五个状态分别是什么?
new对象时,线程创建 .start()线程进入就绪状态 当获得cpu执行权时,开始执行run方法时为运行状态遇到 wait,sleep时,进入阻塞状态 run方法执行完毕,线程进入死亡状态 创建,就绪,运行,阻塞,消亡...原创 2018-10-10 10:07:32 · 583 阅读 · 0 评论 -
JAVA关于关键字final的重要知识点 byte b1=1,b2=2,b3,b6,b8;
1 2 3 4 5 6 7 byte b1=1,b2=2,b3,b6,b8; final byte b4=4,b5=6,b7; b3=(b1+b2); /*语句1*/ b6=b4+b5; /*语句2*/ b8=(b1+b4); /*语句3*/ b7=(b2+b5); /...转载 2019-03-20 21:57:55 · 4144 阅读 · 0 评论