- 博客(26)
- 收藏
- 关注
转载 Hadoop原理汇总(一)——HDFS
摘要:本文主要对hadoop的原理性知识进行汇总,包括核心组件、HDFS存储原理、HDFS shell命令、HDFS Java端API、MapReduce基本原理、shuffle基本原理、sort过程等。原文:http://blog.csdn.net/u010255818/article/details/727308641 Hadoop核心组件生态系统图
2017-10-15 17:07:41 2485
转载 如何使用jstack分析线程状态
原文出处: 占小狼记得前段时间,同事说他们测试环境的服务器cpu使用率一直处于100%,本地又没有什么接口调用,为什么会这样?cpu使用率居高不下,自然是有某些线程一直占用着cpu资源,那又如何查看占用cpu较高的线程?当然一个正常的程序员不会写出上述代码,这里只是为了让一个线程占用较高的cpu资源。top命令在linux环境下,可以通过top命令查看各
2017-09-19 14:33:02 451
原创 代理及动态代理
接口public interface Subject { public void sell(); public void add();}实现类public class RealSubject implements Subject { @Override public void sell() { System.out.pr
2017-08-31 22:48:36 208
原创 Java集合框架之Map接口(上)
Map接口主要借助了hash的思想,以hash表键值对的形式存储,键用于hash定位,具有极高的效率。其接口主要实现类如下:Map├Hashtable(基本同hashMap,默认为11,只不过hashtable为线程安全的,不允许有null值,put, get 都加锁)├HashMap(Entry链表+数组,默认容量为16,负载因子为0.75;长度大于n*16*0.75则容量增大一
2017-05-08 22:54:19 293
原创 Java集合之List接口
List接口继承了Collection接口,其主要实现类如下所示:├List(在Collection接口的基础上新增加了一些方法)│├LinkedList (底层是链表实现)│├ArrayList (底层为对象数组,容量默认为10,扩容1.5,即每次增长原来的0.5倍)│ └Vector(底层为对象数组,容量默认为10,可按规定值扩容,默认为每次增长为原来的1倍)│ └Sta
2017-05-03 22:24:44 356
原创 Java集合概要
Java集合主要分为三种类型:Set、List 、Map,其中Set和List均实现了Collection接口,Map为单独的一类接口。其接口主要实现和继承关系如下:Collection├List│├LinkedList (底层是双向链表实现)│├ArrayList (底层为对象数组,容量默认为10,扩容1.5,即每次增长原来的0.5倍)│└Vector(底层为对象数
2017-05-01 22:00:58 272
原创 word导出时freeMarker转义字符的处理
根据ftl模板导出word时,如果填充的字符含有特殊字符、&,那么导出的word是无法打开的。因为这些字符在导出word时被认为是ftl的标签,正常导出后再打开是会报错。如果以xml的方式打开,会发现所有内容都是完整的,唯独上面三个特殊字符出问题。为了解决这个问题,首先我新建一个word,在里面填上上面三个特殊字符,然后保存为xml。在该xml中找到对应的字符,发现已经转义了 < 对应
2016-06-02 17:35:11 7524
原创 评审编号跳号问题
在做项目过程中遇到一个奇怪的需求,相关的申报成果在初审通过后还有复审,复审通过后给相关成果按组编号,编号不能跳号,要按照顺序来。按道理来说,复审通过后其编号就定了,需求方竟然说复审通过后还有可能退回,那么这个成果的编号是否保留就成了一个问题了。如果说退回的成果编号不保留,那么就存在跳号问题;如果退回的成果编号保留,那么需求方又不能保证这个成果一定能通过复审,也存在跳号问题。 先不谈需求
2016-06-02 17:18:39 630
原创 MySQL锁之表级锁
在MySQL中支持表级锁的主要有MyISAM存储引擎和InnoDB存储引擎,其中MyISAM存储引擎只支持表级锁,而InnoDB既支持表级锁也支持行级索。一般使用表级锁时使用MyISAM较多。MySQL的表级锁有两种模式:表共享读锁(Table Read Lock)和表独占写锁(Table Write Lock)。共享读锁也叫共享锁,某一事物读取数据时加锁,其他事物在读
2016-04-25 16:48:36 585
原创 MySQL锁
锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。本章我们着重讨论MySQL锁机制的特点,常见的锁问题,以及解决MySQL
2016-04-25 16:07:11 258
原创 equals和hashCode
equals 和hashCode方法都是Object类中的方法。 public boolean equals(Object obj) { return (this == obj); } public native int hashCode();equals方法在比较时,此处使用的是==,比较的引用(内存地址),当引用相同时则返回truehashCode使用的是ha
2016-04-24 16:16:46 224
转载 struts2中的constant配置详解
[html] view plain copyxml version="1.0" encoding="UTF-8"?> "http://struts.apache.org/dtds/struts-2.0.dtd"> struts> 提示:当设置该参数为GBK时,相当于调用HttpServletReques
2016-04-22 08:53:36 186
转载 源码剖析sun.misc.Unsafe && Compare And Swap(CAS)操作
原文链接: 点击打开链接转载自:http://blog.csdn.net/liupeng900605/article/details/7825286;特别感谢!首先介绍一下什么是Compare And Swap(CAS)?简单的说就是比较并交换。CAS 操作包含三个操作数 —— 内存位置(V)、预期原值(A)和新值(B)。如果内存位置的值与预期原值相匹配,那么处理器会自动将
2016-04-14 09:17:07 553
转载 指令流水线的吞吐率
假设一个四段流水线,取指段的时间为t,译码段的时间为t,取数段的时间为3t,执行段的时间为t。流水线示意图如下: 为了便于计算假设取指和译码段总是连续执行的。流水线执行n条指令时其执行过程的时空图如下图所示: 从图中不难看出,第一条指令的执行时间是6t;第二条指令在执行时停顿了两个周期,第二条指令的完成时间比第一条指令的完成
2016-03-26 19:52:44 694
原创 长度为n的整形数组,找出其中的任意n-1个数乘积最大的那一组
问题描述:长度为n的整形数组,找出其中的任意n-1个数乘机最大的那一组,可以用乘法,但不能用除法,要求对算法处理的 时间复杂度和空间复杂度做出分析。方法一: 首先能想到的一般方法就是暴力求解法。假设去掉第一个元素,求剩下n-1个乘积赋值给max,同时记录下下标index;然后假设第二个元素去掉,求剩下n-1个的乘积,若比前一个大则max等于当前值,index更新。重复此过程一直
2016-03-25 17:36:25 3117
原创 URL参数带中文的处理
在web开发过程中经常要传输带中文参数的url,而这些中文又解析成%D5%6E 的字符串。后台得到这些参数需要解析成中文的形式。先提供Tomcat自动解析的方案。tomcat的server.xml文件 <Connector port="9002" protocol="HTTP/1.1" connectionTimeout="20000"
2016-03-24 15:25:17 1160
转载 JVM工作原理
JVMJava 虚拟机 Java 虚拟机(Java virtual machine,JVM)是运行 Java 程序必不可少的机制。JVM实现了Java语言最重要的特征:即平台无关性。原理:编译后的 Java 程序指令并不直接在硬件系统的 CPU 上执行,而是由 JVM 执行。JVM屏蔽了与具体平台相关的信息,使Java语言编译程序只需要生成在JVM上运行的目标字节码(.class),就可以
2016-03-13 15:48:01 259
转载 最长重复子串
首先这是一个单字符串问题。子字符串R 在字符串L 中至少出现两次,则称R 是L 的重复子串。重复子串又分为可重叠重复子串和不可重叠重复子串,这里只是简单讨论最长可重叠的重复子串,给出基本算法和基于后缀数组的算法;关于后缀数组,这里也只是用最简单的形式实现,对于后缀数组的倍增算法和DC3算法的实现以及不可重叠重复子串的问题可参见算法合集之《后缀数组——处理字符串的有力工具》,以后再整理这几个问题。
2016-03-04 11:09:17 323
转载 JAVA中int、String的类型转换
int -> Stringint i=12345;String s="";第一种方法:s=i+"";第二种方法:s=String.valueOf(i);这两种方法有什么区别呢?作用是不是一样的呢?是不是在任何下都能互换呢?String -> ints="12345";int i;第一种方法:i=Integer.parse
2016-02-29 11:25:15 216
原创 Java字符串中“” , “ ”,和null的区别
null是一个空引用,它没有分配空间。“”是一个空字符串,它分配了内存空间,但是没有内容。“ ”是空格,占位符如果s=null,则一般可以用实例化给它分配空间,也可以赋予某个引用;如果s=“”,表示s是一个字符串,只是没有内容,可以把它视为String对象对待。 如果s =" "说明s中包含一个空格 String str =""
2016-02-29 11:11:28 479
原创 二叉树系列之二(遍历与查找)
遍历,查找、插入、删除1、遍历分为中序遍历(升序)、先序遍历和后序遍历 一般采用递归的方法: 、调用自身来遍历节点的左子树 、访问这个节点 、调用自身来遍历节点的右子树代码:/** * 中序遍历: * 1、调用自身来遍历节点的左子树 * 2、访问这个节点 * 3、调用自身来遍历节点的右子树
2016-02-28 15:31:55 303
原创 二叉树系列之一(基本概念)
为什么要使用二叉树? 它结合了有序数组和链表的优点,树的查找速度很有序数组一样快,插入和删除速度跟链表一样快。 有序数组中,查找快,删除很插入很慢(查找、后移) 链表中查找很慢(从头查找每一项),插入和删除很快满二叉树:除根节点和叶子节点外的其他节点都有两个子节点的二叉树完全二叉树:满二叉树从右边删除连续个叶子节点
2016-02-28 15:28:54 414
原创 Web容器初始化时获取bean的几种方法
在开发javaWeb系统时,有时需要在系统初始化时进行一些附带的初始化操作,此时我们需要通过Spring获取相应的bean对象,然后进行相应的初始化操作。现在总结如下几种在系统初始化时获取bean对象的方法一、通过获取WebApplicationContext直接得到beanpublic class Applicationar { public static WebApp
2016-02-23 09:39:23 2042
原创 strtusAction中的获取request
public abstract class BaseAction extends ActionSupport implements ServletRequestAware, SessionAware { protected HttpServletRequest request;// 请求的request对象 protected Map session;//se
2016-02-22 15:29:50 273
原创 spring数据源的几种配置
一、jndi java:comp/env/smas org.hibernate.dialect.Oracle10gDialect org.hibernate.hql.classic.ClassicQueryTranslatorFactory
2015-12-25 16:02:41 430
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人