随笔分类 -  java回顾

1
摘要:CountDownLatch同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待 countDown()当前线程调此方法,则计数减一(建议放在finally里执行) await() 调用此方法一直阻塞当前线程 直到计数器的值为0; 阅读全文
posted @ 2016-12-08 15:49 臭屁猪 阅读(255) 评论(0) 推荐(0) 编辑
摘要:一 概念 内部类,顾名思义,就是一个类的内部有其他的类,比如下面这种,一个最简单的内部类示例,内部类又分为 静态内部类和非静态内部类,非静态内部类又分为 1.普通内部类(也称为成员内部类) 在一个类(外部类中直接定义的内部类),这个外部类是相对于内部类来说的,2. 匿名内部类 3.方法内部类(在一个 阅读全文
posted @ 2016-12-07 17:41 臭屁猪 阅读(172) 评论(0) 推荐(0) 编辑
摘要:转自 http://www.cnblogs.com/metoy/p/3915990.html 阅读全文
posted @ 2016-12-07 16:14 臭屁猪 阅读(95) 评论(0) 推荐(0) 编辑
摘要:类加载机制 - JVM把class文件加载到内存中 并对数据进行 校验,解析,初始化,最终形成JVM可以直接使用的java类型的过程 详细过程 加载→ 验证→ 准备→ 解析 → 初始化→ 使用 → 卸载 这是一个完整的类加载过程 (验证,准备,解析)三步可以统称为链接 统称后就变为步骤变为 加载→链 阅读全文
posted @ 2016-12-07 14:55 臭屁猪 阅读(293) 评论(0) 推荐(0) 编辑
摘要:Java动态性的两种常见方式:-字节码操作 - 反射;字节码操作比反射开销小,性能高,JAVAasist性能高于反射,低于ASM 运行时操作字节码可是实现 : 动态生成新的类;动态的改变某个类的结构(添加,删除,修改 ,新的属性/方法) 阅读全文
posted @ 2016-12-06 13:26 臭屁猪 阅读(241) 评论(0) 推荐(0) 编辑
摘要:Java从jdk6.0开始引入了动态编译机制 动态编译引用场景: - 可以做一个浏览器端编写java代码,上传服务器和运行的在线评测系统 - 服务器动态加载某些类文件进行编译 动态编译做法: - 通过 Runtime调用javac 启动新的进程去操作 - 通过JavaCompiler进行动态编译 - 阅读全文
posted @ 2016-12-06 12:33 臭屁猪 阅读(458) 评论(0) 推荐(0) 编辑
摘要:在使用反射机制时,我们经常需要知道方法的参数和返回值类型,很简单 ,下面上示例,示例中的两个方法非常相似 阅读全文
posted @ 2016-12-06 10:04 臭屁猪 阅读(18398) 评论(0) 推荐(0) 编辑
摘要:一 概念 java反射机制属于 java动态性之一 ,指的是可以运行时加载,探知,使用编译期间完全未知的类,程序在运行状态中,可以动态的加载一个只有, 名称的类,对于任意一个已加载的类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能调用它的任意一个方法和属性,典型的动态语言有 Python 阅读全文
posted @ 2016-12-05 16:45 臭屁猪 阅读(440) 评论(0) 推荐(0) 编辑
摘要:sleep()方法是让线程休眠 可以指定时间 其实就是让线程进入阻塞状态 指定的时间过后 进入就绪状态 不释锁 相当于抱着锁睡觉 wait() 让线程进入等待状态 被唤醒后才会继续执行 释放锁 yield() 线程让步 使当前线程让出cpu资源 该线程进入就绪状态 给同等级的其他线程执行的机会 但也 阅读全文
posted @ 2016-12-01 13:24 臭屁猪 阅读(206) 评论(0) 推荐(0) 编辑
摘要:io流用于输入和输出,就是将数据从程序输出到本地硬盘,从本地硬盘读取数据到程序。废话不多说,直接上关系图 一 字节流的输入 使用 FileInputSteam 字节流的输出 使用FileOutputStream 二 字符流的输入 (字符流只能处理纯文本,而字节流可以处理一切数据) 使用FileRea 阅读全文
posted @ 2016-11-08 17:44 臭屁猪 阅读(255) 评论(0) 推荐(0) 编辑
摘要:Collections类提供了一些操作集合的方法 下面介绍几个方法 1.将集合变为线程安全的 三个方法分别对应了ArrayList,HashMap,HashSet; Collections.synchronizedList(); Collections.synchronizedMap(); Coll 阅读全文
posted @ 2016-11-03 14:41 臭屁猪 阅读(4851) 评论(0) 推荐(0) 编辑
摘要:一、Java Properties类 Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改变的,这样做也是为了方便用户,让用户能够脱离程序本身去修改相关的变量设置。像P 阅读全文
posted @ 2016-11-03 13:54 臭屁猪 阅读(1851) 评论(0) 推荐(0) 编辑
摘要:一、简单介绍Map在讲解Map排序之前,我们先来稍微了解下map。map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。其中这四者的区别如下(简单介绍): HashMap:我们最常用的Map,它根据key的HashCode 阅读全文
posted @ 2016-11-01 17:17 臭屁猪 阅读(500) 评论(0) 推荐(0) 编辑
摘要:建一个实体类并实现Comparable接口重写compareTo方法 TrreSet演示 排序是根据pojo类中的age属性进行的,直接上了main方法,注意:如果不在类中重写 compareTo方法在使用set添加时会报类型转换错误,或者写一个工具类实现Comparator<T>接口也可以。 Tr 阅读全文
posted @ 2016-11-01 14:31 臭屁猪 阅读(1985) 评论(0) 推荐(0) 编辑
摘要:SunnyAmy SunnyAmy SunnyAmy comparator接口与Comparable接口的区别 1. Comparator 和 Comparable 相同的地方他们都是java的一个接口, 并且是用来对自定义的class比较大小的,什么是自定义class: 如 public clas 阅读全文
posted @ 2016-11-01 13:29 臭屁猪 阅读(265) 评论(0) 推荐(0) 编辑
摘要:ArrayList底层实现数组,这是ArrayList get()方法的源码,底层是数组 根据下标返回在数组中对应的位置 ,查询快,插入慢 LinkList的底层实现是双向链表,插入块,查询慢 ,下面是其add()方法的源码 可以看出是一双向链表的方式实现的 HahsMap的底层实现是数组加链表 比 阅读全文
posted @ 2016-10-31 15:26 臭屁猪 阅读(797) 评论(0) 推荐(0) 编辑
摘要:java中提供了多个集合框架 其中就有ArrayList 下面简单的实现一下 只写了添加,获取长度和根据下标获取元素的方法 阅读全文
posted @ 2016-10-27 13:50 臭屁猪 阅读(280) 评论(0) 推荐(0) 编辑
摘要:一 多态的基础是继承,重写,父类的引用指向子类对象,接口是多态最常见的实现方式。 概念性的东西,先说这么多,以上的都是重点, 继承 ,重写 ,父类的引用指向子类对象。 下面贴上代码 ,一步步来看到底什么是多态。 父类 动物类,然后会有Dog和Cat类继承此类 Dog类 Cat类 如果平时,我们调用c 阅读全文
posted @ 2016-10-26 15:20 臭屁猪 阅读(328) 评论(0) 推荐(0) 编辑
摘要:this是指当前对象的引用,super是指直接父类的引用 比如 我建造一个类 public class Person(){ private String name; private int age; public void showage(){ System.out.println(age);//输 阅读全文
posted @ 2016-10-26 10:37 臭屁猪 阅读(145) 评论(0) 推荐(0) 编辑
摘要:java内存 分为 栈内存(先进出,存放局部变量)和 堆内存(存放对象) 又有方法区(存放类的代码信息,常量池,和能被所有线程共享的static变量) 他们之间的关系都是通过内存地址来指向 阅读全文
posted @ 2016-10-25 15:17 臭屁猪 阅读(113) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示