04 2016 档案

摘要:一. 注解 1. scala的注解 (1)scala注解语法和java相同。eg:@Test def testfun(){} (2)scala编译器会对源代码的注解进行处理。eg:@BeanProperty产生setter与getter方法。而java编译器不会对注解产生新字节码的编译,仅仅是在字节 阅读全文
posted @ 2016-04-28 18:27 lj72808up 阅读(135) 评论(0) 推荐(0)
摘要:一. Map 1. 对偶 (1)对偶是一个映射。多个对偶形成map (2)对偶的表示:(k,v)或者k v 2. Map(哈希类型) (1)map的声明与查询 (2)immutable map的插入,删除映射 【注】:对于不可便map来说,添加对偶形成新map,不会把原有的对偶复制一遍,而是指向原来 阅读全文
posted @ 2016-04-25 15:20 lj72808up 阅读(236) 评论(0) 推荐(0)
摘要:一. MappedByteBuffer 1. java把文件映射到内存中,避免堆内存产生大对象引起full gc。mappedByteBuffer的读写速度都要超过堆内读写文件的速度 阅读全文
posted @ 2016-04-22 17:58 lj72808up 阅读(2649) 评论(0) 推荐(0)
摘要:一. 数组声明 1. 定长数组 2. ArrayBuffer 二. 数组的操作 1. 遍历 3. sum,max,sortWith,mkString 4. 多维数组 5. scala的ArrayBuffer和java的ArrayList转换 阅读全文
posted @ 2016-04-22 14:42 lj72808up 阅读(345) 评论(0) 推荐(0)
摘要:1. 对象的apply方法 (1)对象调用apply()方法,可省略成() (2)string对象的apply方法返回第n个字符 2. if语句的返回值 java把语句和表达式看做2个东西,语句执行动作,表达式返回值。eg:if语句没有返回值。而scala中,大部分的语法结构都有返回值。 (1)if 阅读全文
posted @ 2016-04-21 16:59 lj72808up 阅读(150) 评论(0) 推荐(0)
摘要:一. 更好的switch:match 1. match匹配任何类型 【注】: (1)与java不同,match中的每个case语句,不需要显示的声明break,不用担心“跳入下一个分支” (2)如果未声明case _ 来匹配任一选项,则会抛出MatchError异常 (3) 与if类似,match是 阅读全文
posted @ 2016-04-19 17:25 lj72808up 阅读(336) 评论(0) 推荐(0)
摘要:一.算法相关的数学公式 1. 换底公式:$\log_AB=\frac{\log_cB}{\log_CA}$ 证明:设$z=\log_AB, x=\log_cB,y=\log_CA$,则$A^Z=B,C^X=B,C^Y=A = {C^Y}^Z=C^X= YZ=X,$所以$z=\frac{X}{Y}$, 阅读全文
posted @ 2016-04-18 11:29 lj72808up 阅读(285) 评论(0) 推荐(0)
摘要:一.函数式编程中函数的特点 1. 可以创建匿名函数 def声明带名函数,val声明匿名函数 2. 函数和数字一样,可以作为参数被传递和操作 3. 声明以函数为参数的函数 以函数为参数时,要给出函数名,参数类型,返回值类型,作为算法的约束条件。eg:f:(Double)= Double 以函数为参数的 阅读全文
posted @ 2016-04-10 23:30 lj72808up 阅读(310) 评论(0) 推荐(0)
摘要:```java public class Test{ public static void main(String[] args){ ExecutorService pool = Executors.newFixedThreadPool(4); BlockingQueue queue = new LinkedBlockingQueue(); ... 阅读全文
posted @ 2016-04-06 14:28 lj72808up 阅读(630) 评论(0) 推荐(0)
摘要:1. 确定合适的map个数 map个数 = max[ \${maperd.min.split.size}, min( \${dfs.block.size} , \${mapred.max.split.size} )] maperd.min.split.size:splt最小分片,默认1B mapre 阅读全文
posted @ 2016-04-04 22:56 lj72808up 阅读(366) 评论(0) 推荐(0)
摘要:一. 使用jmx让远程工具连接java进程 开启jmx: 1. 无需验证的配置: Dcom.sun.management.jmxremote Dcom.sun.management.jmxremote.authenticate=false Dcom.sun.management.jmxremote. 阅读全文
posted @ 2016-04-03 08:49 lj72808up 阅读(162) 评论(0) 推荐(0)
摘要:一. 判断对象已死的方法 1. 引用计数法 (1)思路:给对象添加一个计数器,每当一个地方引用它,计数器就+1,当一个引用失效,计数器 1. 计数器值为0的对象,背叛定位已死对象 (2)缺点:引用计数器无法处理处理互相引用的问题。当两个对象互相引用时,即使这两个对象被置为null,但是由于互相引用着 阅读全文
posted @ 2016-04-03 01:02 lj72808up 阅读(292) 评论(0) 推荐(0)
摘要:一.JVM的出现 1. JVM将字节码解释成不同os下的机器指令,有了jvm,java语言在不同平台上运行时不需要重新编译 2. 虚拟机发展史 (1)Sun Classic 1. classic jvm要么采用纯解释器解释执行,要么采用JIT编译执行,一旦JIT进行编译执行,则解释器不再生效 2. 阅读全文
posted @ 2016-04-02 22:20 lj72808up 阅读(775) 评论(0) 推荐(0)
摘要:一. yarn的资源分配模型 无论先进先出调度器,容量调度器,还是公平调度器,他们的核心:资源分配模型是一样的。 1. 调度器维护着多个队列的信息,用户可以向任意一个或多个队列提交job。每次NodeManager向ResourceManager发送心跳时,调度器都会选择一个队列,再在队列上选择一个 阅读全文
posted @ 2016-04-01 13:17 lj72808up 阅读(2960) 评论(0) 推荐(0)