- 浏览: 65404 次
- 性别:
- 来自: 北京
最新评论
-
qianruoluo:
坚持了4年,为什么不继续写啦,可惜
工作中遇到的Java语言基础问题 -
shidan66:
hanmiao 写道楼主的错误堆栈都没有贴完整。 嘿嘿,偷懒啦 ...
Hadoop执行job出错:java.lang.ClassCastException -
hanmiao:
楼主的错误堆栈都没有贴完整。
Hadoop执行job出错:java.lang.ClassCastException -
shidan66:
yuchenyun_1985 写道谢谢,高手,帮了我大忙了。 ...
java中验证php crypt函数生成的密码 -
yuchenyun_1985:
谢谢,高手,帮了我大忙了。
java中验证php crypt函数生成的密码
文章列表
工作中遇到的Java语言基础问题
- 博客分类:
- Java语言
本周工作中遇到了两个问题。
1.现有一个class A,里面有一个id字段,类型是长整形,现有两个A类型的对象a1,a2,根据id判断两个对象是否相等,id相等的两个对象认为是相等的,但是候使用啦==进行比较,测试的时候创建了两个对象,分别给ID赋予相同的值,结果两个对象是相等的,就认为没有问题啦。但是后来在测试运行了一段时间后发现结果有问题,有些对象ID是一样的,但是比较的结果却是不相等的,后来才注意到id的类型是Long而不是基本类型long,这样在比较的时候是比较两个对象的地址,由于Long中得LongCache影响,使得-128到127之间的数值是存在于缓冲池中得,进行比较时ID的 ...
MySQL最常用的两种引擎MyISAM和InnoDB:
①MyISAM不支持事务、外键等高级数据库功能
②MyISAM引擎对应的数据库文件结构为:一个表对应三个文件,分别为 tablename.frm(共有的),tablename.myd,tablename.myi,这三个文件分别存储的是表结构,表数据,索引
InnoDB引擎默认会将所有表的数据和索引都存在data目录下的ibdata1文件中,如果开启独立表空间,则会每个表创建一个对应的.ibd文件,来存储数据和索引,其他的信息则还是放到ibdata1文件中。
③MyISAM引擎使用表锁,InnoDB提供行锁,且提供不加锁读 ...
HTTP get post
- 博客分类:
- HTTP
HTTP协议中最常用的两个请求方法get、post
HTTP请求格式
<request-line>
<headers>
<blank-line>
[<request-body>]
<request-line> 的格式为 METHOD REQUEST-URI VERSION 回车换行符
headers 可以有多行,每行的格式为name:value1[,value2,...value n]后跟回车换行符
<blank-line>的作用是标示headers结束,此行只能有一个回车换行符
& ...
Spring MVC中使用@ResponseBody向客户端返回含有中文的文本内容的时候,可能会出现乱码,即使已经使用编码过滤器,也不能避免。主要原因是Spring MVC使用的MessageConverter默认使用的是ISO-8859-1编码。
public class StringHttpMessageConverter extends AbstractHttpMessageConverter<String> {
public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859 ...
使用Mybatis进行insert操作的时候,我们可能会需要得到刚插入的id,对于Mysql,理论上如下配置即可:
<insert id="insert" parameterType="cn.***.beans.LogObject" >
<!--
注意这里的order属性,对于mysql ...
我们知道,在Hadoop中作业运行的时候,Map的数量是由输入分片的数量决定的,但是分片的数量,并不是简单的按照文件的大小和blockSize的大小来切分的,分片的数量其实也是经过一系列的计算得到的,我们常用的InputFormat很多都是继承自FileInputFormat,该类时个抽象类,但是其中的getSplits方法是有完整的实现的,如果我们没有刻意去覆盖的话,也是会按照该方法中的逻辑来得到分片的,下面对该方法中的代码进行分析:
public List<InputSplit> getSplits(JobContext job) throws IOExc ...
最近学习Hadoop,遇到一个问题,在eclipse中写完MapReduce之后如何在Hadoop中运行呢,常见的做法是将程序打成一个Jar包,然后传到hadoop集群中,通过命令行$HADOOP_HOME/bin/hadoop jar命令来运行,但是每次都要这样,十分麻烦。
当然,也可以在eclipse中安装hadoop的插件,可以方便的run on hadoop来运行。但是我们可以看到,client端的代码常见形式是在main方法中创建Configuration对象和job对象,具体代码如下
Configuration conf = new Con ...
写完回头看看,发现好像有点儿乱,对不住各位看官啦,限于个人水平,有错误的地方请大家予以回复纠正。
环境:主机WIN7+Eclipse4.3,hadoop源码已导入eclipse,虚拟机中运行Ubuntu13.04,伪分布式模式运行hadoop。在eclipse中调试wordcount,为了防止出现Failed to set permissions of path的异常,将org.apache.hadoop.fs.FileUtil类中checkReturnValue方法中的源码注释掉!注意:在主机eclipse中调试,实际上是使用单机模式跑job,与分布式环境的作业运行流程不完全相同, ...
在虚拟机中搭建了一个伪分布式的hadoop环境,基于ubuntu13.04,可以在命令行中通过hadoop jar运行自带wordcount。另外,主机运行的是win7+eclipse4.3,已将hadoop的源码导入eclipse,并且eclipse的hadoop插件也已经编译安装好了,但是在主机的eclipse中run on hadoop运行wordcount,却总是报一个异常
java.io.IOException: Failed to set permissions of path: \XX..XX\.staging to 0700
at org.ap ...
运行job的时候出现以下异常:
java.lang.ClassCastException: class com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$Text
at java.lang.Class.asSubclass(Class.java:3116)
at org.apache.hadoop.mapred.JobConf.getOutputKeyComparator(JobConf.java:795)
at org.apache.hadoop.mapre ...
Hadoop的web管理页面打不开
- 博客分类:
- hadoop
问题描述:配置好hadoop并启动后,可以正常使用hdfs和mapreduce,但是不能打开Namenode和Jobtracker的web管理界面,错误代码404。
原因:该问题很有可能是由于HADOOP_HOME下面存在build文件夹引起的,将其改名后重启,问题解决。当编译过hadoop后,会生成一个build目录,仔细看hadoop的启动脚本会发现,如果build文件夹中有webapps等目录,则启动时会把该目录加入到CLASSPATH中,详见$HADOOP_HOME/bin/hadoop文件中的
if [ -d "$HADOOP_HOME ...
Win7+Chrome30,网页中的视频文件缓存路径:
C:\Users\用户名\AppData\Local\Google\Chrome\User Data\Default\Cache
问题描述win7 32bit+cygwin ,安装好ssh后能正常开启sshd服务,ssh hostname正常,但是ssh localhost出现 ssh_exchange_identification: Connection closed by remote host,
网上有解决办法,http://blog.csdn.net/franklysun/article/details/6412295
还有的说修改/etc/host.allow,/etc/host.deny,应该是linux下面出现这种问题的解决办法之一,由于我用的cygwin,根本没有这两个文件, ...
最近做的一个项目,想要使用公司的OA账户,但是OA系统是php语言开发的,首先要解决的就是如何在java中做密码校验,而OA系统使用的是php crypt()函数加密,刚开始想着通过相同的算法,生成密文,然后再与数据库中存的密文做比较就可以了。但是,查了php crypt()函数的文档: 也就是说需要知道salt以及相应的加密方式才能生成密文,跟OA开发方联系,懂的人不回信,回信的人又不懂,只说使用crypt加密,salt都不知道,说问问别人再回复,顿时感觉没指望啦,果不其然,一下班立马联系不上啦,关键时刻还得靠自己啊,谷哥度娘一起上,从网上下了一份老版本的源 ...
DEBUG 中的T、P、G都是用来执行代码的,但是用法有所不同,今天在网上看到有人对这几个命令的讲解,觉得容易理解多了,这里记录一下:
T命令
单步执行,每次只执行一条代码语句,遇到子程序后进入子程序逐条执行代码,可以理解为step into
P命令
类似T命令,不过遇到子程序调用的时候直接执行完子程序代码,不会进入子程序逐条执行,可以理解为step over。另外,在遇到循环指令时,会直接执行到CX=0。
G命令
该命令后面可以跟地址和断点,即格式为 g [=address] [breakpoints],运行到内存指定 ...