
Java
听友
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
红黑树和JDK8的HashMap
《算法导论》中对于红黑树的定义如下: 1.每个结点或是红的,或是黑的 2.根节点是黑的 3.每个叶节点是黑的(隐藏的空的叶子节点) 4.如果一个结点是红的,则它的两个儿子都是黑的 5.对每个结点,从该结点到其子孙结点的所有路径上包含相同数目的黑结点 红黑树是平衡的树,插入新节点默认为红色,若为根节点,变黑色。 关于插入一个新节点: 如果它的parent是黑色,则直接插入不需要调整 如果pare...原创 2020-03-08 13:59:30 · 282 阅读 · 0 评论 -
JDK7中的ConcurrentHashMap
由来:HashMap不是并发安全的(会出现循环链表),为了解决HashMap不安全的问题,Hashtable为每一个方法加了synchronized,然而导致效率变慢!这样ConcurrentHashMap就来了。 ConcurrentHashMap采用分段锁,有一个Segment[]数组(容量为2的幂次方),每一个Segment对象里面又有一个HashEnrty[]数组(容量为2的幂次方),将k...原创 2020-03-07 18:18:10 · 313 阅读 · 0 评论 -
Java集合List
Listd的子类特点: ArrayList: 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector: 底层数据结构是数组,查询快,增删慢 线程安全,效率低 LinkedList: 底层数据结构是链表,查询慢,增删快 线程不安全,效率高 ...原创 2020-03-07 14:36:00 · 97 阅读 · 0 评论 -
JDK7中的HashMap
Jdk7版本HashMap实现是:数组+链表 HashMap<String,String> hashMap = new HashMap<>(); hashMap.put("1","2"); String oldValue = hashMap.put("1","3"); System.out.println(oldValue); //输出2 HashMap在put的时候,将...原创 2020-03-06 17:30:03 · 227 阅读 · 0 评论 -
Java反射
Java代码在计算机中经历的三个阶段: Person对象是类对象创建出来的。 反射:将类的各个组成部分封装为其他对象,这就是反射机制。 javac编译成字节码文件,使用类加载器加载进内存,将类的成员变量封装为Field对象,将构造方法封装为Constructor对象,将成员方法封装为Method对象。 好处: 可以在程序运行过程中,操作这些对象。 可以解耦,提高程序的可扩展性。 获取Clas...原创 2020-03-04 21:23:43 · 140 阅读 · 0 评论 -
方法、操作、算法和多态性术语的不同意义
操作和方法 UML是这样定义操作和方法的: 1、操作就是能够被类的实例调用的服务的规范 2、方法则是操作的实现。 操作是在方法之上的抽象概念操作定义类所提供的服务,并给出调用该服务的接口。多个类可以用不同的方法实现同一个操作。例如,很多类都以自己的方式实现toString()操作。而每个类都是通过实现方法来提供某种操作,操作的实现代码构成了类的方法。通过对方法和操作进行定义,我们可以澄清很多设计模...原创 2020-02-29 23:28:28 · 1035 阅读 · 0 评论 -
构造器和方法的区别
功能和作用的不同 造器是为了创建一个类的实例。这个过程也可以在创建一个对象的时候用到;相反,方法的作用是为了执行Java代码。 修饰符,返回值和命名的不同 和方法一样,构造器可以有任何访问的修饰: public,protected, private或者没有修饰(通常被package 和 friendly调用)不同于方法的是,构造器不能有以下非访问性质的修饰:abstract, final,nati...原创 2020-02-29 13:28:31 · 3175 阅读 · 0 评论 -
Java构造器
Java的构造器并不是函数,所以他并不能被继承,这在我们extends的时候写子类的构造器是比较的常见,即使子类构造器参数和父类的完全一样,我们也要写super就是因为这个原因。 构造器的修饰符比较的有限,仅仅只有public private protected这三个,其他的例如任何修饰符都不能对其使用,也就是说构造器不允许被成名成抽象、同步、静态等等访问限制以外的形式。 因为构造器不是函数,所以...原创 2020-02-29 13:23:15 · 104 阅读 · 0 评论 -
abstract class和interface的区别
1、abstract class在Java语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。 2、在abstract class中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在 interface中一般不定义数据成员),所有的...原创 2020-02-19 22:49:26 · 4892 阅读 · 0 评论 -
一个简单下载文件功能的实现
1.通过输入流将下载文件读到Servlet里面 2.通过输出流将刚才转为输入流的文件输出给用户 package org.student.servlet; import java.io.IOException; import java.io.InputStream; import javax.servlet.ServletException; import javax.servlet.Servl...原创 2019-12-05 22:21:23 · 211 阅读 · 0 评论 -
一个简单上传文件功能的实现
导入commons-fileupload.jar和commons-io.jar两个包 package org.student.servlet; import java.io.File; import java.io.IOException; import java.util.Iterator; import java.util.List; import javax.servlet.Servl...原创 2019-12-05 21:37:36 · 351 阅读 · 0 评论