自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

欢迎访问我的博客PandaWuu

你的付出,时光不会辜负

  • 博客(20)
  • 收藏
  • 关注

原创 JAVA集合:HashMap原理剖析

一、HashMap概述  HashMap基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了不同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。  值得注意的是HashMap不是线程安全的,如果想要线程安全的HashMap,可以通过Collec...

2018-08-23 16:43:41 246

转载 JAVA多线程和并发基础面试问答

  原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-answers/  多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(校对注:非常赞同这个观点)Ja...

2018-08-23 16:38:43 187

原创 使用JUC的forkjoin完成并发计算

当我们需要执行大量的小任务时,有经验的Java开发人员都会采用线程池来高效执行这些小任务。然而,有一种任务,例如,对超过1000万个元素的数组进行排序,这种任务本身可以并发执行,但如何拆解成小任务需要在任务执行的过程中动态拆分。这样,大任务可以拆成小任务,小任务还可以继续拆成更小的任务,最后把任务的结果汇总合并,得到最终结果,这种模型就是Fork/Join模型。Java7引入了Fork/Joi...

2018-08-23 14:17:43 334

原创 实现一个简单的SpringIoc容器

学习过Spring的同学都知道,Spring框架的核心就是IoC和AOP。Spring可以理解为一个工厂,负责对象的创建和对象间关系的维护。IoC即控制反转,简单点说就是原来的对象是在要使用之前通过在代码里通过new 的方式创建出来的而IOC的思想则是由spring容器创建同一创建(配置文件中注册bean对象),在程序要使用到该对象的时候,自动注入。(spring默认在web容器启动的时候就创建了...

2018-08-22 15:11:13 352

原创 手写一个简单的JAVA线程池

最近项目中用到了线程池,俗话说的好,了解他才能打败他,于是自己写了一个简单的线程池拿来实验1、线程接口,定义线程池中的主要的几个方法import java.util.List;/** * @Author: wuyaohua * @Description: 线程接口 * @Date: Created in 11:33 2018-08-21 */public interface...

2018-08-22 00:08:24 1440

原创 八种基本排序算法的JAVA实现

最近正好想复习一下数据结构与算法,于是手撸了一下基本的排序算法,代码注释都比较全,就不做过多解释了插入排序(直接插入、希尔排序、二分插入) 选择排序(直接选择、堆排序) 交换排序(冒泡排序、快速排序) 归并排序 1、直接插入import java.util.Arrays;/** * @Author: wuyaohua * @Description: * @Date: C...

2018-08-22 00:05:29 192

原创 Scala学习笔记(一):数据类型

1、大数据部分平台所用语言:    Hadoop: Java    Hive: Java    Storm: Clojure    Kafka: Scala    Spark: Scala    Flink: Scala2、Scala语言的特点:优雅、速度快、能够融入Hadoop生态圈3、声明变量:    使用val定义的变量值是不可变的(引用不可变,官方推荐使用)    ...

2018-08-14 22:14:10 212

原创 hadoop yarn日志报错以及如何启动聚合日志

我们在hadoop集群一般需要在工作台查看日志,但是工作台查看日志一般会出现以下情况:上面的原因是由于yarn的日志监控功能默认是处于关闭状态的,需要我们进行开启,开启步骤如下:一、在yarn-site.xml文件中添加日志监控支持该配置中添加下面的配置: <!-- 开启日志聚合 --> <property> ...

2018-08-14 20:36:30 1645

转载 CentOS7安装Anaconda和可视化界面

1.首先安装界面之前需要安装Anaconda,这里自己看自己想要哪个版本,我是装的高版本,能切换到低的版本wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.0.0-Linux-x86_64.sh2.然后我们需要安装一个插件 yum -y install bzip23.安装Anaconda...

2018-08-13 10:23:09 7740 5

原创 Linux常用命命令

linux系统文件结构/ 根目录/bin 存放必要的命令/boot 存放内核以及启动所需的文件/dev 存放设备文件/etc 存放系统配置文件/home 普通用户的宿主目录,用户数据存放在其主目录中lib 存放必要 的运行库/mnt 存放临时的映射文件系统,通常用来挂载使用/proc 存放存储进程和系统信息/root 超级用户的主目录/sbin 存放系统管...

2018-08-07 14:39:54 837

原创 CentOS7安装Redis并且设置开机启动

1. 首先下载redis源码,并使用tar进行解压缩wget http://download.redis.io/releases/redis-4.0.8.tar.gztar xvzf redis-4.0.8.tar.gz2.使用gcc进行编译make编译后的可执行文件在redis-4.0.8/src目录下3.使用root权限创建redis文件目录,并复制redis-...

2018-07-24 11:46:57 272

原创 初学MapReduce

推荐系统:    offline层:对海量数据离线计算。 MapReduce spark    Nearline层:利用流式处理对海量数据进行实时加工 storm    online 层:负责在线计算处理,相对简单的逻辑运算。WebPy。 一致性hash算法:为了解决因特网中的热点HostPot问题 最基本的海量数据思想:分而治之思想:按数据量划分。传统的hash:...

2018-07-23 15:11:27 186

原创 多线程之间的通信

一,介绍本总结我对于JAVA多线程中线程之间的通信方式的理解,主要以代码结合文字的方式来讨论线程间的通信,故摘抄了书中的一些示例代码。 二,线程间的通信方式①同步这里讲的同步是指多个线程通过synchronized关键字这种方式来实现线程间的通信。参考示例:public class MyObject { synchronized

2017-07-14 15:29:11 280

转载 编译时异常与运行时异常区别

一 什么是编译时异常,什么是运行时异常运行时异常可以通过改变程序避免这种情况发生,比如,除数为0异常,可以先判断除数是否是0,如果是0,则结束此程序。从继承上来看,只要是继承RunTimeException类的,都是运行时异常,其它为编译时异常。二编译时异常和运行时异常的区别使用抛出处理方式处理异常时,对于编译时异常,当函数内部有异常抛出,该函数必须声明,调用者

2017-07-14 15:02:16 982

原创 使用多线程和IO流编写文件复制功能类

CopyFile类package copyfile;import java.io.*;import java.text.DecimalFormat;/** * 文件复制类 * @author Administrator * */public class FileCopy extends Thread { private File src;//待读取的源文件

2017-07-14 11:39:18 703

转载 使用Maven创建SpringBoot

一.简介springBoot的理念是让你不需要在项目中进行大量的配置就能让项目快速运行起来。使用springBoot轻易的就可以创建一个独立运行的,基于spring准生产级别的框架项目,而不用或者很少的Spring配置。二.开发环境eclipse版本:4.6.1maven版本:3.3.3JDK版本:1.8.0_111SpringBoot版本:1.4.

2017-06-08 21:50:10 1513

原创 @RestController与@Controller的区别

1.两者的共同点都可以用来表示spring中的某个类可以接受http请求2.两者的区别@restcontroller为@controller和@responsebody的结合在@controller注解中,返回的是字符串,或者是字符串匹配的模板名称,即直接渲染视图,与html页面配合使用的,在这种情况下,前后端的配合要求比较高,java后端的代码要结合html的情况进行渲染

2017-06-08 18:37:27 658

转载 JAVA线程池应用的DEMO

在做很多高并发应用的时候,单线程的瓶颈已经满足不了我们的需求,此时使用多线程来提高处理速度已经是比较常规的方案了。在使用多线程的时候,我们可以使用线程池来管理我们的线程,至于使用线程池的优点就不多说了。Java线程池说起来也简单,简单说下继承关系: ThreadPoolExecutor extends AbstractExecutorService implements ExecutorS

2017-05-14 10:43:52 1346

转载 分布式集群系统下的高可用session解决方案

目前,为了使web能适应大规模的访问,需要实现应用的集群部署. 而实现集群部署首先要解决session的统一,即需要实现session的共享机制。 目前,在集群系统下实现session统一的有如下几种方案:(1) 应用服务器间的session复制共享(如tomcat session共享)(2) 基于cache DB缓存的session共享应用服务器间的session

2017-05-14 10:35:58 350

转载 精选30道Java笔试题解答

1. 下面哪些是Thread类的方法()A start()       B run()       C exit()       D getPriority()答案:ABD解析:看Java API docs吧:http://docs.oracle.com/javase/7/docs/api/,exit()是System类的方法,如System.exit(0)。 2. 下面关于j

2017-05-14 10:19:24 584

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除