- 浏览: 175939 次
- 性别:
- 来自: 北京
-
最新评论
文章列表
sleep与wait的区别
- 博客分类:
- j2se基础
原地址:http://blog.csdn.net/shineflowers/article/details/40047479
① 这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。
sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep。
② 锁: 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。
下面程序答案
public class B
{
public static B t1 = new B();
public static B t2 = new B();
static
{
System.out.println("构造块");
}
{
System.out.println("静态块");
}
public static void main(String[] args)
{
B t = new B( ...
原博客:http://www.blogjava.net/santicom/archive/2011/09/01/357765.html
线程的状态与调度
1,线程的生命周期
线程从创建、运行到结束总是处于下面五个状态之一:新建状态、就绪状态、运行状态、阻塞状态及死亡状态。
1.新建状态(New): 当用new操作符创建一个线程时, 例如new Thread(r),线程还没有开始运行,此时线程处在新建状态。 当一个线程处于新生状态时,程序还没有开始运行线程中的代码 2.就绪状态(Runnable)
一个新 ...
1)调用super()必须写在子类构造方法的第一行,否则编译不通过。每个子类构造方法的第一条语句,都是隐含地调用super(),如果父类没有这种形式的构造函数,那么在编译的时候就会报错。
2)super()和this()类似,区别是,super从子类中调用父类的构造方法,this()在同一类内调用其它方法。
3)super()和this()均需放在构造方法内第一行。
4)尽管可以用this调用一个构造器,但却不能调用两个。
5)this和super不能同时出现在一个构造函数里面,因为this必然会调用其它的构造函数,其它的构造函数必然也会有super语句的存在,所以在同一个构造函数里面 ...
原博客地址:http://zengzhaozheng.blog.51cto.com/8219051/1379271
hadoop之MapReduce自定义二次排序流程实例详解
一、概述
MapReduce框架对处理结果的输出会根据key值进行默认的排序,这个默认排序可以满足一部分需求,但是也是十分有限的。在我们实际的需求当中,往往有要对reduce输出结果进行二次排序的需求。对于二次排序的实现,网络上已经有很多人分享过了,但是对二次排序的实现的原理以及整个MapReduce框架的处理流程的分析还是有非常大的出入,而且部分分析是没有经过验证的。本文将通过一个实 ...
Mybatis 中在传参时,$ 和# 的区别
- 博客分类:
- j2ee
原博客地址:http://blog.csdn.net/shaozengwei/article/details/17446247
MyBatis中使用parameterType向SQL语句传参,parameterType后的类型可以是基本类型int,String,HashMap和java自定义类型。
在SQL中引用这些参数的时候,可以使用两种方式#{parameterName}或者${parameterName},
首先,我们说一下这两种引用参数时的区别,使用#{parameterName}引用参数的时候,Mybatis会把这个参数认为是一个字符串,例如传入参数是“Smith ...
Java调优之jvm和线程的内存分析
- 博客分类:
- jvm
原博客:http://www.mzone.cc/article/321.html
Java调优之jvm和线程的内存分析
这几天因为自己开发的一个网站在768M内存的机器上撑不起100多个用户的运行,因为每个用户启用功能后,系统将为每个用 ...
storm消息机制保证ack 原理
- 博客分类:
- storm
storm会有一个ackbolt 不断计算top 每个spout,bolt task的msgid ,来确认调用act 方法还是fail方法 ;
如下示列
1.如下图
1.spout 向ackbolt 报上去的 rootId=T1^T2
2.bolt1 向ackbolt 报上去的 rootId=T1^T3^T4^T5
3.bolt2 向ackbolt 报上去的rootId=T2
4.bolt3 向ackbolt 报上去的rootId=T3^T4^T5
actbolt 算出来的这条消息的结果是T1^T2^T1^T3^T4^T5^T2^T3^T4^T5 如 ...
原博客:http://improve.iteye.com/blog/1570169
web.xml加载顺序与web.xml常用节点解析
web.xml加载顺序
应用服务器启动时web.xml加载过程,至于这些节点在xml文件中的前后顺序没有关系,不过有些应用服务器,我曾碰到过的 websphere就严格要求web.xml的节点顺序,否则部署不成功,所以还是赞成按照web.xml标准格式写content-param --> listener --> filter --> servlet
1、启动WEB项目的时候,应用服务器会去读它的配置文件web.xml.读两个 ...
原博客http://www.phpddt.com/db/mysql-index.html
Mysql索引概念:说说Mysql索引,看到一个很少比如:索引就好比一本书的目录,它会让你更快的找到内容,显然目录(索引)并不是越多越好,假如这本书1000页,有500也是目录,它当然效率低,目录是要占纸张的,而索引是要占磁盘空间的。Mysql索引主要有两种结构:B+树和hash.
hash:hsah索引在mysql比较少用,他以把数据的索引以hash形式组织起来,因此当查找某一条记录的时候,速度非常快.当时因为是hash结构,每个键只对应一个值,而且是散列的方式分布.所以他并不支持范围查找和排 ...
1->spark.storage.memoryFraction 默认内存40%运行task %60 存储
2->问题map|reduce数量大造成shuffle
小文件数目多default: shuffle文件数目为
spark.shuffle.consolidateFiles为true来合并中间文件数量
3-> 问题block not found
• 解决调整spark.cleaner.ttl。Rdd 过期时间
4-> 问题单条记录消耗大
•解决使用mapPartition替换map ...
hive 不以科学计数法输出,hive计数法输出
- 博客分类:
- hive
Hive中int , float , double这些数值类型在存储大额度数字时,在前端展现上总是使用科学计数法来表示,例如:
hive> select pow(10,8) from dual;
OK
1.0E8
其实无论是普通的表示方式还是科学计数法表示,只是一个习惯问题,结果都是一 ...
在做导入的时候,遇到了需要将map对象转化 成javabean的问题,也就是说,不清楚javabean的内部字段排列,只知道map的 key代表javabean的字段名,value代表值。
那现在就需要用转化工具了。是通用的哦!
首先来看 JavaBean 转化成Map的方法:
[java] view plaincopy
SparkStreaming源码全方位解析--
- 博客分类:
- spark
复制大牛的分析,因为他的博客在国内打不开http://guaver.info/spark-streaming-code-analysis/
SparkStreaming源码全方位解析
09 MARCH 2015
最近在做基于Kafka + Spark Streaming的实时计算,今天研究了下Spark Streaming源码,在此记录下。主要以WordCount为例,具体讲解Spark Streaming的实现细节。
从WordCount说起
一个最简单的基于Spark Streaming的WordCount,代码如下:
object SocketWordCount e ...