- 博客(27)
- 收藏
- 关注
转载 Map集合如何取出所有元素
1:map.put(8,"zhaoliu"); map.put(2,"zhaoliu"); map.put(7,"xiaoqiang"); map.put(6,"wangcai"); //取出map中的所有元素。 //原理,通过keySet方法获取map中所有的键所在的Set集合,在通过Set的迭代器获取到每一个键, //在对每一个键通过map集合的get方法获取其对...
2018-03-29 11:20:47
6652
转载 Iterator 和 ListIterator
iterator的用法: /*Iterator it = list.iterator();while(it.hasNext()){ Object obj = it.next();//java.util.ConcurrentModificationException //在迭代器过程中,不要使用集合操作元素,容易出现异常。 //可以使用Iterator接口的子接口ListIterat...
2018-03-19 20:53:38
234
转载 集合框架
A注意:1:同时调用it.next()对象的两个元素,一定不能同时使用两次it.next(),必须将it.next()转换成一个Person对象,再调用对象的内容。2:it.next可以接受任何对象,所以已经被向上转型为object类型了,必须对P的类型进行向下转型,3:(.)的权限很大,必须使用()将其全部扩住。4:同时,在eclipse中可以使用ctrl+1进行纠错while(it.hasNe...
2018-03-19 20:36:26
160
转载 集合框架
package cn.itcast.p3.collection.demo;import java.util.ArrayList;//导入ArrayList的包0import java.util.Collection;//导入Collection的包public class CollectionDemo { /** * @param args */ public static...
2018-03-18 16:01:36
149
转载 集合框架
集合类的由来: 对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定。 就使用集合容器进行存储。 集合特点:1,用于存储对象的容器。2,集合的长度是可变的。3,集合中不可以存储基本数据类型值。 集合容器因为内部的数据结构不同,有多种具体容器。不断的向上抽取,就形成了集合框架。框架的顶层Collection接口:Collection的常见方法:1,添加。 boolean add(Object...
2018-03-17 17:25:48
214
转载 Integer/自动装箱
Integer i = 4;//i = new Integer(4);自动装箱 简化书写。 i = i + 6;// i = new Integer(i.intValue() + 6); //i.intValue() 自动拆箱 Integer a = new Integer(128); Integer b = new Integer(128); System.out.println...
2018-03-16 20:44:28
175
转载 基本数据类型类型转换和进制转换
package cn.itcast.p2.wrapper.demo;public class WrapperDemo { /** * @param args */ public static void main(String[] args) { /* * 基本数据类型对象包装类。 * 为了方便操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为丰富了该...
2018-03-16 08:39:16
237
转载 String Buffer/builder
1:String Buffer/* * StringBuffer:就是字符串缓冲区。 * 用于存储数据的容器。 * 特点: * 1,长度的可变的。 * 2,可以存储不同类型数据。 * 3,最终要转成字符串进行使用。 * 4,可以对字符串进行修改。 * * * 既然是一个容器对象。应该具备什么功能呢? * 1,添加: * StringBuff...
2018-03-14 22:09:51
166
转载 String方法总结
/* * 按照面向对象的思想对字符串进行功能分类。 * "abcd" * * 1,获取: * 1.1 获取字符串中字符的个数(长度). * int length(); * 1.2 根据位置获取字符。 * char charAt(int index); * 1.3 根据字符获取在字符串中的第一次出现的位置. * int indexOf(int c...
2018-03-14 22:04:03
144
转载 wait和sleep的区别
1,wait可以指定时间也可以不指定。 sleep必须指定时间。2,在同步中时,对cpu的执行权和锁的处理不同。 wait:释放执行权,释放锁。 sleep:释放执行权,不释放锁。class Demo{ void show() { synchronized(this)// { wait();//t0 t1 t2 } } void method()...
2018-03-11 17:04:42
214
转载 一个锁多个线程监视器(jdk1.5新特性)
jdk1.5以后将同步和锁封装成了对象。 并将操作锁的隐式方式定义到了该对象中,将隐式动作变成了显示动作。Lock接口: 出现替代了同步代码块或者同步函数。将同步的隐式锁操作变成现实锁操作。同时更为灵活。可以一个锁上加上多组监视器。lock():获取锁。unlock():释放锁,通常需要定义finally代码块中。Condition接口:出现替代了Object中的wait notify notif...
2018-03-11 10:13:56
174
原创 多线程中的多生产多消费问题
1:if判断标记,只有一次,会导致不该运行的线程运行了。出现了数据错误的情况。解析:也就是说,if判断就是之判断一次,会导致被唤醒的线程不会重新判断flag,这就会使消费者或者是生产者一直单消费单生产。(if会使同类线程多次执行) while判断标记,解决了线程获取执行权后,是否要运行!2:notify:只能唤醒一个线程,如果本方唤醒了本方,没有意义。而且while判断标记+notify...
2018-03-10 16:18:41
339
转载 线程唤醒机制
等待/唤醒机制。 涉及的方法:1,wait(): 让线程处于冻结状态,被wait的线程会被存储到线程池中。2,notify():唤醒线程池中一个线程(任意).3,notifyAll():唤醒线程池中的所有线程。这些方法都必须定义在同步中。因为这些方法是用于操作线程状态的方法。必须要明确到底操作的是哪个锁上的线程。为什么操作线程的方法wait notify notifyAll定义在了Object类中...
2018-03-10 10:34:04
425
转载 线程安全问题————(静态)同步函数
同步函数的使用的锁是this;同步函数和同步代码块的区别:同步函数的锁是固定的this。同步代码块的锁是任意的对象。建议使用同步代码块。静态的同步函数使用的锁是 该函数所属字节码文件对象 可以用 getClass方法获取,也可以用当前 类名.class 表示。*/class Ticket implements Runnable{ private int num = 100;// Ob...
2018-03-06 14:12:03
196
转载 线程安全问题-———售票问题————同步代码块解决
线程安全问题产生的原因:1,多个线程在操作共享的数据。2,操作共享数据的线程代码有多条。当一个线程在执行操作共享数据的多条代码过程中,其他线程参与了运算。就会导致线程安全问题的产生。//也就是线程执行了一条或者部分代码,线程便切换到下一个线程,轮回回来之后才会继续执行第一个线程的剩余代码,这会造成异常。解决思路;就是将多条操作共享数据的线程代码封装起来,当有线程在执行这些代码的时候,其他线程时不可...
2018-03-05 21:42:05
256
转载 多线程————2————创建线程的第二种方法
多线程:创建线程的第一种方式:继承Thread类。创建线程的第二种方式:实现Runnable接口。1,定义类实现Runnable接口。2,覆盖接口中的run方法,将线程的任务代码封装到run方法中。3,通过Thread类创建线程对象,并将Runnable接口的子类对象作为Thread类的构造函数的参数进行传递。 为什么?因为线程的任务都封装在Runnable接口子类对象的run方法中。 所以要在线...
2018-02-28 12:35:14
127
转载 多线程————1—————线程的基础理解—————创建线程的第一种方法
1:基础知识进程:正在进行中的程序(直译). 线程:就是进程中一个负责程序执行的控制单元(执行路径)一个进程中可以多执行路径,称之为多线程。一个进程中至少要有一个线程。开启多个线程是为了同时运行多部分代码。每一个线程都有自己运行的内容。这个内容可以称为线程要执行的任务。多线程好处:解决了多部分同时运行的问题。多线程的弊端:线程太多回到效率的降低。其实应用程序的执行都是cpu在做着快速的切换完成的...
2018-02-27 20:09:40
138
转载 Java包
1:基础在当前目录下创建:代码:package mypack.haha.xixi;图片:2:升级,在非当前目录下创建:在一个包的代码中调用另外一个包中的类
2018-02-26 16:59:26
124
转载 Object共同父类
Object:所有类的根类。Object是不断抽取而来,具备着所有对象都具备的共性内容。常用的共性功能:创建对象的时候,jvm会将对象创造成一个Class.class的文件,然后用此class文件创建对象,getClass()则返回此class,getName()则返回其名字,hashCode()则返回其哈希值。所以有:toString = getClass().getName() + '@' +...
2018-02-26 10:30:59
364
转载 异常的相关内容
1:基础知识Throwable的子类分为error和Exception 1.1 一般不可处理的。Error 特点:是由jvm抛出的严重性的问题。这种问题发生一般不针对性处理。直接修改程序 1.2 可以处理的。Exception对于角标是整数不存在,可以用角标越界表示,对于负数为角标的情况,准备用负数角标异常来表示。负数角标这种异常在jav...
2018-02-25 12:50:44
224
转载 内部类和匿名内部类
内部类的相关内容:/*内部类访问特点:1,内部类可以直接访问外部类中的成员。2,外部类要访问内部类,必须建立内部类的对象用于类的设计:分析事物时,发现该事物描述中还有事物,而且这个事物还在访问被描述事物的内容,这时就是还有的事物定义成内部类来描述。*/class Outer { private int num = 3; class Inner//内部类 { i...
2018-02-20 15:36:38
152
转载 Java多态
1:静态函数和成员变量都是看父类。2:非静态成员函数是看子类。class fu{ int num = 3; void show(){ System.out.println("fu show"); } static void run() { System.out.println("fu run"); }}class zi extends fu{ in...
2018-02-19 19:20:11
120
转载 editplus快捷键大全
光标 移动光标到上一个制表符Shift+Tab 移动光标到上一个制表符的位置 左移一个字符 Left 光标向左移动一个字符 选区向左扩展一个字符 Shift+Left 将选定区域向左扩展一个字符 右移一个字符 Right 光标向右移动...
2018-02-19 15:13:30
311
转载 接口和抽象类的异同
不同点:1:抽象类需要被继承,而且只能单继承。接口需要被实现,而且可以多实现。 2:抽象类可以定义抽象方法和非抽象方法,子类继承之后,可以直接使用非抽象方法。3:抽象类的继承是定义基本内容,接口的实现是定义额外功能。相同点:1:都不能含有构造方法,二者都不能被实例化。总结:接口:1:成员变量都是常量,声明时必须赋值,默认public static final ,不能声明实例成员变量。2:接口中的成...
2018-02-18 11:21:03
185
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人