![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
qq_34983808
这个作者很懒,什么都没留下…
展开
-
控制循环结构(break、continue)、return结束方法
break:用于完全结束一个循环,跳出循环体,不管是哪种循环,一旦在循环体中遇到break,系统将完全结束该循环,开始执行循环之后的代码。 break测试:============================ @Test public void test() throws IOException { for (int i = 0; i < 10; i++)原创 2017-09-13 15:13:17 · 811 阅读 · 0 评论 -
javase---思维导图
Java基础知识: 面向对象: 集合: 多线程、网络编程、反射、设计模式: 常用API:转载 2017-11-27 14:35:58 · 2929 阅读 · 4 评论 -
java之jdk动态代理
背景: 在面向对象编程的世界里,一切事物都封装成类,类里面包含了成员变量和方法,方法里就是一系列的功能处理。 不同的类所特有的功能是不一样的。在jdk里已经封装了很多的类,如果我们想对其中的某个类或者接口的功能进行拓展的话,只能是去继承或实现某个接口。问题: 去拓展接口或现有类的功能时,需要去创建新的类,无形当中多了很多我们新建的类,如果有1000个人去实现某个接口拓展同样的功能,那就得新创建原创 2017-12-23 12:10:15 · 143 阅读 · 0 评论 -
线程--工人吃馒头、蜜蜂与熊生产消费
问题:40个工人,一个篮子装有100个馒头,工人吃馒头并发执行,每个工人最多只能吃3个馒头。 代码:class ManTouDemo{ public static void main(String[] args){ //创建篮子 Basket basket = new Basket(); for(int i=0;i<40;i++){转载 2017-11-26 11:43:12 · 369 阅读 · 0 评论 -
HashSet、HashMap
HashSet添加元素方法的本质也是调用HashMap HashMap实现原理: 移位、^运算=hash值 能否添加进HashMap集合当中呢? 3个依据:判断hash值、是否为同一对象、equals方法是否相等 e.hash == hash && ((k = e.key) == key || key.equals(k))Entry<K,V> e = table[i]; e != null原创 2017-11-29 10:23:33 · 167 阅读 · 0 评论 -
线程
一、进程 1、运行时(Runtime)应用程序 2、进程之间的内存不是共享的(独占) 3、进程间通信使用的是socket(套接字)======================= 二、多线程 1、进程内并发执行的代码段,关键就是并发 2、线程之间共享内存 3、创建灵活响应的桌面程序(QQ、迅雷) 4、每个运行着的线程对应一个栈stack 5、应用程序至少有一个线程(主线程)=====转载 2017-11-03 21:57:08 · 291 阅读 · 0 评论 -
线程之生产者、消费者
测试代码1:public class ThreadDemo8{ public static void main(String[] arg){ java.util.List<Integer> list = new java.util.ArrayList<Integer>(); Productor p = new Productor("生产者",转载 2017-11-11 09:41:11 · 132 阅读 · 0 评论 -
匿名对象、匿名内部类、适配器模式
匿名对象2种使用情况: new Person().run(); //当对方法仅一次调用 show(new Person());//作为实际参数传递================================ 未完待续!原创 2017-09-14 23:22:10 · 277 阅读 · 0 评论 -
final、内部类、抽象类、接口
final可以修饰类、方法、属性 修饰类,不能被继承class FinalDemo{ public static void main(String args[]){ }}final class Animal{ public void run(){ System.out.println("run..."); }}class Dog extends原创 2017-09-20 23:13:55 · 230 阅读 · 0 评论 -
多态
多态:继承和实现是多态的前提条件。 1、 多种状态或者形态 2、 好丈夫+好父亲+好儿子 3、 父类的引用指向子类对象。 4、 ClassCastException 类型转换异常(说明没有继承关系或者实现关系) 5、 类中方法可以覆盖,成员变量(资产)不能覆盖。 官方点就是: —对于成员函数:编译时看引用变量所属的类中是否有所调用的成员、运行时看对象所属的类中是否有所调用的原创 2017-09-21 10:50:52 · 153 阅读 · 0 评论 -
Java之堆栈、方法区
内存:堆、栈 StackOverFlow:栈溢出 栈区:成员方法、局部变量(定义在方法内、语句内)|(不会初始化,要使用必须初始化) 堆区:成员变量(会初始化有默认的初始值)、对象、数组 堆栈区:是运行时概念,程序运行了才会有所谓的堆栈区,程序没运行,是存在磁盘上的文件, 代码:public static void main(String args[]){ Person p原创 2017-09-14 23:03:37 · 378 阅读 · 0 评论 -
IO之输入字符流FileReader、输出字符FileWriter
/*流的分类:输入流、输出流站在程序的角度文件-->程序:输入流,读操作程序-->文件:输出流,写操作字节流:一次读取1字节byte=8bit字符流:一次读取1字符char=16bit读取文件操作3个步骤:1、打开管道(流),装载数据文件 如果是文本文件,使用字符流 如果是二进制文件,使用字节流2、读取文件数据3、关闭管道(流) 程序中打开的文件 IO 资源不属原创 2017-09-24 10:22:50 · 362 阅读 · 0 评论 -
IO之字节输入流FileOutputStream、字节输出流FileInputStream
FileInputStream:/** int read():读取一个字节的数据,并且返回读到得数据,如果返回-1,则表示读到输入流的末尾。 int read(byte[] b):从输入流中读取一定量的字节,并将其存储在字节数组b中,返回实际读取的字节数,如果返回-1,则表示读到输入流的末尾。 int read(byte[] b, int off, int len):将数据读入一原创 2017-09-26 17:04:59 · 244 阅读 · 0 评论