> x <- data.frame(v1=1:5,v2=6:10,v3=11:15) > x v1 v2 v3 1 1 6 11 2 2 7 12 3 3 8 13 4 4 9 14 5 5 10 15 > x$v3[c(2,4)] <- NA > x v1 v2 v3 1 1 6 11 2 2 7 NA 3 3 8 13 4 4 9 NA 5 5 10 15 > #找出第2列 > x[,2] [1] 6 7 8 9 10 > x[,"v2"] [1] 6 7 8 9 10 > x[
3-3 SQL Server 2005数据库优化 了解数据库引擎优化顾问基本内容 掌握数据库引擎优化顾问的使用 掌握通过命令行的方式进行索引的优化——DTA 一个数据库系统的性能依赖于组成这些系统的数据库中物理设计结构的有效配置
Apache Dubbo是一款高性能的 Java RPC 框架。其前身是阿里巴巴公司开源的一个高性能、轻量级的开源 Java RPC框架,可以和 Spring 框架无缝集成。 现在是jar包可以直接通过java命令运行。 控制台安装步骤 1. 命令运行 java -jar 对应的jar包 java -jar . JDK中的SPI Java中如果想要使用SPI功能,先提供标准服务接口,然后再提供相关接口实现和调用者。这样就可以通过SPI机制中约定好的信息进行查询相应的接口实现。 第四部分: Dubbo 源码分析 Dubbo的整体设计 服务注册与发现的源码分析 作业 编程题一:将Web请求 IP 透传到 Dubbo 服务中 通过扩展Dubbo的Filter(TransportIPFilter
最大公因子,指两个或多个整数共有约数中最大的一个 private static int gc(int a, int b) { if(b==0){ return a; } if(a<b){ int temp=a; a=b; b=temp; } return gc(b,a%b); }
[root@node1 ~]# ansible ha -m shell -a 'service NetworkManager stop'
本系列是《玩转机器学习教程》一个整理的视频笔记。本小节主要介绍NumPy模块的一些基础知识。
在制作网页时,我们必不可少地会使用css。那么webpack是如何打包css文件的呢?
Java ArrayList 源码 ArrayList 概述 ArrayList 是基于数组实现,是一个动态数组,容量可以自动增长,动态增加内存。
ArrayList 源码分析 package Note.cistern; import java.util.ArrayList; public class ArrayListDemo { public
Life is not a ridiculous number of life, the meaning of life lies in life itself HashMap源码 散列集 数组和链表可以保持元素插入的顺序 散列集(hash table)可以说是数组与链表的组合, 往散列集中添加元素时,通过hash函数可以得到一个该元素的一个哈希值,Java中哈希值的范围在-2147483648~2147483647之间 不能直接使用hashCode,因为它的范围将近40亿,不可能有这么大的数组空间,所以需要对hashCode值做一定的处理,使之在数组容量范围内,最简单的办法是对数组容量取余,但取余有效率问题,所以Java 就一定存在运算后得到同样索引值的情况,称为哈希碰撞,解决哈希碰撞有两种方法:开放地址法和拉链法 ,开放地址法是指如果当前的数组已经有元素了,就通过别的算法算出一个新位置插入,像python中dict的实现就使用了开放地址法;而Java >> 4); } static int indexFor(int h, int length) { return h & (length-1); } 出于性能的考虑,在获得最终的index时,Java
介绍:重写了一遍扫雷,代码更加规范,修复了一些小bug,优化了部分代码的算法,将各等级英雄榜独立
代码清单3-3 for(answer[0] = 0; answer[0] < total[number[0]]; answer[0]++) for(answer[1] = 0; answer
ArrayList源码剖析 ArrayList的源码如下(加入了比较详细的注释): [java] view plaincopy package java.util; 它有很多个重载的方法,但实现思路都是一样的,我们来看泛型版本的源码: [java] view plaincopy public static <T> T[] copyOf(T[] original 该方法被标记了native,调用了系统的C/C++代码,在JDK中是看不到的,但在openJDK中可以看到其源码。 该方法可以直接将ArrayList转换得到的Array进行整体向下转型(转型其实是在该方法的源码中实现的),且从该方法的源码中可以看出,参数a的大小不足时,内部会调用Arrays.copyOf方法,该方法内部创建一个新的数组返回 6、在查找给定元素索引值等的方法中,源码都将该元素的值分为null和不为null两种情况处理,ArrayList中允许元素为null。
今天我要分享的是java里面比较常见的数据结构队列的源码分析,队列,先进先出模式,即FIFO的特点,日常生活中队列的特点也随处可见,超市购物排队,餐厅排队买饭等一系列都满足了队列的先进先出的特点,java 也不是,主要是之前我自己分析了ArrayList,LinkedList以及Stack的源码文章了,到这里就理所应当的应该分析队列的这种数据结构了,满足一下学生时代心心念的数据结构吧。 关于读源码,如何进行梳理整个过程,每个人都有着自己的一套,在这里我就以自己的一套来进行分析好了。 ,写到了内存空间的分配的字样,想到了自己学习c语言的模样,那个拿着大部书《C语言程序设计》前往机房的少年,由于兴趣使然,逐渐走上了javaWeb的开发了,不过这里说明一点,学习c语言对于你理解高级语言java 何况java作为一门高级语言呢,顺势而为成就了这个语言令人喜欢的特点吧。 四,队列既然有入队,想必就会想到队列出队的方法,即poll方法,接下来我们继续看下队列出队的方法时间吧。
文本文件是我们接触频繁的一类文件,记事本程序经常操作的文件就是文本文件,很多应用程序会保存一些记录到日志文件里,这种日志文件也可以是文本文件。通过本小节的学习,可以掌握对文本文件的简单读写方法。
ArrayList源码剖析 ArrayList的源码如下(加入了比较详细的注释): package java.util; public class ArrayList<E> extends 该方法被标记了native,调用了系统的C/C++代码,在JDK中是看不到的,但在openJDK中可以看到其源码。 Java强烈推荐在复制大量数组元素时用该方法,以取得更高的效率。 4、注意ArrayList的两个转化为静态数组的toArray方法。 第一个,Object[] toArray()方法。 该方法可以直接将ArrayList转换得到的Array进行整体向下转型(转型其实是在该方法的源码中实现的),且从该方法的源码中可以看出,参数a的大小不足时,内部会调用Arrays.copyOf方法,该方法内部创建一个新的数组返回 6、在查找给定元素索引值等的方法中,源码都将该元素的值分为null和不为null两种情况处理,ArrayList中允许元素为null。
系列文章: 【Java 试题】从一道题目再看 Java 继承 一 背景 AQS 即 AbstractQueuedSynchronizer,是 java.util.concurrent.locks 包的一个重要概念 Java 中锁实现/同步的几种方式:synchronized,ReentrantLock,CAS。 因此,理解 AQS 的实现原理,对 Java 锁理解非常重要。本篇将结合 JDK1.8 源码,对 AQS 进行分析。 public abstract class AbstractQueuedSynchronizer extends AbstractOwnableSynchronizer implements java.io.Serializable 通过源码可见一斑: /** * The current owner of exclusive mode synchronization. */ private transient
1、源码分析 废话不多说,直接上代码,相关解释请参见注释 package java.util; /** * * @param <E> the type of elements maintained HashMap * @since 1.2 */ public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.Serializable s) throws java.io.IOException { // Write out any hidden serialization magic s) throws java.io.IOException, ClassNotFoundException { // Read in any hidden serialization 通过源码可知,HashSet实际上由HashMap支持实现。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。
前言 Java 8 的 Stream 使得代码更加简洁易懂,本篇文章深入分析 Java Stream 的工作原理,并探讨 Steam 的性能问题。 image 源码结构 Stream 相关类和接口的继承关系如下图所示: ? java.util.stream.StreamSupport#stream(java.util.Spliterator<T>, boolean) public static <T> Stream<T> image 对于第二个元素“java”,predicate.test 会返回 true(字符串“java”的长度<=4),则会进入 map 的 accept 方法。 ? GC的行为是Java中很不好控制的一块,为增加确定性,我们手动指定使用CMS收集器,并使用10GB固定大小的堆内存。
参考链接: Java HashMap 一、什么是Map 根据Map源码上的注释可以得到: 1.Map是一个接口,他是key-value的键值对,一个map不能包含重复的key,并且每一个 volatile int modCount; 2.HashMap的Entry实体 HashMap存储的对象是一个Entry实体,Entry是HashMap中的一个静态内部类,在HashMap类中的源码为