随笔分类 -  Java基础知识

摘要:线程实现方式二: 1.自定义一个类实现runnable接口 class Thread implements Runnable 查看源代码,我们可以知道Thread实现了runnable接口 runnable中只有一个run抽象类 2.实现run方法,把自定义线程的任务定义在run方法里面 3.创建一 阅读全文
posted @ 2018-04-28 18:06 江小白鞋 阅读(129) 评论(0) 推荐(0)
摘要:死锁: 出现死锁的原因:线程A等待线程B释放锁资源,同时线程B等待线程A释放资源 可能出现死锁的情况: 1.存在2个或者2个以上的线程 2.存在2个或者2个以上的共享资源 需求: 有2个人要看电视,狗蛋有遥控器,张三有电池。只有电池和遥控器都有了才能看电视 代码如下: 可以发现张三拿到了电池却怎么也 阅读全文
posted @ 2018-04-28 16:12 江小白鞋 阅读(141) 评论(0) 推荐(0)
摘要:方式二:同步函数 通俗讲:就是用synchronized修饰的函数 同步函数注意事项: 1.如果一个同步函数是非静态的,那么它的所对象就是this对象(函数调用者对象), 如果一个同步函数的锁对象是静态的,那么锁对象就是当前函数所属字节码对象(class文件) 2.同步函数的锁是固定的,不能由我们来 阅读全文
posted @ 2018-04-28 15:27 江小白鞋 阅读(126) 评论(0) 推荐(0)
摘要:解决线程问题: 方式一:同步代码块(synchronized) 语法: synchronized ("锁对象") { //需要锁定的代码 } 解决线程安全问题原理: 当我们使用同步代码块时,就当与给此段语句上了一个锁,当一个线程A进去的时候,锁的状态会从开变成关,后面的线程是进不来的。 当进去的线程 阅读全文
posted @ 2018-04-28 14:44 江小白鞋 阅读(368) 评论(0) 推荐(0)
摘要:需求:三个窗口同时售卖50张票 代码如下: 疑问:怎么每个窗口都卖了50号的票,本来只有50张票,怎么卖出了150张的票呢? 原因:因为票数是静态的成员变量,静态的成员变量会在每个对象中都会维护一份数据 解决方案:把票数变成静态的成员变量,共享给三个对象 代码如下: 疑问:怎么又把50号票卖了三次呢 阅读全文
posted @ 2018-04-28 14:22 江小白鞋 阅读(167) 评论(0) 推荐(0)
摘要:1.构造方法 Thread() 分配新的 Thread 对象。 Thread(String name) 分配新的 Thread 对象并指定线程名字 2.方法 1)setName(String name) 设置线程的名字 public final void setName(String name) 2 阅读全文
posted @ 2018-04-27 20:27 江小白鞋 阅读(175) 评论(0) 推荐(0)
摘要:1.进程 定义:正在进行的程序叫作一个进程。进程负责了内存空间的划分 疑问:windows号称是多任务的操作系统,那么是同时运行多个程序的吗? 从宏观角度:windows确实是同时运行多个应用程序 从微观角度:cpu做了快速的切换动作,只是太快了,我们肉眼看不出切换而已 2.线程 定义:线程在一个进 阅读全文
posted @ 2018-04-27 19:30 江小白鞋 阅读(156) 评论(0) 推荐(0)
摘要:1.Random class Random implements java.io.Serializable 下面是一个简单验证码的代码: 注意:nextInt调用此方法可以返回int类型的指定范围的数据 如果要调用其他类型的,只需要调用相对应的方法即可 阅读全文
posted @ 2018-04-27 16:50 江小白鞋 阅读(175) 评论(0) 推荐(0)
摘要:1.Date类 public class Date 获取时间代码如下: 目前这种获取时间的方式已经被淘汰了,所以不做深入了解 2. Calendar类 public abstract class Calendar implements Serializable, Cloneable, Compara 阅读全文
posted @ 2018-04-27 16:37 江小白鞋 阅读(176) 评论(0) 推荐(0)
摘要:System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便的进行调用。1.成员变量 in 标准输入流(键盘输入) 阅读全文
posted @ 2018-04-24 00:03 江小白鞋 阅读(131) 评论(0) 推荐(0)
摘要:1.字符串变量、StringBuffer、StringBulid的区别: 字符串是一个常量,不能被修改 字符串一旦被修改,那么会再创建一个对象,浪费空间 而StringBuffer字符缓冲类是一个容器,它对它进行增删改操作,非常方便 StringBuilder类提供一个与 StringBuffer兼 阅读全文
posted @ 2018-04-23 21:21 江小白鞋 阅读(132) 评论(0) 推荐(0)
摘要:1. 自己写trim方法 2.获取上传文件名 "D:\\20120512\\day12\\Demo1.java" 3.将字符串对象中存储的字符反序 4. 求一个子串在整串中出现的次数 阅读全文
posted @ 2018-04-22 23:36 江小白鞋 阅读(240) 评论(0) 推荐(0)
摘要:1. 获取方法 int length() 获取字符串的长度 char charAt(int index) 获取特定位置的字符 (角标越界) int indexOf(String str) 获取特定字符的位置(overload) int lastIndexOf(int ch) 获取最后一个字符的位置 阅读全文
posted @ 2018-04-22 22:42 江小白鞋 阅读(131) 评论(0) 推荐(0)
摘要:1. 下面是一个使用equals的例子: 我查看了一下源代码,string类中equals方法的源代码如下: 我感觉疑问的是这个不是接受的是一个对象吗?为什么我可以传入一个变量呢?(下面是百度所获得的答案) 注意:推荐写equals进行字符串比较,不要写“==”(string类重写了Object的e 阅读全文
posted @ 2018-04-22 22:28 江小白鞋 阅读(96) 评论(0) 推荐(0)
摘要:1. Object java是面向对象语言,所以其核心思想: 找合适的对象,做合适的事 Object是所有类的终极基类。任何一个类都继承了Object类 2. Object的部分函数列表 1)String toString() 返回该对象的字符串表示。 2)int hashCode() 返回该对象的 阅读全文
posted @ 2018-04-22 21:53 江小白鞋 阅读(118) 评论(0) 推荐(0)
摘要:这个是在别人博客抄的,并不是本人撰写 Java是一门编程语言。Java分为三大版本,SE即标准版,包含了Java核心类库,主要用来开发桌面应用;EE即企业版,包含SE,又有扩展部分(Servlet,JDBC等),主要用来开发分布式网络程序;ME即微型版,包含了SE中部分类库,又有自己扩展部分,主要用 阅读全文
posted @ 2018-04-21 17:34 江小白鞋 阅读(291) 评论(0) 推荐(0)
摘要:下面都是在记事本里面写代码 1. 包的定义格式: package 包名(全小写) 例如: package a; 注意: 1)package语句必须位于java文件的第一个语句 2.编译运行 注意: 添加包名后我们创建的文件必须要放在跟包名相同的文件夹里面 如果我们没有放在跟包名相同的文件夹里面你会发 阅读全文
posted @ 2018-04-21 16:34 江小白鞋 阅读(126) 评论(0) 推荐(0)
摘要:1. 现实生活的病现实生活中万物在发展和变化会出现各种各样不正常的现象。1)例如:人的成长过程中会生病。|——病 |——不可治愈(癌症晚期) |——可治愈 |——小病自行解决(上火,牙痛) |——去医院(感冒,发烧) 同时我们的java也可以诊断和处理这些异常注意: 除了RunntimeExcept 阅读全文
posted @ 2018-04-20 16:50 江小白鞋 阅读(435) 评论(0) 推荐(0)
摘要:/* 内部类: 成员内部类(在外部类声明成员的地方创建一个类) 创建对象方式: 1)在外部类中定义一个方法并创建内部类对象 a.在另一个类中创建外部类的对象,并调用那个创建内部类对象的方法 2)在另一个类中创建... 阅读全文
posted @ 2018-04-19 16:03 江小白鞋 阅读(121) 评论(0) 推荐(0)
摘要:1.多态的概述 1)什么是多态 一个对象的多种状态 2)解析 在学校上课 学生 在路上 路人甲 在家 儿子 3)所以我们可以这样创建对象 Father f = new Son(); 注意:类与类之间有关系,继承或者实现 2.访问成员分析(具有相同的成员方法和成员变量) 1)当父类和子类具有相同的非静 阅读全文
posted @ 2018-04-18 21:55 江小白鞋 阅读(139) 评论(0) 推荐(0)